{
    "content": [
        {
            "type": "text",
            "text": "# zipp (pydoc)\n\n**Summary:** zipp - # coding: utf-8\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **CLASSES** (4 lines) — 2 subsections\n  - class Path (109 lines)\n  - class SanitizedNames (15 lines)\n- **DATA** (2 lines)\n- **FILE** (3 lines)\n\n## Full Content\n\n### NAME\n\nzipp - # coding: utf-8\n\n### CLASSES\n\nbuiltins.object\nPath\nSanitizedNames\n\n#### class Path\n\n|  Path(root, at='')\n|\n|  A pathlib-compatible interface for zip files.\n|\n|  Consider a zip file with this structure::\n|\n|      .\n|      ├── a.txt\n|      └── b\n|          ├── c.txt\n|          └── d\n|              └── e.txt\n|\n|  >>> data = io.BytesIO()\n|  >>> zf = zipfile.ZipFile(data, 'w')\n|  >>> zf.writestr('a.txt', 'content of a')\n|  >>> zf.writestr('b/c.txt', 'content of c')\n|  >>> zf.writestr('b/d/e.txt', 'content of e')\n|  >>> zf.filename = 'abcde.zip'\n|\n|  Path accepts the zipfile object itself or a filename\n|\n|  >>> root = Path(zf)\n|\n|  From there, several path operations are available.\n|\n|  Directory iteration (including the zip file itself):\n|\n|  >>> a, b = root.iterdir()\n|  >>> a\n|  Path('abcde.zip', 'a.txt')\n|  >>> b\n|  Path('abcde.zip', 'b/')\n|\n|  name property:\n|\n|  >>> b.name\n|  'b'\n|\n|  join with divide operator:\n|\n|  >>> c = b / 'c.txt'\n|  >>> c\n|  Path('abcde.zip', 'b/c.txt')\n|  >>> c.name\n|  'c.txt'\n|\n|  Read text:\n|\n|  >>> c.readtext()\n|  'content of c'\n|\n|  existence:\n|\n|  >>> c.exists()\n|  True\n|  >>> (b / 'missing.txt').exists()\n|  False\n|\n|  Coercion to string:\n|\n|  >>> str(c)\n|  'abcde.zip/b/c.txt'\n|\n|  Methods defined here:\n|\n|  init(self, root, at='')\n|      Initialize self.  See help(type(self)) for accurate signature.\n|\n|  repr(self)\n|      Return repr(self).\n|\n|  str(self)\n|      Return str(self).\n|\n|  truediv = joinpath(self, add)\n|\n|  exists(self)\n|\n|  isdir(self)\n|\n|  isfile(self)\n|\n|  iterdir(self)\n|\n|  joinpath(self, add)\n|\n|  readbytes(self)\n|\n|  readtext(self, *args, kwargs)\n|\n|  ----------------------------------------------------------------------\n|  Readonly properties defined here:\n|\n|  name\n|\n|  open\n|\n|  parent\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  dict\n|      dictionary for instance variables (if defined)\n|\n|  weakref\n|      list of weak references to the object (if defined)\n\n#### class SanitizedNames\n\n|  ZipFile mix-in to ensure names are sanitized.\n|\n|  Methods defined here:\n|\n|  namelist(self)\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  dict\n|      dictionary for instance variables (if defined)\n|\n|  weakref\n|      list of weak references to the object (if defined)\n\n### DATA\n\ndivision = Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 1310...\n\n### FILE\n\n/usr/lib/python3/dist-packages/zipp.py\n\n"
        }
    ],
    "structuredContent": {
        "command": "zipp",
        "section": "",
        "mode": "pydoc",
        "summary": "zipp - # coding: utf-8",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "CLASSES",
                "lines": 4,
                "subsections": [
                    {
                        "name": "class Path",
                        "lines": 109
                    },
                    {
                        "name": "class SanitizedNames",
                        "lines": 15
                    }
                ]
            },
            {
                "name": "DATA",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "FILE",
                "lines": 3,
                "subsections": []
            }
        ]
    }
}