Problem Statement
The project currently has no centralized pytest configuration. There is no [tool.pytest.ini_options] section in pyproject.toml, no pytest.ini file, and no pytest-specific configuration in setup.cfg. This forces every developer to memorize and manually specify pytest options when running tests.
Current Situation
Required "Magic Incantation"
Developers must run tests with explicit flags:
poetry run pytest -v tests --ignore tests/integration
Without these flags:
- Integration tests attempt to run and fail with GCS authentication errors (confusing new contributors)
testpaths is not automatically discovered
- Warning suppression must be manually managed
- No standardized output format
Evidence of the Problem
- CONTRIBUTING.md (line 54) documents the exact command, implying developers shouldn't need to memorize it
- No pytest.ini or setup.cfg — configuration is scattered or implicit
- Integration tests auto-run — causes friction on first-time developer setup
- Pytest warnings not managed — dependencies generate ~451 warnings per test run
- No pattern standardization — python_files, python_classes, python_functions patterns undefined
Impact
Developer Experience (Negative)
- Knowledge barrier: New contributors must read CONTRIBUTING.md instead of running intuitive commands
- Onboarding friction: First-time
poetry run pytest fails with cryptic GCS errors
- Maintenance burden: Each developer needs to know/remember the exact incantation
- Inconsistent behavior: Different developers may run tests differently, leading to missed failures
Test Execution (Negative)
- Noisy output: 451+ pytest warnings pollute test output and mask real issues
- Unclear defaults: No explicit test discovery paths, pattern rules, or behaviors
- Integration tests enabled by default: Causes failures for developers without GCS credentials
- No traceback standardization: Different developers may see different output formats
Code Quality (Negative)
- Missed failures: Warning noise can hide genuine problems
- Inconsistent test runs: Different commands = different results
- CI/local mismatch: Developers might run different commands than CI, causing surprises
Root Cause
Modern Python projects use pyproject.toml as the single source of truth for tool configuration. This project:
- Has
[tool.ruff] and [tool.mypy] configuration
- Has pytest installed as a dev dependency with plugins
- Missing
[tool.pytest.ini_options] section
Problem Statement
The project currently has no centralized pytest configuration. There is no
[tool.pytest.ini_options]section inpyproject.toml, nopytest.inifile, and no pytest-specific configuration insetup.cfg. This forces every developer to memorize and manually specify pytest options when running tests.Current Situation
Required "Magic Incantation"
Developers must run tests with explicit flags:
Without these flags:
testpathsis not automatically discoveredEvidence of the Problem
Impact
Developer Experience (Negative)
poetry run pytestfails with cryptic GCS errorsTest Execution (Negative)
Code Quality (Negative)
Root Cause
Modern Python projects use
pyproject.tomlas the single source of truth for tool configuration. This project:[tool.ruff]and[tool.mypy]configuration[tool.pytest.ini_options]section