{ "info": { "author": "Marc Abramowitz", "author_email": "msabramo@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "setuppycheck: A ``setup.py`` checker\n====================================\n\n.. image:: https://travis-ci.org/msabramo/setuppycheck.svg?branch=master\n :target: https://travis-ci.org/msabramo/setuppycheck\n\n.. image:: https://img.shields.io/pypi/v/setuppycheck.svg\n :target: https://pypi.python.org/pypi/setuppycheck\n\n.. image:: https://img.shields.io/pypi/wheel/setuppycheck.svg\n\nChecks for questionable practices in ``setup.py`` files.\n\n- PyPI: https://pypi.python.org/pypi/setuppycheck\n- GitHub https://github.com/msabramo/setuppycheck\n\nInstall\n-------\n\n.. code-block:: bash\n\n $ pip install setuppycheck\n\nUse\n---\n\n.. code-block:: bash\n\n [marca@marca-mac2 setuppycheck]$ setuppycheck examples/exact_pins/setup.py\n WARNING: exact pin: 'requests==2.7.0'\n [marca@marca-mac2 setuppycheck]$ echo $?\n 1\n\n [marca@marca-mac2 setuppycheck]$ setuppycheck examples/reads_requirements_text/setup.py\n WARNING: reads '/Users/marca/dev/git-repos/setuppycheck/examples/reads_requirements_text/requirements.txt' - looks like a requirements file?\n You might want to look at https://caremad.io/2013/07/setup-vs-requirement/\n [marca@marca-mac2 setuppycheck]$ echo $?\n 1\n\nChecks\n------\n\n- Checks that you are not using exact pins in your `setup.py` file -- Exact pins in `setup.py` get baked into the packages you build and limit flexibility. Folks using your package will have to have that same exact version. If you want to update it, you have to build a new package.\n\n- Checks that you are not reading a `requirements.txt` file and using it to populate `install_requires` in `setup.py`. I think that people mostly do this because they don't understand the differences between `setup.py` and `requirements.txt` so I would advise reading https://caremad.io/2013/07/setup-vs-requirement/", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/msabramo/setuppycheck", "keywords": "setup.py pin dependencies", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "setuppycheck", "package_url": "https://pypi.org/project/setuppycheck/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/setuppycheck/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/msabramo/setuppycheck" }, "release_url": "https://pypi.org/project/setuppycheck/0.0.1/", "requires_dist": null, "requires_python": null, "summary": "Checks for questionable practices in setup.py files.", "version": "0.0.1" }, "last_serial": 1612159, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "61cc2d31f295bbeffc2dc0cedd76798c", "sha256": "77b184f8aa86d31bef3addf3fb0fc802fc4ae2076a902ea854ab276169ee85be" }, "downloads": -1, "filename": "setuppycheck-0.0.0.tar.gz", "has_sig": false, "md5_digest": "61cc2d31f295bbeffc2dc0cedd76798c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2175, "upload_time": "2015-06-25T16:52:38", "url": "https://files.pythonhosted.org/packages/8b/af/2a9915bbe9a52247e0251bafa1a4a8abf54e9da5d21a5527f9edaf7740c6/setuppycheck-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "2347f9bbe8a76a53546c374b4d74a222", "sha256": "603e54f45b59a0ce7b1f6c4e19c421b1f55573ad99f472336299f26a535ed963" }, "downloads": -1, "filename": "setuppycheck-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "2347f9bbe8a76a53546c374b4d74a222", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4265, "upload_time": "2015-06-25T20:05:11", "url": "https://files.pythonhosted.org/packages/05/e3/c51718b4b58f162ec44258e9ea893c376e1b472ca9d7d2de52647f135a5b/setuppycheck-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46f5787a7971e4094ca9965b6147a705", "sha256": "74c3c91aebde8fdfacd6f128f3901f8342b398fc7190b0c5934daeebe03d6ecf" }, "downloads": -1, "filename": "setuppycheck-0.0.1.tar.gz", "has_sig": false, "md5_digest": "46f5787a7971e4094ca9965b6147a705", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2436, "upload_time": "2015-06-25T20:04:46", "url": "https://files.pythonhosted.org/packages/f2/41/f8c356aa9a81a73d6260bd5441469ce9786d8b35b7e0aceaedab0d8cbe55/setuppycheck-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2347f9bbe8a76a53546c374b4d74a222", "sha256": "603e54f45b59a0ce7b1f6c4e19c421b1f55573ad99f472336299f26a535ed963" }, "downloads": -1, "filename": "setuppycheck-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "2347f9bbe8a76a53546c374b4d74a222", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4265, "upload_time": "2015-06-25T20:05:11", "url": "https://files.pythonhosted.org/packages/05/e3/c51718b4b58f162ec44258e9ea893c376e1b472ca9d7d2de52647f135a5b/setuppycheck-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46f5787a7971e4094ca9965b6147a705", "sha256": "74c3c91aebde8fdfacd6f128f3901f8342b398fc7190b0c5934daeebe03d6ecf" }, "downloads": -1, "filename": "setuppycheck-0.0.1.tar.gz", "has_sig": false, "md5_digest": "46f5787a7971e4094ca9965b6147a705", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2436, "upload_time": "2015-06-25T20:04:46", "url": "https://files.pythonhosted.org/packages/f2/41/f8c356aa9a81a73d6260bd5441469ce9786d8b35b7e0aceaedab0d8cbe55/setuppycheck-0.0.1.tar.gz" } ] }