- View hidden files and folders
- View file extensions
- Git
- VS Code (recommended)
- uv
- Fork the repo.
- Clone your repo to your machine and open it in VS Code.
Open a terminal and run the following commands.
git clone https://github.com/YOUR_USERNAME/civic-data-boundaries-us-cd118.git
cd civic-data-boundaries-us-cd118- Open the repo directory in VS Code.
- Open a terminal in VS Code.
uv python pin 3.12
uv venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Mac/Linux/WSL
uv sync --extra dev --extra docs --upgrade
uv run pre-commit installgit pull origin main
uvx pre-commit autoupdate
git add .
uvx ruff check . --fix
uvx ruff format .
uvx deptry .
uvx pyright
uv run pytestRun the pre-commit hooks (twice, if needed):
pre-commit run --all-filesuv run civic-us-cd118 fetch
uv run civic-us-cd118 export
uv run civic-us-cd118 index
uv run civic-us-cd118 cleanupuv build
$TMP = New-Item -ItemType Directory -Path ([System.IO.Path]::GetTempPath()) -Name ("wheel_" + [System.Guid]::NewGuid())
Expand-Archive dist\*.whl -DestinationPath $TMP.FullName
Get-ChildItem -Recurse $TMP.FullName | ForEach-Object { $_.FullName.Replace($TMP.FullName + '\','') }
Remove-Item -Recurse -Force $TMPuv run mkdocs build --strict
uv run mkdocs serveVerify local API docs at: http://localhost:8000 When done reviewing, use CTRL c or CMD c to quit.
Get-ChildItem -Path . -Recurse -Directory -Filter "*__pycache__*" | Remove-Item -Recurse -Force
Get-ChildItem -Path . -Recurse -Directory -Filter ".*_cache" | Remove-Item -Recurse -Force
Get-ChildItem -Path "src" -Recurse -Directory -Name "*.egg-info" | Remove-Item -Recurse -Force
Remove-Item -Path "build", "dist", "site" -Recurse -ForceUpdate CHANGELOG.md and pyproject.toml dependencies.
Ensure CI passes.
uv run pre-commit run --all-files
uv run pytest -qgit add .
git commit -m "Prep vx.y.z"
git push -u origin mainImportant: Wait for GitHub Actions from prior step to complete successfully (all green checks). If any fail, fix issues and push again before tagging.
git tag vx.y.z -m "x.y.z"
git push origin vx.y.zA GitHub Action will build, publish to PyPI (Trusted Publishing), create a GitHub Release with artifacts, and deploy versioned docs with
mike.