Development

While not strictly a necessity, we assume that you installed the following developer dependencies:

in the text below.

Install

For development we recommend you clone the repository and install the package with poetry:

poetry lock && poetry install --all-extras

Check

make check

Release

Note: In the text below we assume that you want to release version <VERSION> of the package. Please just replace this version number with the version that you want to release (e.g. 0.2).

  1. Make sure that all the checks and tests work correctly locally

    make
    
  2. Make sure all workflows of the CI system work correctly

  3. Check that the most recent “Read the Docs” build of the documentation ran successfully

  4. Release a new version on PyPI:

    1. Increase version number

    2. Add git tag containing version number

    3. Push changes

    poetry version <VERSION>
    export icostate_version="$(poetry version -s)"
    git commit -a -m "Release: Release version $icostate_version"
    git tag "$icostate_version"
    git push && git push --tags
    
  5. Open the release notes for the latest version and create a new release

    1. Copy the release notes (without the first section header)

    2. Paste them into the main text of the release web page

    3. Decrease every header level of the pasted release notes by one

    4. Insert the version number into the tag field

    5. For the release title use “Version ”, where <VERSION> specifies the version number (e.g. “Version 0.2”)

    6. Click on “Publish Release”

    Note: Alternatively you can also use the gh command:

    gh release create
    

    to create the release notes.