Skip to content

Repository files navigation

change-to-your-name

Change to your description.

Template positioning: This template is designed for production-grade web services/applications (5000+ lines). It ships with pydantic-settings, structlog, Docker, MkDocs, and ADR out of the box. If you need a library or CLI template, you may want to remove some dependencies.

Quick Start

  1. Click Use this template to create a new repository
  2. Clone your new repository
  3. Run the initialization script to replace all placeholders:
bash scripts/init.sh <your-project-name>"[description]""[github-owner/repo]"

This is the recommended way. The script renames the source directory and replaces all placeholder strings (change-to-your-name, change_to_your_name, Change-to-your-name) across the entire project. See the manual checklist below if you prefer to do it by hand.

  1. Install dependencies:
pixi install
  1. Install Git hooks:
pixi run pre-commit install

Replacement Checklist

After creating your repo from this template, search and replace the following:

#FileWhat to replaceOld valueNew value
1pyproject.tomlname, description, authorschange-to-your-nameyour project name
2pixi.tomlname, authors, versionchange-to-your-nameyour project name
3src/change_to_your_name/Rename directorychange_to_your_nameyour package name
4.env.exampleAPP_NAMEchange-to-your-nameyour project name
5SECURITY.md<owner>/<repo><owner>/<repo>your GitHub owner/repo
6CONTRIBUTING.md<your-username><your-username>your GitHub username
7DockerfileCMD module pathchange_to_your_nameyour package name
8src/.../__init__.pydocstringChange-to-your-nameyour project name
9src/.../__main__.pyapp= valuechange-to-your-nameyour project name
10src/.../config.pyapp_name defaultchange-to-your-nameyour project name
11pyproject.tomlknown-first-partychange_to_your_nameyour package name
12pyproject.tomlcoverage sourcesrc/change_to_your_namesrc/your_package
13pixi.tomlpypi-dependencies keychange-to-your-nameyour project name
14mkdocs.ymlsite_namechange-to-your-nameyour project name
15docs/index.mdtitlechange-to-your-nameyour project name
16docs/api.mdmkdocstrings referencechange_to_your_nameyour package name

Tip: You can also run bash scripts/init.sh <your-project-name> to automate all replacements.

Available Tasks

TaskCommandDescription
Lintpixi run lintRun ruff linter
Formatpixi run formatRun ruff formatter
Typecheckpixi run typecheckRun ty type checker
Testpixi run testRun pytest with coverage
Securitypixi run securityRun pip-audit vulnerability check
Docspixi run docsStart MkDocs dev server
Docs Buildpixi run docs-buildBuild documentation site

Project Structure

src/change_to_your_name/ # Source code
tests/ # Test suite
docs/ # Documentation

Configuration

This project uses two separate configuration files:

FilePurpose
pixi.tomlDependency management (Python version, pypi/conda deps, pixi tasks, environments)
pyproject.tomlPackage metadata & tool configuration (ruff, ty, pytest, coverage)
  • Adding dependencies: pixi add --feature <feature-name> (--pypi) <package> (updates pixi.toml). Always specify --feature to target the correct environment (e.g. prod, dev), since this template uses multi-environment config. Runtime deps must also be added to pyproject.toml[project.dependencies].
  • Conda vs PyPI: --pypi selects the PyPI channel; omitting it uses conda-forge. Either is fine per-package, but note that pixi resolves conda dependencies before PyPI ones. A conda package must never depend on a PyPI package — if a conda dep needs something only available on PyPI, add that dep via conda too, or move both to PyPI.
  • Changing tool settings: Edit pyproject.toml only.

License

MIT

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages