pyOpenSci Python Open Source Package Development Guide#

Welcome, Python open source enthusiast!#

Here you will find guidelines for what we look for in your scientific Python package when reviewing. You will also find best practice recommendations and curated lists of community resources surrounding packaging and documentation.

✨ Documentation Criteria & Recommendations ✨

Learn about the good, better and best practices associated with Python package documentation. Topics covered include: README files, tutorials and full docs.

✨ Package Structure & Code ✨

✨ Want to contribute? ✨

We welcome contributions to this guide. Learn more about how you can contribute.

Who this guidebook is for#

We assume that you are here because you are:

  1. Considering submitting a package to pyOpenSci and want to understand what we are looking for when we review your package

  2. Looking for guidance on creating a Python package.

  3. Looking for resources associated with Python packaging.

Well, friend, you’ve come to the right place!

What you will find in this guidebook#

This guidebook contains:

  • Explanation for “Good enough” minimum requirements associated with being reviewed by pyOpenSci

  • Explanation of better and best practices in case you want to set the bar higher for your package (which we hope you will)!

  • A curated list of resources to help you get your package into documented, usable and tested shape.

Where this guide is headed#

Most of the sections in this guide will ultimately include Good/Better/Best recommendations for Python open source software packaging.

Good meets the requirements. Going beyond the minimum can make package maintenance easier-to-use for new users, easier-to contribute for new contributors and easier-to-maintain for you.

This guide is now a work in progress. If you have ideas of things you’d like to see here, we invite you to open an issue on GitHub that details any changes or additions that you’d like to see..