Skip to main content

Test your project's packaging friendliness

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
------------------------------

Credits

The project was created by Lennart Regebro, regebro@gmail.com

The name “Pyroma” was coined by Wichert Akkerman, wichert@wiggy.net

Changelog

1.2 (2013-03-06)

  • Removed the running of tests. I always found it a bit iffy, and getting rid of it solved a lot of issues. Pyroma is now focused solely on packaging quality.

  • A package on PyPI with several versions will no longer return an error.

  • Now looks for documentation on pythonhosted.org or readthedocs.org.

  • Adds a hook for zest.releaser, so it can be run after doing the checkout, before uploading to PyPI.

1.1 (2013-03-05)

  • Better handling if there is no package data, for example if setup.py doesn’t call setup() unless you run it as the “__main__” script.

  • If setup.py doesn’t call setup() look for a main() script and try to run it.

1.0 (2013-03-05)

  • Support for Python 3.3

  • Added test for PEP 386 compliance.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyroma-1.2.tar.gz (42.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page