{
    "content": [
        {
            "type": "text",
            "text": "# grp (pydoc)\n\n**Summary:** grp - Access to the Unix group database.\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **DESCRIPTION** (13 lines)\n- **CLASSES** (3 lines) — 1 subsections\n  - class struct_group (117 lines)\n- **FUNCTIONS** (1 lines) — 3 subsections\n  - getgrall (5 lines)\n  - getgrgid (4 lines)\n  - getgrnam (4 lines)\n- **FILE** (3 lines)\n\n## Full Content\n\n### NAME\n\ngrp - Access to the Unix group database.\n\n### DESCRIPTION\n\nGroup entries are reported as 4-tuples containing the following fields\nfrom the group database, in order:\n\ngrname   - name of the group\ngrpasswd - group password (encrypted); often empty\ngrgid    - numeric ID of the group\ngrmem    - list of members\n\nThe gid is an integer, name and password are strings.  (Note that most\nusers are not explicitly listed as members of the groups they are in\naccording to the password database.  Check both databases to get\ncomplete membership information.)\n\n### CLASSES\n\nbuiltins.tuple(builtins.object)\nstructgroup\n\n#### class struct_group\n\n|  structgroup(iterable=(), /)\n|\n|  grp.structgroup: Results from getgr*() routines.\n|\n|  This object may be accessed either as a tuple of\n|    (grname,grpasswd,grgid,grmem)\n|  or via the object attributes as named in the above tuple.\n|\n|  Method resolution order:\n|      structgroup\n|      builtins.tuple\n|      builtins.object\n|\n|  Methods defined here:\n|\n|  reduce(...)\n|      Helper for pickle.\n|\n|  repr(self, /)\n|      Return repr(self).\n|\n|  ----------------------------------------------------------------------\n|  Static methods defined here:\n|\n|  new(*args, kwargs) from builtins.type\n|      Create and return a new object.  See help(type) for accurate signature.\n|\n|  ----------------------------------------------------------------------\n|  Data descriptors defined here:\n|\n|  grgid\n|      group id\n|\n|  grmem\n|      group members\n|\n|  grname\n|      group name\n|\n|  grpasswd\n|      password\n|\n|  ----------------------------------------------------------------------\n|  Data and other attributes defined here:\n|\n|  matchargs = ('grname', 'grpasswd', 'grgid', 'grmem')\n|\n|  nfields = 4\n|\n|  nsequencefields = 4\n|\n|  nunnamedfields = 0\n|\n|  ----------------------------------------------------------------------\n|  Methods inherited from builtins.tuple:\n|\n|  add(self, value, /)\n|      Return self+value.\n|\n|  contains(self, key, /)\n|      Return key in self.\n|\n|  eq(self, value, /)\n|      Return self==value.\n|\n|  ge(self, value, /)\n|      Return self>=value.\n|\n|  getattribute(self, name, /)\n|      Return getattr(self, name).\n|\n|  getitem(self, key, /)\n|      Return self[key].\n|\n|  getnewargs(self, /)\n|\n|  gt(self, value, /)\n|      Return self>value.\n|\n|  hash(self, /)\n|      Return hash(self).\n|\n|  iter(self, /)\n|      Implement iter(self).\n|\n|  le(self, value, /)\n|      Return self<=value.\n|\n|  len(self, /)\n|      Return len(self).\n|\n|  lt(self, value, /)\n|      Return self<value.\n|\n|  mul(self, value, /)\n|      Return self*value.\n|\n|  ne(self, value, /)\n|      Return self!=value.\n|\n|  rmul(self, value, /)\n|      Return value*self.\n|\n|  count(self, value, /)\n|      Return number of occurrences of value.\n|\n|  index(self, value, start=0, stop=9223372036854775807, /)\n|      Return first index of value.\n|\n|      Raises ValueError if the value is not present.\n|\n|  ----------------------------------------------------------------------\n|  Class methods inherited from builtins.tuple:\n|\n|  classgetitem(...) from builtins.type\n|      See PEP 585\n\n### FUNCTIONS\n\n#### getgrall\n\nReturn a list of all available group entries, in arbitrary order.\n\nAn entry whose name starts with '+' or '-' represents an instruction\nto use YP/NIS and may not be accessible via getgrnam or getgrgid.\n\n#### getgrgid\n\nReturn the group database entry for the given numeric group ID.\n\nIf id is not valid, raise KeyError.\n\n#### getgrnam\n\nReturn the group database entry for the given group name.\n\nIf name is not valid, raise KeyError.\n\n### FILE\n\n(built-in)\n\n"
        }
    ],
    "structuredContent": {
        "command": "grp",
        "section": "",
        "mode": "pydoc",
        "summary": "grp - Access to the Unix group database.",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 13,
                "subsections": []
            },
            {
                "name": "CLASSES",
                "lines": 3,
                "subsections": [
                    {
                        "name": "class struct_group",
                        "lines": 117
                    }
                ]
            },
            {
                "name": "FUNCTIONS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "getgrall",
                        "lines": 5
                    },
                    {
                        "name": "getgrgid",
                        "lines": 4
                    },
                    {
                        "name": "getgrnam",
                        "lines": 4
                    }
                ]
            },
            {
                "name": "FILE",
                "lines": 3,
                "subsections": []
            }
        ]
    }
}