{ "info": { "author": "Paul J. Davis", "author_email": "paul.joseph.davis@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "namespace.py\n============\n\nIn a nutshell, namespace.py allows you to create composite namespace\npackages without altering any submodule.\n\n >>> import namespace\n >>> ns = namespace.Namespace()\n >>> ns.proxy(\"ns.path\", \"os.path\")\n >>> import ns.path\n >>> import sys\n >>> ns.path == sys.modules[\"os.path\"]\n True\n\nThe general idea here is that you'd create a PyPI package for\nthe namespace and then attach the individual subpackages\nto the namespace.\n\nSomething like::\n\n # mynamespace.py\n import namespace\n ns = namespace.Namespace()\n ns.proxy(\"mynamespace.web\", \"django\")\n\nAnd then client packages could use this namespace package as::\n\n import mynamespace.web.forms as forms\n\nThat's perhaps not the best example, but hopefully it gets the\nidea across.\n\nOther caveats is that this doesn't allow for magical addition to\nthe namespace if a package elects to be in it. I'm not feeling\ncreative enough to think of a good solution to this. I'm pretty\nsure it could be done with a hook in setuptools though.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/davisp/namespace", "keywords": "packaging namespace", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "namespace", "package_url": "https://pypi.org/project/namespace/", "platform": "any", "project_url": "https://pypi.org/project/namespace/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/davisp/namespace" }, "release_url": "https://pypi.org/project/namespace/0.0.1/", "requires_dist": null, "requires_python": null, "summary": "Create composite namespace packages.", "version": "0.0.1" }, "last_serial": 795178, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "65ead1f12ed16e7b01bf38cb2507879f", "sha256": "bed8589b16671678fdf46d115cfc8a1f416a01602387999f29d5a639bac997ae" }, "downloads": -1, "filename": "namespace-0.0.1.tar.gz", "has_sig": false, "md5_digest": "65ead1f12ed16e7b01bf38cb2507879f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1768, "upload_time": "2009-07-05T04:54:56", "url": "https://files.pythonhosted.org/packages/2d/2f/8dcb2b55defd59db323bbf03d62a894b96686921041726e7822072349f06/namespace-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "65ead1f12ed16e7b01bf38cb2507879f", "sha256": "bed8589b16671678fdf46d115cfc8a1f416a01602387999f29d5a639bac997ae" }, "downloads": -1, "filename": "namespace-0.0.1.tar.gz", "has_sig": false, "md5_digest": "65ead1f12ed16e7b01bf38cb2507879f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1768, "upload_time": "2009-07-05T04:54:56", "url": "https://files.pythonhosted.org/packages/2d/2f/8dcb2b55defd59db323bbf03d62a894b96686921041726e7822072349f06/namespace-0.0.1.tar.gz" } ] }