Contribution Guide
This guide provides information on building and contributing to the giftwrap project.
Required Tooling
This project is managed using the uv tooling system, a modern dependency manager for python projects. Please ensure that it is available in your environment.
Installing Dependencies
To install the project dependencies, run the following command:
Note that when adding/updating packages with uv add or updating the pyproject.toml file, you should run uv sync to ensure that all dependencies are correctly installed and the uv.lock file is updated.
Building the package
To build the package, use the following command:
You should see a build .whl file in the dist/ directory. This can be directly installed with pip.
Updating Documentation
The giftwrap documentation site is built using mkdocs and mkdocs-material. To update the documentation, follow these steps:
-
Make your changes to the Markdown files in the
docs/directory. -
If adding a new page, ensure it is linked in the
navsection of themkdocs.ymlfile. -
To preview your changes locally, run:
This will start a local server where you can view the documentation athttp://localhost:8000. -
When committed to Github, the documentation will automatically be build and deployed.
Releasing a new version (Maintainers only)
To release a new version of the package, follow these steps:
-
Update the version in
pyproject.tomlto the new version. -
Run the build command to create the new package:
-
Upload the new package to PyPI via uv or through Github Actions (Recommended):
or simply create a new release on GitHub with a tag in the form ofvX.Y.Z, and the GitHub Actions workflow will automatically publish the package to PyPI.