Contributing to uvault¶
Thank you for your interest in contributing to uvault! This document provides the essential commands you need to work on the project.
Running Tests¶
We use pytest for running tests. Our CI requires 100% test coverage.
To run the standard test suite:
To run the test suite with the github extra enabled (which is required to reach 100% coverage on github.py):
Documentation¶
The documentation is built using Zensical.
Serve Locally¶
To preview your documentation changes locally with live-reloading, run:
Build the Documentation¶
To build the static HTML site (output will be in the site/ directory):
Publishing the Documentation¶
The publication of the documentation is fully automated. Whenever code is pushed to the main branch, a GitHub Actions workflow (.github/workflows/docs.yml) is automatically triggered. This CI workflow builds the documentation using Zensical and securely deploys the resulting static files directly to GitHub Pages. You do not need to run any manual deployment commands.
Making a Release¶
We use bump-my-version to manage versioning and release tags. When you are ready to make a release, use the following command to bump the version. This will automatically update pyproject.toml, src/uvault/__init__.py, uv.lock, and create the appropriate Git commit and tag.
For example, to publish a new patch release:
(Note: Pushing the newly created tag to the repository will automatically trigger the CI workflow to build and publish the package to PyPI.)