Skip to content

Repository setup guides

Collection of guides covering CI/CD, version control, virtual environment management, and documentation for Python development workflows

This collection provides guides for setting up and maintaining Python development repositories. The guides cover automation, best practices, and integrated tooling.

Virtual environments

Set up projects with UV, a Python package manager that provides reproducible dependency resolution and Python version management.

Version control

Use semantic commits with the Conventional Commits specification for readable history and automated versioning.

CI/CD automation

Learn to automate testing, releases, and deployment with GitHub Actions. Includes matrix testing, semantic releases, and PyPI publishing.

Licensing

Track license and copyright information across every file in a repository with the REUSE 3.3 specification.

Documentation

Set up Starlight documentation sites with automated GitHub Pages deployment for technical documentation.

The guides focus on tooling that supports reproducibility and automation:

  • UV: Provides reproducible dependency resolution through lock files and manages Python versions alongside project dependencies
  • Semantic commits: Enables automated versioning and changelog generation through structured commit messages
  • GitHub Actions: Native CI/CD platform integrated with GitHub repositories
  • REUSE: Machine-readable license compliance for every file in a repository, verified through CI
  • Starlight: Documentation framework built on Astro with GitHub Pages integration

These repositories apply principles discussed in the guides: