Thanks for helping improve Prumo. This guide keeps contributions practical and consistent for an open-source data product.
Open an issue (or draft PR) with:
- Source name and provider
- Official URL (API docs or official dataset page)
- What indicator(s) it adds and why they matter for the dashboard
- Geographic and temporal coverage (PT-only, EU, global; monthly/quarterly/yearly)
- Collector approach (API endpoint, file download, scraping fallback)
If accepted, also add/update:
- collector code under
collectors/ - indicator mappings/catalog metadata where relevant
SOURCES.md
All new sources should meet these minimum checks:
- Provenance: official institution, regulator, or internationally recognized statistical body
- Update frequency: cadence is explicit and suitable for dashboard refresh cycles
- Methodology caveats: known breaks/revisions/seasonality caveats are documented
- Reproducibility: query parameters and transformation logic are clear in code
If quality is partial (for example, unstable endpoints), document trade-offs in the PR.
- Fork/branch from main (
feature/<short-name>) - Keep PRs focused (one source or one coherent improvement)
- Include a short PR description:
- what changed
- why
- affected sources/indicators
- any caveats
- Update docs when relevant (
README.md,SOURCES.md, notes indocs/) - Wait for review before merge
- Follow existing Python style in this repo (small functions, clear naming, explicit error handling)
- Reuse shared helpers/constants where possible instead of duplicating logic
- Avoid silent data coercion; log or comment non-obvious transformations
- Run tests before opening PR:
pytestFor collector changes, include at least one validation note in the PR (sample payload, expected schema, or before/after row count).