Python Project Templates

This organization contains repos with examples of integrating Python with various tooling (CI/CD, linting, testing etc) and bindings/other language integration.

Reusable GitHub Actions and Apps supporting these projects are maintained by Extension Actions (GitHub).

pip install copier
copier copy https://github.com/python-project-templates/base.git path/to/new/project

Python Templates

Base Template GitHub Copier License

Type

Build

Description

Python

Build Status

Pure Python

Python/C++

Build Status

Python/C++ (binding via pybind11 and/or standalone C++)

Python/Rust

Build Status

Python with rust binding via PyO3

Python/Jupyter

Build Status

Python with Jupyter extension (JS)

Python/JavaScript

Build Status

Python with self-contained JS frontend

Python/JS/Rust

Build Status

Rust with Python binding (PyO3) and WebAssembly binding (to JS)

Python/JS/C++

Build Status

C++ with Python binding (pybind11) and WebAssembly binding (to JS)

Other Templates

Type

Build

Description

Python/Go

Build Status

Python with Go binding via C API

Python/Zig

Build Status

Python with Zig binding via ziggy-pydust

Coming soon

JavaScript Templates

Type

Build

Description

Svelte UI Toolkit

Build Status

Svelte package with shared design tokens, components, and a showcase

Lit + Web Awesome UI Toolkit

Build Status

Lit custom elements with Web Awesome, shared design tokens, and a showcase

SvelteKit Site

Build Status

SvelteKit site with static or Node deployment

Web Awesome Site

Build Status

Vite and TypeScript site using Web Awesome components

Other Tools

Name

Version

Description

yardang

PyPI

yardang is a Python library for generating Sphinx documentation

check-dist

PyPI

check-dist is a Python library for sanity-checking source and wheel distribution included files

hatch-build

PyPI

A minimal CLI wrapper around hatchling build

hatch-cpp

PyPI

hatch-cpp is a hatch plugin for C++

hatch-js

PyPI

hatch-js is a hatch plugin for JavaScript

hatch-rs

PyPI

hatch-rs is a hatch plugin for Rust

hatch-go

PyPI

hatch-go is a hatch plugin for Go

hatch-zig

PyPI

hatch-zig is a hatch plugin for Zig

hatch-multi

PyPI

hatch-multi is a hatch plugin to create multiple discrete
packages from optional-dependencies (extras)

Don’t see a template you want? Reach out via discussions