{ "info": { "author": "Jay Marcyes", "author_email": "jay@marcyes.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Plugins", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "dsnparse\n========\n\nParse `dsn connection url\nstrings `__. I kept\nduplicating dsn parsing code for things like\n`prom `__ and morp, and I realized\nI was going to need many more dsn urls in the future so I decided to\ncreate something a little more modular.\n\nThis is a generic version of\n`dj-database-url `__.\n\nSo, now you can create dsns like this:\n\n::\n\n scheme://user:pass@host:port/path?query=query_val#fragment\n\nFor example, let's look at a prom dsn:\n\n::\n\n prom.interface.postgres.Interface://testuser:testpw@localhost/testdb\n\nNow let's parse it:\n\n.. code:: python\n\n import dsnparse\n\n dsn = \"prom.interface.postgres.Interface://testuser:testpw@localhost:1234/testdb\"\n r = dsnparse.parse(dsn)\n\n print(r.scheme) # prom.interface.postgres.Interface\n print(r.username) # testuser\n print(r.password) # testpw\n print(r.host) # localhost\n print(r.hostloc) # localhost:1234\n print(r.paths) # ['testdb']\n\nAlso, dsnparse can easily use environment variables:\n\n.. code:: python\n\n r = dsnparse.parse_environ('ENVIRONMENT_VARIABLE_NAME')\n\nI tried to keep the interface very similar to ``urlparse`` so it will\nfeel familiar to use.\n\nExample\n-------\n\nBy default, ``dsnparse.parse(dsn)`` returns a ``ParseResult`` instance,\nbut that can be customized:\n\n.. code:: python\n\n import dsnparse\n\n class MyResult(dsnparse.ParseResult):\n @classmethod\n def parse(cls, dsn, **defaults):\n d = super(MyResult, cls).parse(dsn, **defaults)\n # d is a dict and you can customize its keys/values here\n d[\"interface\"] = d.pop(\"scheme\")\n return d\n\n dsn = \"Interface://testuser:testpw@localhost:1234/testdb\"\n r = dsnparse.parse(dsn, parse_class=MyResult)\n print(isinstance(r, MyResult)) # True\n print(r.interface) # Interface\n\nInstall\n-------\n\nUse pip:\n\n::\n\n pip install dsnparse\n\nor use pip with github:\n\n::\n\n pip install git+https://github.com/Jaymon/dsnparse#egg=dsnparse\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/Jaymon/dsnparse", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "dsnparse", "package_url": "https://pypi.org/project/dsnparse/", "platform": "", "project_url": "https://pypi.org/project/dsnparse/", "project_urls": { "Homepage": "http://github.com/Jaymon/dsnparse" }, "release_url": "https://pypi.org/project/dsnparse/0.1.12/", "requires_dist": null, "requires_python": "", "summary": "parse dsn urls", "version": "0.1.12" }, "last_serial": 4241845, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "55e68cbe78184ee39fefaeeba7a815a9", "sha256": "f1071730f2201b97f6fe378e11e9d5d8b1f03d644d4e237a6b9e33a5d63d512b" }, "downloads": -1, "filename": "dsnparse-0.1.tar.gz", "has_sig": false, "md5_digest": "55e68cbe78184ee39fefaeeba7a815a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2418, "upload_time": "2013-09-11T04:13:14", "url": "https://files.pythonhosted.org/packages/fc/7a/52f09e2473d047b1313c9e52627e352a75028d022efecabbf95c3b1e8c7b/dsnparse-0.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "cc475fea5966c36ed026c74090ff0311", "sha256": "9761c214706ede7fed2470c68a8ba68dc4f93345ad15212bffa4a3e9f291cec0" }, "downloads": -1, "filename": "dsnparse-0.1.10.tar.gz", "has_sig": false, "md5_digest": "cc475fea5966c36ed026c74090ff0311", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4940, "upload_time": "2017-10-05T06:48:01", "url": "https://files.pythonhosted.org/packages/f8/c7/23cae2e8ddc338038822c570cb4f3fb7ba9d097f29a7f9583e7208d4fe06/dsnparse-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "197b7cf33328b8b2f54b655bcc3758aa", "sha256": "6252d2a0b12e7c5bf1775e77ed0d3ee0a06f92937cdb2d2cac6ee039b557d0b4" }, "downloads": -1, "filename": "dsnparse-0.1.11.tar.gz", "has_sig": false, "md5_digest": "197b7cf33328b8b2f54b655bcc3758aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5253, "upload_time": "2017-12-16T09:27:08", "url": "https://files.pythonhosted.org/packages/ac/74/d88b3f952a2a997907aba84e5d303483e359fdb8e9abeb925a6073400eeb/dsnparse-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "7404ea543db85961f574b55e48f638fd", "sha256": "115edcd3f0089290b018d4cb76f0e8cc31cd5a3573861bc77a62ff3f30f908e8" }, "downloads": -1, "filename": "dsnparse-0.1.12.tar.gz", "has_sig": false, "md5_digest": "7404ea543db85961f574b55e48f638fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6031, "upload_time": "2018-09-05T18:02:26", "url": "https://files.pythonhosted.org/packages/82/75/960c015635665a30c876fd5d16981fb90f23040b488267971f554568ba1a/dsnparse-0.1.12.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d8bf456dd09c77998e31e8ad6362c9e7", "sha256": "dc532141e9cc8d7a1d47c0cd9ffd03f62dfa1fd1d01fa6a35680a6cee3818cb5" }, "downloads": -1, "filename": "dsnparse-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d8bf456dd09c77998e31e8ad6362c9e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3502, "upload_time": "2014-01-14T22:33:08", "url": "https://files.pythonhosted.org/packages/56/01/14cb6f80d60330d33b81ebe7390e85bd69bdbbd1d848fb4fe803c19af15c/dsnparse-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "0e34f457d1b3b834646780ff12eb2b47", "sha256": "7899406a47de69a69bb6e2636f9bc60c7fe4a21c48782c3bccff90100fc54b4e" }, "downloads": -1, "filename": "dsnparse-0.1.4.tar.gz", "has_sig": false, "md5_digest": "0e34f457d1b3b834646780ff12eb2b47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3465, "upload_time": "2016-04-14T08:49:54", "url": "https://files.pythonhosted.org/packages/24/a1/bd1407d4a23cb115ace90ea234f1744e2c6076190274b74216b8554e0a9b/dsnparse-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "412e8b7d85e4c7ec06fe69c889afc31b", "sha256": "81f10a4f339f36855f4bbd99c22d27eec88c54623f95fb8ea10eaa786921a44c" }, "downloads": -1, "filename": "dsnparse-0.1.5.tar.gz", "has_sig": false, "md5_digest": "412e8b7d85e4c7ec06fe69c889afc31b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4343, "upload_time": "2017-08-07T23:51:36", "url": "https://files.pythonhosted.org/packages/93/01/431aab942fd558b3d4f5f0b3280c1ed57e52adb4122272c8a20068bf969d/dsnparse-0.1.5.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "0c546b25eaa6f188d721aebba4790817", "sha256": "e71b70ed6578af8699c740e5d18e3d2831b87c39dfad13bb0042181179dc179b" }, "downloads": -1, "filename": "dsnparse-0.1.8.tar.gz", "has_sig": false, "md5_digest": "0c546b25eaa6f188d721aebba4790817", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4593, "upload_time": "2017-08-24T20:43:04", "url": "https://files.pythonhosted.org/packages/89/a7/b300fbaa1d1c6fd29286ca514647c111689baf9b74b3c0d4c60559907a66/dsnparse-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "ab9b6d871424b5ae1c4fd6228389c111", "sha256": "7dbd9b41a99217775e6772295b593414a008da2afe941cd4cf96bcfb10774262" }, "downloads": -1, "filename": "dsnparse-0.1.9.tar.gz", "has_sig": false, "md5_digest": "ab9b6d871424b5ae1c4fd6228389c111", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4862, "upload_time": "2017-09-20T21:43:18", "url": "https://files.pythonhosted.org/packages/10/aa/e34b23821d2e44194fa5a08a851b190bc0f7c7437d06e3f3912366e3dc7c/dsnparse-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7404ea543db85961f574b55e48f638fd", "sha256": "115edcd3f0089290b018d4cb76f0e8cc31cd5a3573861bc77a62ff3f30f908e8" }, "downloads": -1, "filename": "dsnparse-0.1.12.tar.gz", "has_sig": false, "md5_digest": "7404ea543db85961f574b55e48f638fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6031, "upload_time": "2018-09-05T18:02:26", "url": "https://files.pythonhosted.org/packages/82/75/960c015635665a30c876fd5d16981fb90f23040b488267971f554568ba1a/dsnparse-0.1.12.tar.gz" } ] }