@@ -26,7 +26,6 @@ packages = ["src"]
2626
2727[dependency-groups ]
2828dev = [
29- " autoflake>=2.3.1" ,
3029 " mypy>=1.16.1" ,
3130 " poethepoet>=0.35.0" ,
3231]
@@ -40,29 +39,25 @@ test = [
4039]
4140
4241[tool .poe .tasks ]
42+ # Linting & Formatting
43+ format = " ruff format src/"
44+ lint = " ruff check --fix src/"
45+ check = " ruff check src/"
4346
44- ruff-check = " ruff check src/"
45- ruff-fix = " ruff check --fix src/"
46- ruff-format = " ruff format src/"
47- clean-imports = " autoflake --remove-all-unused-imports --remove-unused-variables --in-place --recursive src/"
48- check-imports = " autoflake --check --remove-all-unused-imports --recursive src/"
47+ # Type checking
4948type-check = " mypy src"
50- type-check-relaxed = " mypy src --disable-error-code no-any-return --disable-error-code attr-defined "
49+ type-check-strict = " mypy src --strict "
5150
51+ # Development
5252dev = " python run_dev.py"
5353dev-reload = " uvicorn src.main:app --reload --host 0.0.0.0 --port 8000"
54- run-prd = " uvicorn src.main:app --host 0.0.0.0 --port 8000"
5554
56- format = [" ruff-format" , " clean-imports" ]
57- lint = [" ruff-fix" , " clean-imports" , " type-check-relaxed" ]
58- check = [" ruff-check" , " check-imports" , " type-check-relaxed" ]
59- check-strict = [" ruff-check" , " check-imports" , " type-check" ]
60- all = [" ruff-fix" , " ruff-format" , " clean-imports" , " type-check-relaxed" ]
55+ # Production
56+ run = " uvicorn src.main:app --host 0.0.0.0 --port 8000"
6157
62- test = " pytest tests/"
63- test-cov = " pytest tests/ --cov=src --cov-report=html --cov-report=term"
64- test-unit = " pytest tests/unit/"
65- test-integration = " pytest tests/integration/"
58+ # CI pipeline
59+ ci = [" check" , " type-check" ]
60+ quality = [" format" , " lint" , " type-check" ]
6661
6762[tool .ruff ]
6863target-version = " py311"
0 commit comments