Quick reference
My workflow
This is what my workflow looks like:
- Write software using Poetry to manage dependencies
- Write tests using Pytest
- Package the project to tarball and/or wheel using Poetry
- Use Tox to automatically run the tests in isolated environment(s)
- Distribute the package with an installer script
- Double-click the executable created by the installation script to run the application!
Optional extras
There are some optional steps that can be useful:
- Single-source and automatically increment the version number
- Automatically generate documentation using pdoc
- Perform all testing and packaging using GitHub Actions or Jenkins
Sounds good, is there a template project that does all this stuff?
Yes! Check out cookiecutter-snoap.
Other stuff
I've also written up things I tried but didn't ultimately use and things I'd like to try.