Development

Install

uv

We recommend you use uv to install the package. To do that please use the following commands in the root of the repository:

uv venv --allow-existing
uv sync --all-extras

Note: If you use the install option above, then you need to prefix all commands with uv run. For example instead of pytest use the command uv run pytest.

Pip

To install the package

  • in development/editable mode

  • including development (dev) packages

please use the following command in the root of the repository:

pip install -e .[dev]

Uninstall

pip uninstall icotest

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.0).

  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

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

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

    2. Insert the version number into the tag field

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

    4. Click on “Publish Release”

    Note: Alternatively you can also use the gh CLI command:

    gh release create
    

    to create the release notes.