[![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"
}