Test your projects packaging friendlyness
Project description
pyroma
Pyroma rhymes with aroma, and is a product aimed at giving a rating of how well a Python project complies with the best practices of the Python packaging ecosystem, primarily PyPI, pip, Distribute etc, as well as a list of issues that could be improved.
The aim of this is both to help people make a project that is nice and usable, but also to improve the quality of Python third-party software, making it easier and more enjoyable to use the vast array of available modules for Python.
It’s written so that there are a library with methods to call from Python, as well as a script, also called pyroma.
It can be run on a project directory before making a release:
$ pyroma .
On a distribution before uploading it to the CheeseShop:
$ pyroma pyroma-1.0.tar.gz
Or you can give it a package name on CheeseShop:
$ pyroma pyroma
In all cases the output is similar:
------------------------------ Checking . Found pyroma ------------------------------ Did you forget to declare the following dependencies?: setup ------------------------------ Final rating: 9/10 Cottage Cheese ------------------------------
TODO
Figure out why the long_description doesn’t render to HTML properly.
Add a test for that.
Figure out how to stop ast from failing on perfectly valid code.
Discuss whether to check for missing imports at all, since so many packages seem to break this.
More verification tests?
More unit tests! Many more unit tests!!! And mock PyPI instead of using it.
Credits
The project was created by Lennart Regebro, regebro@gmail.com The name “Pyroma” was coined by Wichert Akkerman, wichert@wiggy.net
Changelog
0.9.3 (2011-03-17)
It’s now using a ProxyStub for the PyPI xmlrpclib during tests.
Removed the Dependency rating.
Added a rating that runs tests, to see if they run. This will also take care of checking for dependencies.
0.9.2 (2011-03-13)
Commented out the dependency test, it was too unreliable.
Fixed the ReST.
Python 3 support.
0.9.1 (2011-03-08)
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.