Development Sandbox¶
This walkthrough uses the uv package manager for performance reasons.
You can also use different methods to set up your workbench environment.
Install¶
Acquire source code and set up virtualenv.
git clone https://codeberg.org/sarcam/nauscopia.git
cd nauscopia
uv venv --python 3.12
source .venv/bin/activate
Install project in editable mode.
uv pip install --editable='.[all]'
Tests¶
Invoke linters and software tests. The same command will also be invoked on CI.
poe check
Code Formatting¶
The project exclusively uses ruff for linting and code formatting,
for performance reasons.
poe format
Packaging¶
PyPI¶
How to build and publish the PyPI package.
# Update the changelog file.
nano CHANGES.md
git commit --message "Release v0.0.0"
# Tag the repository.
git tag v0.0.1
git push && git push --tags
# Build and upload package.
poe release
OCI¶
How to build a local OCI image.
export BUILDKIT_PROGRESS=plain
docker build -t nauscopia:dev .
Validate OCI image.
docker run --rm -it nauscopia:dev nauscopia --version
User Testing¶
Before publishing GA packages, you can easily consume and distribute pre-release builds, both for Python packages, and OCI images.
Those commands outline how to install / use code from the fictional new-feature branch.
pip install git+https://codeberg.org/sarcam/nauscopia.git@new-feature
docker run --rm -it codeberg.org/sarcam/nauscopia:new-feature nauscopia --version