{ "info": { "author": "Sixty North AS", "author_email": "austin@sixty-north.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "|Python version| |Build Status|\n\n=======\n ultan\n=======\n\n*\"You know old Ultan, I take it? No, course not. If you did, you'd know the way to the library.\"*\n\u2014 The Shadow of the Torturer, Gene Wolfe\n\n\n``ultan`` is a Python identifier and documentation provider. It has two main\nservices:\n\n1. It can list all identifiers available in your current Python environment.\n2. It can provide docstrings for names.\n\nThis may not sound very spectactular, and it's not. The main trick ``ultan``\naims for is being able to provide a comprehensive list of identifiers, *even for\nmodules which are not imported*. It uses various strategies to scan your\ninstalled packages for identifiers, doing things, for example, like parsing\nsource files into ASTs and looking for assignments.\n\nWhy?\n====\n\n``ultan`` is supposed to scratch a specific itch: being able to do completion on\nidentifiers which aren't actually available in the current namespace. For\nexample, if I'm coding along and want to add ``uuid.uuid1()``, standard\ncompleters won't give me that completion unless I've already imported ``uuid``.\n``ultan`` will know about ``uuid.uuid1()`` even if you haven't imported\n``uuid``, so you can get the completion.\n\nThis may be a terrible idea! But I want to give it a try.\n\nTests\n=====\n\n``ultan`` uses ``tox`` to run its tests. Here's that works:\n\n.. code-block::\n\n $ pip install -e .[test]\n $ tox\n\nThere are more details to it, of course, but you can learn about those by\nreading the ``tox`` documentation.\n\n.. |Python version| image:: https://img.shields.io/badge/Python_version-3.4+-blue.svg\n :target: https://www.python.org/\n.. |Build Status| image:: https://travis-ci.org/abingham/ultan.png?branch=master\n :target: https://travis-ci.org/abingham/ultan\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sixty-north/ultan", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ultan", "package_url": "https://pypi.org/project/ultan/", "platform": "any", "project_url": "https://pypi.org/project/ultan/", "project_urls": { "Homepage": "https://github.com/sixty-north/ultan" }, "release_url": "https://pypi.org/project/ultan/2.1.0/", "requires_dist": null, "requires_python": "", "summary": "Python name and documentation server", "version": "2.1.0" }, "last_serial": 3839178, "releases": { "2.1.0": [ { "comment_text": "", "digests": { "md5": "a3b4316d53ff519d06750b6da3c30dd7", "sha256": "bf62652275bd903db981a34ee575b4b6c9ed1cee8dfe262080f0bfa75b5926fc" }, "downloads": -1, "filename": "ultan-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a3b4316d53ff519d06750b6da3c30dd7", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7808, "upload_time": "2018-05-06T17:42:45", "url": "https://files.pythonhosted.org/packages/19/e6/23d95ddfe59465805957c16ff76f803dc5d7e9c50560b1f17be6fefb223d/ultan-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e8cee35dc4f3f8d10fc6532cb0fe972e", "sha256": "110ff1fe62f0d3716fd849afb3ba3a1979c0ab7be504992050b7d79ec45093e7" }, "downloads": -1, "filename": "ultan-2.1.0.tar.gz", "has_sig": false, "md5_digest": "e8cee35dc4f3f8d10fc6532cb0fe972e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6085, "upload_time": "2018-05-06T19:43:37", "url": "https://files.pythonhosted.org/packages/a0/0e/090e18951248a66e93b3ffec5051f88e7fc06af576f39cfa54b35c99d2fe/ultan-2.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a3b4316d53ff519d06750b6da3c30dd7", "sha256": "bf62652275bd903db981a34ee575b4b6c9ed1cee8dfe262080f0bfa75b5926fc" }, "downloads": -1, "filename": "ultan-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a3b4316d53ff519d06750b6da3c30dd7", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 7808, "upload_time": "2018-05-06T17:42:45", "url": "https://files.pythonhosted.org/packages/19/e6/23d95ddfe59465805957c16ff76f803dc5d7e9c50560b1f17be6fefb223d/ultan-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e8cee35dc4f3f8d10fc6532cb0fe972e", "sha256": "110ff1fe62f0d3716fd849afb3ba3a1979c0ab7be504992050b7d79ec45093e7" }, "downloads": -1, "filename": "ultan-2.1.0.tar.gz", "has_sig": false, "md5_digest": "e8cee35dc4f3f8d10fc6532cb0fe972e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6085, "upload_time": "2018-05-06T19:43:37", "url": "https://files.pythonhosted.org/packages/a0/0e/090e18951248a66e93b3ffec5051f88e7fc06af576f39cfa54b35c99d2fe/ultan-2.1.0.tar.gz" } ] }