{ "info": { "author": "Gavin M. Roy", "author_email": "gavinmroy@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Database", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "pgparse\n=======\n\nPython wrapper for `libpg_query `_\n\n|Version| |Status| |Coverage| |License| |Docs|\n\nInstallation\n------------\n\n.. code-block:: bash\n\n pip install pgparse\n\nExample Usage\n-------------\n\nThe following example shows how to create a dump and then read it in, and\niterate through the data of one of the tables.\n\n.. code-block:: python\n\n import pprint\n\n import pgparse\n\n sql = \"SELECT * FROM pg_catalog.pg_class WHERE relname = 'foo'\"\n print('Fingerprint: {}'.format(pgparse.fingerprint(sql)))\n print('Normalized: {!r}'.format(pgparse.normalize(sql)))\n parsed = pgparse.parse(sql)\n pprint.pprint(parsed)\n\n func = \"\"\"\\\n CREATE FUNCTION sales_tax(subtotal real) RETURNS real AS $$\n BEGIN\n RETURN subtotal * 0.06;\n END;\n $$ LANGUAGE plpgsql;\n \"\"\"\n parsed = pgparse.parse_pgsql(func)\n pprint.pprint(parsed)\n\n\n.. |Version| image:: https://img.shields.io/pypi/v/pgparse.svg?\n :target: https://pypi.python.org/pypi/pgparse\n :alt: Package Version\n\n.. |Status| image:: https://img.shields.io/circleci/build/gh/gmr/pgparse/master.svg?token=3d274067c09738c1ce3a77650138ee9cc9614cdb\n :target: https://circleci.com/gh/gmr/pgparse/tree/master\n :alt: Build Status\n\n.. |Coverage| image:: https://codecov.io/gh/gmr/pgparse/branch/master/graph/badge.svg\n :target: https://codecov.io/github/gmr/pgparse?branch=master\n :alt: Code Coverage\n\n.. |License| image:: https://img.shields.io/pypi/l/pgparse.svg?\n :target: https://github.com/gmr/pgparse/blob/master/LICENSE\n :alt: BSD\n\n.. |Docs| image:: https://img.shields.io/readthedocs/pgparse.svg?\n :target: https://pgparse.readthedocs.io/\n :alt: Documentation Status", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gmr/pgparse", "keywords": "", "license": "BSD 3-Clause License", "maintainer": "", "maintainer_email": "", "name": "pgparse", "package_url": "https://pypi.org/project/pgparse/", "platform": "", "project_url": "https://pypi.org/project/pgparse/", "project_urls": { "Homepage": "https://github.com/gmr/pgparse" }, "release_url": "https://pypi.org/project/pgparse/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "Python wrapper for libpg_query", "version": "0.1.0" }, "last_serial": 5509450, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "47b162ad3d0c4f5c99a3ee006649d7f0", "sha256": "2cd9b2bd99832cf6ff2cef4ac7fa05291dac920c7cdab724b9116ef7a5f3273e" }, "downloads": -1, "filename": "pgparse-0.1.0.tar.gz", "has_sig": false, "md5_digest": "47b162ad3d0c4f5c99a3ee006649d7f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1412675, "upload_time": "2019-07-09T23:03:41", "url": "https://files.pythonhosted.org/packages/ab/e9/04068214f5df9da2519de35e9b47b44f1eb0fe6c31a7b1d149fa95844e70/pgparse-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "47b162ad3d0c4f5c99a3ee006649d7f0", "sha256": "2cd9b2bd99832cf6ff2cef4ac7fa05291dac920c7cdab724b9116ef7a5f3273e" }, "downloads": -1, "filename": "pgparse-0.1.0.tar.gz", "has_sig": false, "md5_digest": "47b162ad3d0c4f5c99a3ee006649d7f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1412675, "upload_time": "2019-07-09T23:03:41", "url": "https://files.pythonhosted.org/packages/ab/e9/04068214f5df9da2519de35e9b47b44f1eb0fe6c31a7b1d149fa95844e70/pgparse-0.1.0.tar.gz" } ] }