It's recommended that you use RSXML-RiverscapesXML.code-workspace if you're in VSCode. This workspace is designed around our common development environment.
Always work on a branch and use a pull request.
- uv for dependency management.
- pre-commit for git hooks.
- Install dependencies:
uv sync --all-extras --dev
- Install pre-commit hooks:
pre-commit install
We use nox to run tests across multiple Python versions.
noxIn order to run the examples you will need to install rsxml. If you want that installed version to be editable, you can use pip install -e . from the root rsxml directory.
-
Update Changelog:
- Move the content from
[Unreleased]to a new section with the version number and date in CHANGELIST.md. - Ensure
[Unreleased]is empty but preserved at the top.
- Move the content from
-
Bump Version:
- Update the version number in src/rsxml/version.py.
-
Tag and Push:
- Commit the changes (changelog and version bump).
- Create a git tag matching the version (e.g.,
v2.2.0) NOTE THE "v" it is important that the tag start with this. - Push the commit and the tag to GitHub:
git commit -am "Bump version to 2.2.0" git tag v2.2.0 git push && git push --tags
- The Publish to PyPI GitHub Action will automatically build and deploy the package.