{
    "content": [
        {
            "type": "text",
            "text": "# _py_abc (pydoc)\n\n**Summary:** pyabc\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **MODULE REFERENCE** (8 lines)\n- **CLASSES** (3 lines) — 1 subsections\n  - class ABCMeta (120 lines)\n- **FUNCTIONS** (1 lines) — 1 subsections\n  - get_cache_token (6 lines)\n- **FILE** (3 lines)\n\n## Full Content\n\n### NAME\n\npyabc\n\n### MODULE REFERENCE\n\nhttps://docs.python.org/3.10/library/pyabc.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### CLASSES\n\nbuiltins.type(builtins.object)\nABCMeta\n\n#### class ABCMeta\n\n|  ABCMeta(name, bases, namespace, /, kwargs)\n|\n|  Metaclass for defining Abstract Base Classes (ABCs).\n|\n|  Use this metaclass to create an ABC.  An ABC can be subclassed\n|  directly, and then acts as a mix-in class.  You can also register\n|  unrelated concrete classes (even built-in classes) and unrelated\n|  ABCs as 'virtual subclasses' -- these and their descendants will\n|  be considered subclasses of the registering ABC by the built-in\n|  issubclass() function, but the registering ABC won't show up in\n|  their MRO (Method Resolution Order) nor will method\n|  implementations defined by the registering ABC be callable (not\n|  even via super()).\n|\n|  Method resolution order:\n|      ABCMeta\n|      builtins.type\n|      builtins.object\n|\n|  Methods defined here:\n|\n|  instancecheck(cls, instance)\n|      Override for isinstance(instance, cls).\n|\n|  subclasscheck(cls, subclass)\n|      Override for issubclass(subclass, cls).\n|\n|  register(cls, subclass)\n|      Register a virtual subclass of an ABC.\n|\n|      Returns the subclass, to allow usage as a class decorator.\n|\n|  ----------------------------------------------------------------------\n|  Static methods defined here:\n|\n|  new(mcls, name, bases, namespace, /, kwargs)\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data and other attributes defined here:\n|\n|  annotations = {}\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.type:\n|\n|  call(self, /, *args, kwargs)\n|      Call self as a function.\n|\n|  delattr(self, name, /)\n|      Implement delattr(self, name).\n|\n|  dir(self, /)\n|      Specialized dir implementation for types.\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  init(self, /, *args, kwargs)\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  or(self, value, /)\n|      Return self|value.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  ror(self, value, /)\n|      Return value|self.\n|\n|  setattr(self, name, value, /)\n|      Implement setattr(self, name, value).\n|\n|  sizeof(self, /)\n|      Return memory consumption of the type object.\n|\n|  subclasses(self, /)\n|      Return a list of immediate subclasses.\n|\n|  mro(self, /)\n|      Return a type's method resolution order.\n|\n|  ----------------------------------------------------------------------\n|  Class methods inherited from builtins.type:\n|\n|  prepare(...) from builtins.type\n|      prepare() -> dict\n|      used to create the namespace for the class statement\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors inherited from builtins.type:\n|\n|  abstractmethods\n|\n|  dict\n|\n|  textsignature\n|\n|  ----------------------------------------------------------------------\n|  Data and other attributes inherited from builtins.type:\n|\n|  base = <class 'type'>\n|      type(object) -> the object's type\n|      type(name, bases, dict, kwds) -> a new type\n|\n|\n|  bases = (<class 'type'>,)\n|\n|  basicsize = 888\n|\n|  dictoffset = 264\n|\n|  flags = 2148029952\n|\n|  itemsize = 40\n|\n|  mro = (<class 'pyabc.ABCMeta'>, <class 'type'>, <class 'object'>...\n|\n|  weakrefoffset = 368\n\n### FUNCTIONS\n\n#### get_cache_token\n\nReturns the current ABC cache token.\n\nThe token is an opaque object (supporting equality testing) identifying the\ncurrent version of the ABC cache for virtual subclasses. The token changes\nwith every call to ``register()`` on any ABC.\n\n### FILE\n\n/usr/lib/python3.10/pyabc.py\n\n"
        }
    ],
    "structuredContent": {
        "command": "_py_abc",
        "section": "",
        "mode": "pydoc",
        "summary": "pyabc",
        "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": "CLASSES",
                "lines": 3,
                "subsections": [
                    {
                        "name": "class ABCMeta",
                        "lines": 120
                    }
                ]
            },
            {
                "name": "FUNCTIONS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "get_cache_token",
                        "lines": 6
                    }
                ]
            },
            {
                "name": "FILE",
                "lines": 3,
                "subsections": []
            }
        ]
    }
}