This is based on the PyHC Project Review Guidelines. Numbers in square brackets refer to the item in the PyHC Standards. See the Contributing Guide for instructions to add a project to the PyHC Project List.
1. Community
- All code is available and developed publicly [2]
- Code is not duplicated [12]
- The package is not forked from an existing project [12]
- Package provides contribution guidelines [13]
- Package has a code of conduct [15]
2. Documentation
- All functions, classes, and modules have documentation strings (docstrings) provided in a standard conventions (e.g. numpydoc) [8]
- High level documentation is provided as guides, tutorials, and developer docs [8]
- Documentation is provided in version control with the code [8]
- Documentation is available online in a readable form [8]
3. Testing
- Package has unit tests of individual components (e.g. functions, classes) [9]
- Package has integration tests that test the interaction between components that covers most of the code [9]
- Testing coverage is measured [9]
4. Software Maturity
- All code is organized and provided as part of installable Python packages [1]
- Project has consistent and stable releases [3]
- Project releases are available through PyPI and Conda [3]
- Unstable code has a release number less than 1.0 (e.g. 0.x) [3]
- Project supports all major operating systems (MacOS, Linux, Windows) [4]
- All code uses version control [6]
- Projects adopts the basic style recommendations of PEP 8 [7]
- Project imports the minimum number of packages necessary [10]
- Binary files are added to the package repository only when necessary [14]
5. PHEP 3 (Python & Upstream Package Support)
- Package supports Python versions released within the last 36 months [11]
- Package supports upstream core Scientific Python packages released within the last 24 months [11]
- Package supports new dependency versions within 6 months of their release [11]
6. License