Making a modern Python package
Tasks and topics
- Step 1: Setting up a GitHub repository with a recommended directory structure
- Step 2: Writing the first version of
setup.pyand testing it using virtualenv - Step 3: Adding test cases using pytest and setting up Travis CI for automated tests
- Step 4: Writing a good-looking documentation using Sphinx and readthedocs.io
- Step 5: Deploying to PyPI with twine
- Step 6: Adding shiny badges to the GitHub README
- Step 7: Using
towncrierto automatically keep changelog up-to-date - Step 8: Provide templates for contributors
Please come and ask questions related to above topics!
As long as our time allows, I could help you to resolve problems in the packaging and CI setups of your projects.
Materials
- https://packaging.python.org/tutorials/distributing-packages/ - Put this under your pillow
- https://github.com/pypa/sampleproject - You could start by forking this project!
- https://travis-ci.com
- https://readthedocs.org
- https://pypi.org/project/towncrier/