CtrlK
BlogDocsLog inGet started
Tessl Logo

jbvc/python-standard-workflow

Standardize Python project setup and validation with uv, ruff, typos, and mypy. Use when creating a new Python project, normalizing an existing repository, adding Python quality tooling, or driving Python code to a clean lint, spelling, formatting, and type-check state through a repeatable uv-based workflow.

94

Quality

94%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

pyproject-template.mdreferences/

Baseline pyproject.toml Template

Use this as a starting point when a repository needs a clean uv-based Python workflow. Adjust the Python version, package name, and MyPy scope to match the real project.

[project]
name = "your-package"
version = "0.1.0"
requires-python = ">=3.11"

[dependency-groups]
dev = [
  "mypy>=1.10.0",
  "ruff>=0.6.0",
  "typos>=1.23.0",
]

[tool.ruff]
line-length = 100
target-version = "py311"

[tool.ruff.lint]
select = ["E", "F", "I", "B", "UP"]

[tool.ruff.format]
quote-style = "double"

[tool.typos.files]
extend-exclude = [".venv", "build", "dist", "uv.lock"]

[tool.mypy]
python_version = "3.11"
pretty = true
warn_unused_configs = true
warn_unused_ignores = true
check_untyped_defs = true
no_implicit_optional = true
exclude = ["^build/", "^dist/", "^\\.venv/"]

Adaptation Rules

  • If the repository uses src/, run MyPy against src or the real package path first.
  • If the codebase is legacy, start with a narrower MyPy target before expanding globally.
  • If Ruff is already configured, extend the existing rule set instead of replacing it wholesale.
  • Only add Typos allow-lists for intentional project-specific words.

references

pyproject-template.md

SKILL.md

tile.json