This lesson is still being designed and assembled (Pre-Alpha version)

Packaging: Glossary

Key Points

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
  • Use a pyproject.toml file to describe a Python 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
  • There are a variety of useful bits of metadata you should add.

Versioning
  • First key point. Brief Answer to questions. (FIXME)

Documentation
  • First key point. Brief Answer to questions. (FIXME)

CI with GitHub Actions
  • Set up GitHub Actions on your project

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

Glossary

FIXME