{ "info": { "author": "Max Lee", "author_email": "maxbmhlee@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Programming Language :: Python :: 3" ], "description": "force-dependencies\n==================\n\n| version number: \"0.1.0\"\n| author: Max Lee\n\n|Build Status| |Coverage Status|\n\nOverview\n--------\n\n``force-dependencies`` is a small package for enforcing package\nrequirements at the class- or function-level.\n\nSimply use:\n\n.. code:: python\n\n from force_deps import requires, requires_any, requires_all\n\n @requires(\"sqlalchemy\")\n class SQLHandler(object):\n def __init__(self):\n pass\n\n db = SQLHandler()\n Traceback (most recent call last):\n ...\n ImportError: You must import `sqlalchemy` in order to run `SQLHandler`\n\nto require users to have a package installed in order to use your class\nor function,\n\n.. code:: python\n\n @requires_any([\"sqlalchemy\", \"sqlite3\"])\n ...\n\nto require that users have at least one of a number of packages\ninstalled, or\n\n.. code:: python\n\n @requires_all([\"sqlalchemy\", \"pandas\"])\n ...\n\nto require that users have all of a number of packages installed in\norder to use a class or function.\n\nFinally, you can combine the decorators together in pretty much any way\nyou please:\n\n.. code:: python\n\n @requires_any([\"sqlalchemy\", \"sqlite3\"])\n @requires(\"pandas\")\n ...\n\nInstallation / Usage\n--------------------\n\n| This library requires Python>=3.5. You should be able to extend its\n compatibility by removing the dependencies\n| on Python's ``typing`` libraries.\n\nTo install use pip:\n\n::\n\n $ pip install force_deps\n\nOr clone the repo:\n\n.. code:: shell\n\n $ git clone https://github.com/maxblee/force_deps.git\n $ python setup.py install\n\n.. |Build Status| image:: https://travis-ci.org/maxblee/force_deps.svg?branch=master\n :target: https://travis-ci.org/maxblee/force_deps\n.. |Coverage Status| image:: https://coveralls.io/repos/github/maxblee/force_deps/badge.svg?branch=master\n :target: https://coveralls.io/github/maxblee/force_deps?branch=master\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/maxblee/force_deps/tarball/0.1.0", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/maxblee/force_deps", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "force-deps", "package_url": "https://pypi.org/project/force-deps/", "platform": "", "project_url": "https://pypi.org/project/force-deps/", "project_urls": { "Download": "https://github.com/maxblee/force_deps/tarball/0.1.0", "Homepage": "https://github.com/maxblee/force_deps" }, "release_url": "https://pypi.org/project/force-deps/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "a small package for enforcing package requirements at the class- or function-level", "version": "0.1.0" }, "last_serial": 5848550, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "fb8f4a9eca8de7ea1bfb1b592c704b58", "sha256": "98340b5e29934eec854a99e07f64fd32a5d3d6073a12671c7c4520bb688c8cd9" }, "downloads": -1, "filename": "force_deps-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fb8f4a9eca8de7ea1bfb1b592c704b58", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3996, "upload_time": "2019-09-18T08:11:24", "url": "https://files.pythonhosted.org/packages/d2/29/1a5bcb045642c05b4cca211f39c22a907e5cf8c755bfc7496618b8d0ea6e/force_deps-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db5d85719ad0577f93e744ea6f754bc8", "sha256": "a9bb1510aea2a952f7b06bcf4bd7a1971bbc42c461551d0a64e2220f96ae28e7" }, "downloads": -1, "filename": "force_deps-0.1.0.tar.gz", "has_sig": false, "md5_digest": "db5d85719ad0577f93e744ea6f754bc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3532, "upload_time": "2019-09-18T08:11:27", "url": "https://files.pythonhosted.org/packages/bd/14/dc652bf7ebf6ed0b58614d41053bbf442ec5887a16d381e0a639d7f84805/force_deps-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fb8f4a9eca8de7ea1bfb1b592c704b58", "sha256": "98340b5e29934eec854a99e07f64fd32a5d3d6073a12671c7c4520bb688c8cd9" }, "downloads": -1, "filename": "force_deps-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fb8f4a9eca8de7ea1bfb1b592c704b58", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3996, "upload_time": "2019-09-18T08:11:24", "url": "https://files.pythonhosted.org/packages/d2/29/1a5bcb045642c05b4cca211f39c22a907e5cf8c755bfc7496618b8d0ea6e/force_deps-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db5d85719ad0577f93e744ea6f754bc8", "sha256": "a9bb1510aea2a952f7b06bcf4bd7a1971bbc42c461551d0a64e2220f96ae28e7" }, "downloads": -1, "filename": "force_deps-0.1.0.tar.gz", "has_sig": false, "md5_digest": "db5d85719ad0577f93e744ea6f754bc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3532, "upload_time": "2019-09-18T08:11:27", "url": "https://files.pythonhosted.org/packages/bd/14/dc652bf7ebf6ed0b58614d41053bbf442ec5887a16d381e0a639d7f84805/force_deps-0.1.0.tar.gz" } ] }