This repo is a fork-and-edit Python project template. After forking, walk through each item below before opening your first real PR.
Replace every REPLACE_ME token:
name = "REPLACE_ME-project-name"→ kebab-case PyPI distribution nameauthors = [{name = "REPLACE_ME Author", email = "replace-me@example.com"}]description = "REPLACE_ME — short project description"[tool.ruff.lint.isort] known-first-party = ["hello_world"]→ match your actual package directory undersrc/
git mv src/hello_world src/<your_package_name>- Update any imports in
tests/and elsewhere fromhello_worldto your package name. - Update package-level metadata in
src/<your_package_name>/__init__.py:__author__,__email__, and__version__are currently hardcoded with the template author's information and must be replaced.
- Replace
python-templatereferences with your project name - Replace the example
hello_worldimport/run snippets - Update the badge URLs (replace
JacobPEvans/python-templatewith<your-org>/<your-repo>) - Fix the Codecov token in the coverage badge (or remove it until you wire up Codecov for the new repo)
ci.ymlandtests.ymlreferenceJacobPEvans/python-templatein the Codecovslug:— replace with<your-org>/<your-repo>- Confirm the Python
matrixintests.ymlmatches the versions you want to support; the single-version jobs inci.ymluse the latest released stable (3.13) — bump when you upgrade
Once everything is renamed and CI is green on your fork, delete this file:
git rm TEMPLATE.md
git commit -m "chore: remove template instantiation checklist"The template doubles as a working repo for its own CI (linting, type checks, security scans, coverage gating). Cookiecutter-style placeholders would break that — the repo itself wouldn't be installable or testable. Fork copies the working state; you edit it in place.