pyOpenSci creates resources to help you navigate the Python packaging ecosystem with ease. Our materials are community developed and go through extensive technical and pedagogical review.
Our development process: Community-developed Python tutorials for scientists
Our tutorials are created through a multi-stage community review process.
- Tutorials are developed by the pyOpenSci team or community members.
- Tutorials are reviewed by tool maintainers to ensure ideas and concepts are accurate.
- Before publication, tutorials then go through several rounds of community review for accuracy, usability and accessibility.
Start learning: Beginner-friendly Python packaging tutorials
Beginner-friendly Python packaging tutorials guide you through creating a Python package, following modern best practices. It’s best to follow the tutorials in order, but you can always pick a specific topic if you wish to jump around.
0. Get to know Hatch
Hatch is an end-to-end Python packaging and workflow tool. In this tutorial, you will install and learn how to configure Hatch for Python packaging.
1. What is a Python package
Learn about what a Python package is and the basic components that make up a Python package.
2. Make your Python code installable
Learn how to create the most basic version of a Python package which can then be installed into a Python environment.
3. Publish your Python package to PyPI
Learn how to publish your Python package to test.PyPI.org and to PyPI.org.
4. Publish your Python package to conda forge using grayskull
Learn how to publish your Python package to the conda-forge channel of conda using the grayskull Python package.
5. Add a README file to your Python package
A README file is often the landing page that a user will use to understand your package. Learn about how to create a useful README file for your Python package.
6 . Add a LICENSE and CODE_OF_CONDUCT file to your Python package
License and code of conduct files are important to add to your Python package as they provide instructions for both how users can use your package and also how the community of users should interact with you as a maintainer.
7. Add metadata using a pyproject.toml file to your Python package
To enhance the visibility of your package on PyPI and provide more information about its compatibility with Python versions, project development status, and project maintainers, you should add additional metadata to your pyproject.toml file. This lesson will guide you through the process.
What's next: Collaborative GitHub for Scientists
Through the Better Software for Science Fellowship we will be developing lessons focused on teaching core GitHub collaboration skills needed for both contributing to open source software and for working in an open science team environment.
Stay up to date with course development and announcements in our Discourse community, as well as on Fosstodon and LinkedIn