Python project structure — pyproject.toml, src layout, __init__.py, .gitignore, dependency groups, type hints, py.typed, test structure, entry points, ruff/mypy configuration
91
87%
Does it follow best practices?
Impact
99%
1.03xAverage score across 5 eval scenarios
Passed
No known issues
{
"instruction": "Separate production and dev/test dependencies using optional-dependencies in pyproject.toml",
"relevant_when": "Agent creates a Python project with both production and development dependencies",
"context": "Production dependencies go in [project.dependencies]. Development tools (ruff, mypy, pre-commit) and test dependencies (pytest, httpx, coverage) go in [project.optional-dependencies] under dev and/or test groups. This prevents dev tools from being installed in production.",
"sources": [
{
"type": "file",
"filename": "skills/python-project-structure/SKILL.md",
"tile": "tessl-labs/python-project-structure@0.2.0"
}
],
"checklist": [
{
"name": "optional-dependencies-exist",
"rule": "pyproject.toml has [project.optional-dependencies] with at least a dev or test group containing development/testing tools",
"relevant_when": "Agent creates a Python project with pytest, ruff, or other dev tools"
},
{
"name": "test-deps-separated",
"rule": "pytest and test-related packages (httpx, pytest-cov, pytest-asyncio) are in optional-dependencies, not in the main dependencies list",
"relevant_when": "Agent creates a Python project with tests"
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
skills
python-project-structure
verifiers