A template for creating Python packages with UV dependency management, pytest testing, semantic-release versioning, and optional Astro Starlight documentation.
-
Click the Use this template button on GitHub:
-
Select Create a new repository, fill in the repository name, and click Create repository:
-
Clone your new repository and continue with the setup below.
- UV: Install from https://docs.astral.sh/uv/getting-started/installation/
- Python 3.10+: UV can install Python for you with
uv python install - Node.js and npm (only for documentation site): Install from https://nodejs.org/en/download
Run the setup script:
python setup.pyThe script will ask for:
- Package name
- Description
- Author name and email
- GitHub username/organization
- Whether to include a Starlight documentation site
It will automatically configure all files and remove itself when done.
Configure your GitHub repository:
-
Add PyPI token (for publishing releases)
- Create a token at https://pypi.org/manage/account/token/
- Go to Settings > Secrets and variables > Actions
- Add a new secret named
PYPI_TOKEN
-
Enable GitHub Pages (only if you included documentation)
- Go to Settings > Pages
- Set Source to "GitHub Actions"
For detailed explanations of the tools and workflows used in this template, see the Repository setup guides.

