Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/msabramo/setuppycheck
Checks setup.py for questionable practices
https://github.com/msabramo/setuppycheck
Last synced: 10 days ago
JSON representation
Checks setup.py for questionable practices
- Host: GitHub
- URL: https://github.com/msabramo/setuppycheck
- Owner: msabramo
- License: mit
- Created: 2015-06-25T15:53:19.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2019-10-03T16:38:42.000Z (about 5 years ago)
- Last Synced: 2024-12-03T21:57:46.195Z (28 days ago)
- Language: Python
- Size: 12.7 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
setuppycheck: A ``setup.py`` checker
====================================.. image:: https://travis-ci.org/msabramo/setuppycheck.svg?branch=master
:target: https://travis-ci.org/msabramo/setuppycheck.. image:: https://img.shields.io/pypi/v/setuppycheck.svg
:target: https://pypi.python.org/pypi/setuppycheck.. image:: https://img.shields.io/pypi/wheel/setuppycheck.svg
Checks for questionable practices in ``setup.py`` files.
- PyPI: https://pypi.python.org/pypi/setuppycheck
- GitHub https://github.com/msabramo/setuppycheckInstall
-------.. code-block:: bash
$ pip install setuppycheck
Use
---.. code-block:: bash
[marca@marca-mac2 setuppycheck]$ setuppycheck examples/exact_pins/setup.py
WARNING: exact pin: 'requests==2.7.0'
[marca@marca-mac2 setuppycheck]$ echo $?
1[marca@marca-mac2 setuppycheck]$ setuppycheck examples/reads_requirements_text/setup.py
WARNING: reads '/Users/marca/dev/git-repos/setuppycheck/examples/reads_requirements_text/requirements.txt' - looks like a requirements file?
You might want to look at https://caremad.io/2013/07/setup-vs-requirement/
[marca@marca-mac2 setuppycheck]$ echo $?
1Checks
------- 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.
- 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/