{
    "content": [
        {
            "type": "text",
            "text": "# tabnanny (pydoc)\n\n**Summary:** tabnanny - The Tab Nanny despises ambiguous indentation.  She knows no mercy.\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **MODULE REFERENCE** (8 lines)\n- **DESCRIPTION** (4 lines) — 1 subsections\n  - check (3 lines)\n- **CLASSES** (3 lines) — 1 subsections\n  - class NannyNag (78 lines)\n- **FUNCTIONS** (1 lines) — 2 subsections\n  - check (8 lines)\n  - process_tokens (1 lines)\n- **DATA** (2 lines)\n- **VERSION** (2 lines)\n- **FILE** (3 lines)\n\n## Full Content\n\n### NAME\n\ntabnanny - The Tab Nanny despises ambiguous indentation.  She knows no mercy.\n\n### MODULE REFERENCE\n\nhttps://docs.python.org/3.10/library/tabnanny.html\n\nThe following documentation is automatically generated from the Python\nsource files.  It may be incomplete, incorrect or include features that\nare considered implementation detail and may vary between Python\nimplementations.  When in doubt, consult the module reference at the\nlocation listed above.\n\n### DESCRIPTION\n\ntabnanny -- Detection of ambiguous indentation\n\nFor the time being this module is intended to be called as a script.\nHowever it is possible to import it into an IDE and use the function\n\n#### check\n\nWarning: The API provided by this module is likely to change in future\nreleases; such changes may not be backward compatible.\n\n### CLASSES\n\nbuiltins.Exception(builtins.BaseException)\nNannyNag\n\n#### class NannyNag\n\n|  NannyNag(lineno, msg, line)\n|\n|  Raised by processtokens() if detecting an ambiguous indent.\n|  Captured and handled in check().\n|\n|  Method resolution order:\n|      NannyNag\n|      builtins.Exception\n|      builtins.BaseException\n|      builtins.object\n|\n|  Methods defined here:\n|\n|  init(self, lineno, msg, line)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  getline(self)\n|\n|  getlineno(self)\n|\n|  getmsg(self)\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  weakref\n|      list of weak references to the object (if defined)\n|\n|  ----------------------------------------------------------------------\n|  Static methods inherited from builtins.Exception:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.BaseException:\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  setstate(...)\n|\n|  str(self, /)\n|      Return str(self).\n|\n|  withtraceback(...)\n|      Exception.withtraceback(tb) --\n|      set self.traceback to tb and return self.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.BaseException:\n|\n|  cause\n|      exception cause\n|\n|  context\n|      exception context\n|\n|  dict\n|\n|  suppresscontext\n|\n|  traceback\n|\n|  args\n\n### FUNCTIONS\n\n#### check\n\ncheck(fileordir)\n\nIf fileordir is a directory and not a symbolic link, then recursively\ndescend the directory tree named by fileordir, checking all .py files\nalong the way. If fileordir is an ordinary Python source file, it is\nchecked for whitespace related problems. The diagnostic messages are\nwritten to standard output using the print statement.\n\n#### process_tokens\n\n### DATA\n\nall = ['check', 'NannyNag', 'processtokens']\n\n### VERSION\n\n6\n\n### FILE\n\n/usr/lib/python3.10/tabnanny.py\n\n"
        }
    ],
    "structuredContent": {
        "command": "tabnanny",
        "section": "",
        "mode": "pydoc",
        "summary": "tabnanny - The Tab Nanny despises ambiguous indentation.  She knows no mercy.",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "MODULE REFERENCE",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 4,
                "subsections": [
                    {
                        "name": "check",
                        "lines": 3
                    }
                ]
            },
            {
                "name": "CLASSES",
                "lines": 3,
                "subsections": [
                    {
                        "name": "class NannyNag",
                        "lines": 78
                    }
                ]
            },
            {
                "name": "FUNCTIONS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "check",
                        "lines": 8
                    },
                    {
                        "name": "process_tokens",
                        "lines": 1
                    }
                ]
            },
            {
                "name": "DATA",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "VERSION",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "FILE",
                "lines": 3,
                "subsections": []
            }
        ]
    }
}