Prerequisites: Python 3.12+ and uv.
./scripts/bootstrap.sh
source .venv/bin/activate
ouro --help./scripts/dev.sh buildCreates dist/ouro_ai-*.whl and dist/ouro_ai-*.tar.gz.
Test locally:
pip install dist/ouro_ai-*.whl
ouro --task "Calculate 1+1"Pushing a v* tag triggers the GitHub Actions release workflow, which runs the
full test suite, builds the package, publishes to PyPI via Trusted Publisher, and
creates a GitHub Release.
git tag v0.2.0
git push --tags./scripts/dev.sh publish --test
pip install --index-url https://test.pypi.org/simple/ ouro./scripts/dev.sh publishpublish is interactive by default and refuses to run without a TTY unless you pass --yes.
docker build -t ouro:latest .Mount .ouro/ to provide model configuration:
# Interactive mode
docker run -it --rm \
-v $(pwd)/.ouro:/app/.ouro \
ouro
# Single task
docker run --rm \
-v $(pwd)/.ouro:/app/.ouro \
ouro --task "Calculate 1+1"docker tag ouro:latest yourusername/ouro:0.1.0
docker tag ouro:latest yourusername/ouro:latest
docker push yourusername/ouro:0.1.0
docker push yourusername/ouro:latest- Update version in
pyproject.toml - Update
CHANGELOG.md(move items from[Unreleased]to the new version) - Run checks:
./scripts/dev.sh check - Open a PR, get it merged to
main - Tag the release:
git tag v0.x.0 && git push --tags - GitHub Actions automatically: tests -> build -> publish to PyPI -> create GitHub Release
- Verify the release on pypi.org and GitHub Releases
| Method | Command |
|---|---|
| Local dev | ./scripts/bootstrap.sh |
| Docker | docker run ouro --task "..." |
| From source | pip install git+https://github.com/ouro-ai-labs/ouro.git |