Environments and task runners
|
Virtual environments isolate software
Virtual environments solve the update problem
A task runner makes it easier to contribute to software
|
Python to package
|
|
Other files that belong with your package
|
In addition to the source code and project specification, packages should include a README, LICENSE, and changelog.
Do not create a custom software license or modify an existing license; instead, choose from the list of available licenses.
You can also include .gitignore to avoid from committing non-source files and .pre-commit-config.yaml to automatically check simple issues with your code before committing it.
|
Metadata
|
|
Versioning
|
SemVer is an abbreviated changelog
SemVer is not the solution to all problems
Packages should have a version attribute
You can single source your version
|
Documentation
|
|
Checks and tests
|
|
CI with GitHub Actions
|
|
Publishing package and citation
|
CI can publish Python packages
Tagging and GitHub Releases are used to publish versions
Zenodo and CITATION.cff are useful for citations
|