Thanks for your interest in contributing! This project focuses on a small, well‑tested pipeline. Please keep changes minimal and behavior‑preserving unless explicitly discussed.
- Create a virtual environment and install dependencies:
pip install -r requirements-dev.txt- Run the test suite:
pytest -q- Lint and format:
ruff check .
black .- Python 3.10+ only.
- Keep functions small and single‑purpose; add docstrings for non‑obvious logic.
- Prefer
Mapping/Iterablein function signatures for read‑only inputs. - Do not log secrets. Prefer structured logs for errors via
ScriptError. - Preserve the public API (
run_pipeline,publish_to_google_sheets).
python -m polla_app --help
python -m polla_app pozos
python -m polla_app run --sources pozos --normalized artifacts/normalized.jsonl --comparison-report artifacts/comparison_report.json --summary artifacts/run_summary.jsonTo publish (dry‑run):
python -m polla_app publish --normalized artifacts/normalized.jsonl --comparison-report artifacts/comparison_report.json --summary artifacts/run_summary.json --dry-runMicro‑benchmarks for parser performance:
python scripts/benchmark_pozos_parsing.py- Include tests for new behavior or bug fixes.
- Keep diffs focused. If refactoring, avoid changing functionality.
- Ensure
ruff,mypy, andpytestpass locally before submitting.