How to make a release of the Python API client
==============================================

Background reading: https://packaging.python.org/en/latest/tutorials/packaging-projects/

Create a python virtual environment:
```shell
uv venv --python 3.8
source .venv/bin/activate
```

Check that the version setting in `pyproject.toml` matches the release being made.

Build the release package:
```shell
python3 -m ensurepip
python3 -m pip install .
python3 -m pip install --upgrade build
python3 -m build
```

This should produce wheels in `./dist/`

Make a release to the PyPI test server. When asked to /Enter your API token/
use the /Upload token/ from Keeper.
```shell
python3 -m pip install --upgrade twine
python3 -m twine upload --repository testpypi dist/*
```

# Use the "PyPI TEST" "Moku upload token" from Keeper when it asks for an API token.


# Announce the release on the 'Software Release Announcements' chat group.
# test install
$ python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps moku

# make sure things are sane

# Once Damian has announced that the app is available then
# use the "PyPI" "Moku upload token" from Keeper when it asks for an API token.
$ python3 -m twine upload dist/*

# Done!
```
