This document outlines the steps to release a new version of the USDA FDC Python Client.
-
Update Version
- Run
python3 version_update.py X.Y.Zto update version numbers in all files - Verify that all version references have been updated correctly
- Run
-
Update Changelog
- Ensure CHANGELOG.md is up to date with all notable changes
- Move items from "Unreleased" to the new version section
- Add the release date
-
Run Tests
- Run the test suite to ensure everything is working correctly
pytestpytest -m integration(requires API key)pytest -m django(requires Django)
-
Build Documentation
- Build and check the documentation
cd docs && make html- Review the generated documentation
-
Create Release Commit
- Commit the version changes with a message like "Release vX.Y.Z"
git add .git commit -m "Release vX.Y.Z"
-
Create Git Tag
- Create a tag for the new version
git tag -a vX.Y.Z -m "Version X.Y.Z"
-
Push to GitHub
- Push the commit and tag to GitHub
git push origin maingit push origin vX.Y.Z
-
Build and Upload to PyPI
- Build the distribution packages
python -m build- Upload to PyPI
python -m twine upload dist/*
-
Verify Installation
- Verify the package can be installed from PyPI
pip install --no-cache-dir --upgrade usda-fdc
-
Update Documentation
- Trigger a documentation build on ReadTheDocs
- Verify the new documentation is available
-
Announce the Release
- Update the GitHub release notes
- Notify users if appropriate
-
Start Next Development Cycle
- Update version to next development version (X.Y.Z-dev)
python3 version_update.py X.Y.Z-dev