- Group everything your code needs so it's easy for users to grab + install
- the code, dependencies, license
- Important terms: 'source install', dependencies (+pinning), 'package distribution platforms'
- 'package manager', (deployment, versioning, releases - expanded below)
- Highlight: a git repository vs. a repository of packages
- Relevant: dependencies - support windows
- specifying versions, installing these automatically ('resolve dependencies')
- Python package: __init__.py
- Installable: pyproject.toml/(setup.py)
- PyPI + conda-forge
- (basic overview how/links to the relevant pages)
Link to relevant cookiecutter bits
take from existing license page
- legal statement about who owns + who can use the code/how
- LICENSE file, link to licenses
- A particular 'state' of a software package + making it available
- Important terms: version number+semantic versioning, release notes
More details: - What goes in release notes; CHANGELOG - Not making 'breaking changes' straight away + notifying of upcoming changes - when to make releases - stable release vs. nightly builds
- versioningit/versioneer
- e.g. using git tags + releasing w/ github
- link to relevant sections of cookiecutter; MDA userguide
- Publishing new versions to PyPI/conda-forge; automatic pipelines
Links to relevant cookiecutter bits