mysql-grantparser


Namemysql-grantparser JSON
Version 1.0.5 PyPI version JSON
download
home_pagehttps://github.com/hirose31/mysql-grantparser-python
Summaryparse MySQL SHOW GRANTS.
upload_time2023-11-28 09:08:13
maintainer
docs_urlNone
authorHIROSE Masaaki
requires_python>=3.5
licenseMIT
keywords mysql
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            [![Build Status](https://travis-ci.org/hirose31/mysql-grantparser-python.svg?branch=master)](https://travis-ci.org/hirose31/mysql-grantparser-python)

# NAME

mysql_grantparser - parse MySQL SHOW GRANTS

# SYNOPSIS

``` python
import mysql_grantparser

grants = mysql_grantparser.Exporter(
    host='127.0.0.1',
    port=3306,
    user='root',
    password='pa55w0rd',
).export()

```

# DESCRIPTION

mysql_grantparser is SHOW GRANTS parser for MySQL, inspired by Ruby's [Gratan](https://github.com/codenize-tools/gratan).

This module returns privileges for all users as following dict.

``` python
{
    'USER@HOST': {
        'user': USER,
        'host': HOST,
        'objects': {
            'DB_NAME.TABLE_NAME': {
                'privs': [ PRIV_TYPE, PRIV_TYPE, ... ],
                'with': 'GRANT OPTION',
            },
            ...
        },
        'options': {
            'identified': '...',
            'required': '...',
        },
    },
    ...
}
```

For example, this GRANT statement

``` sql
GRANT SELECT, INSERT, UPDATE, DELETE ON orcl.* TO 'scott'@'%' IDENTIFIED BY 'tiger' WITH GRANT OPTION;
```

is represented as following.

``` python
{
    'scott@%': {
        'user': 'scott',
        'host': '%',
        'objects': {
            '*.*': {
                privs: [
                    'USAGE'
                ],
            },
            'orcl.*': {
                'privs': [
                    'SELECT',
                    'INSERT',
                    'UPDATE',
                    'DELETE',
                ],
                'with': 'GRANT OPTION',
            }
        },
        'options': {
            'identified': "PASSWORD XXX",
        },
    },
}
```

# SEE ALSO

- Documentation: https://github.com/hirose31/mysql-grantparser-python/blob/master/README.md
- Changelog: https://github.com/hirose31/mysql-grantparser-python/blob/master/CHANGELOG.md
- Repository: https://github.com/hirose31/mysql-grantparser-python
- Test status: https://travis-ci.org/hirose31/mysql-grantparser-python

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/hirose31/mysql-grantparser-python",
    "name": "mysql-grantparser",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.5",
    "maintainer_email": "",
    "keywords": "MySQL",
    "author": "HIROSE Masaaki",
    "author_email": "hirose31@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/67/4c/6569e5b8ea62d4f28c5be5ebe4ebf3438cbe958d59cf29170105d3f09d6f/mysql-grantparser-1.0.5.tar.gz",
    "platform": null,
    "description": "[![Build Status](https://travis-ci.org/hirose31/mysql-grantparser-python.svg?branch=master)](https://travis-ci.org/hirose31/mysql-grantparser-python)\n\n# NAME\n\nmysql_grantparser - parse MySQL SHOW GRANTS\n\n# SYNOPSIS\n\n``` python\nimport mysql_grantparser\n\ngrants = mysql_grantparser.Exporter(\n    host='127.0.0.1',\n    port=3306,\n    user='root',\n    password='pa55w0rd',\n).export()\n\n```\n\n# DESCRIPTION\n\nmysql_grantparser is SHOW GRANTS parser for MySQL, inspired by Ruby's [Gratan](https://github.com/codenize-tools/gratan).\n\nThis module returns privileges for all users as following dict.\n\n``` python\n{\n    'USER@HOST': {\n        'user': USER,\n        'host': HOST,\n        'objects': {\n            'DB_NAME.TABLE_NAME': {\n                'privs': [ PRIV_TYPE, PRIV_TYPE, ... ],\n                'with': 'GRANT OPTION',\n            },\n            ...\n        },\n        'options': {\n            'identified': '...',\n            'required': '...',\n        },\n    },\n    ...\n}\n```\n\nFor example, this GRANT statement\n\n``` sql\nGRANT SELECT, INSERT, UPDATE, DELETE ON orcl.* TO 'scott'@'%' IDENTIFIED BY 'tiger' WITH GRANT OPTION;\n```\n\nis represented as following.\n\n``` python\n{\n    'scott@%': {\n        'user': 'scott',\n        'host': '%',\n        'objects': {\n            '*.*': {\n                privs: [\n                    'USAGE'\n                ],\n            },\n            'orcl.*': {\n                'privs': [\n                    'SELECT',\n                    'INSERT',\n                    'UPDATE',\n                    'DELETE',\n                ],\n                'with': 'GRANT OPTION',\n            }\n        },\n        'options': {\n            'identified': \"PASSWORD XXX\",\n        },\n    },\n}\n```\n\n# SEE ALSO\n\n- Documentation: https://github.com/hirose31/mysql-grantparser-python/blob/master/README.md\n- Changelog: https://github.com/hirose31/mysql-grantparser-python/blob/master/CHANGELOG.md\n- Repository: https://github.com/hirose31/mysql-grantparser-python\n- Test status: https://travis-ci.org/hirose31/mysql-grantparser-python\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "parse MySQL SHOW GRANTS.",
    "version": "1.0.5",
    "project_urls": {
        "Homepage": "https://github.com/hirose31/mysql-grantparser-python"
    },
    "split_keywords": [
        "mysql"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f91df1d29cf87ddc08669552bc51bdd5b98c59f630f3920b29dfa6a1fcd3431c",
                "md5": "db3430f75182868994fb503bcc0c1794",
                "sha256": "f5137b23606402ef809249324561f73d3f7033ffce314515c181bf7b2822a9ba"
            },
            "downloads": -1,
            "filename": "mysql_grantparser-1.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "db3430f75182868994fb503bcc0c1794",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.5",
            "size": 6071,
            "upload_time": "2023-11-28T09:08:11",
            "upload_time_iso_8601": "2023-11-28T09:08:11.585808Z",
            "url": "https://files.pythonhosted.org/packages/f9/1d/f1d29cf87ddc08669552bc51bdd5b98c59f630f3920b29dfa6a1fcd3431c/mysql_grantparser-1.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "674c6569e5b8ea62d4f28c5be5ebe4ebf3438cbe958d59cf29170105d3f09d6f",
                "md5": "ef3c49ef51d340a6b940a7adb6e3f565",
                "sha256": "f26665a0f3e1c9790c8f2d0547377cada59fb4d3078e33d43fb0de8b4f1143f3"
            },
            "downloads": -1,
            "filename": "mysql-grantparser-1.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "ef3c49ef51d340a6b940a7adb6e3f565",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.5",
            "size": 5184,
            "upload_time": "2023-11-28T09:08:13",
            "upload_time_iso_8601": "2023-11-28T09:08:13.309147Z",
            "url": "https://files.pythonhosted.org/packages/67/4c/6569e5b8ea62d4f28c5be5ebe4ebf3438cbe958d59cf29170105d3f09d6f/mysql-grantparser-1.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-28 09:08:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hirose31",
    "github_project": "mysql-grantparser-python",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "tox": true,
    "lcname": "mysql-grantparser"
}
        
Elapsed time: 0.14451s