Thank you for your interest in contributing to PostalCode2NUTS! This guide explains how to get involved.
- Open an issue first — before starting any work, please open an issue describing the bug, feature, or improvement you'd like to work on. This helps avoid duplicate effort and ensures alignment with the project's direction.
- Fork the repository and create a new branch from
main. - Make your changes and ensure they follow the guidelines below.
- Submit a pull request referencing the related issue.
- Bug reports — open an issue with steps to reproduce, expected vs actual behavior, and your environment details.
- Bug fixes — submit a PR with a clear description of the fix and a reference to the issue.
- New country data — adding or improving postal code data for countries. See the note on postal patterns below.
- Documentation — README improvements, API usage examples, or clarifications.
The file postal_patterns.json contains curated per-country regex patterns and is maintained by the project owner. If you'd like to propose changes to postal patterns, please open an issue describing the problem and suggested fix — do not submit PRs that modify postal_patterns.json without prior approval.
See the README for instructions on installing dependencies, running the app locally, and using Docker.
- Linting: Run
ruff check app/ scripts/before submitting. The project uses ruff with E/F/W rules and a line length of 110. - Commit messages: Use Conventional Commits format:
feat:for new featuresfix:for bug fixesdocs:for documentation changesrefactor:for code restructuringchore:for maintenance tasks
- Reference the related issue in your PR description (e.g., "Closes #12").
- Describe what your changes do and why.
- All CI checks (lint, import-check, security audit, Docker build) must pass before your PR will be reviewed.
- Keep PRs focused — one issue per PR where possible.
By submitting a pull request, you agree that your contribution will be licensed under the European Union Public Licence (EUPL) v. 1.2.
This project follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.