Thank you for your interest in contributing to our project! This document provides guidelines and instructions to help you get started.
We welcome contributors with intermediate to advanced Python skills. Familiarity with the following is a plus:
- Type annotations and strict typing
- Functional programming patterns
- Web scraping (Scrapy)
- Testing with pytest
If you're newer to these concepts, we encourage you to start with documentation or test contributions and grow from there!
-
Clone the repository:
git clone https://github.com/public-law/open-gov-crawlers.git cd open-gov-crawlers -
Install dependencies using Poetry:
poetry install
-
Activate the virtual environment:
poetry shell
-
Run tests:
pytest
- Type Annotations: Use type hints consistently. We use
pyrightin strict mode. - Functional Style: Prefer functional programming patterns (e.g.,
pipe, comprehensions, pure functions) over imperative loops. - Testing: Write tests for new features or bug fixes. Use pytest and follow the existing test structure.
- Documentation: Update the README or add docstrings as needed.
- Fork the repository and create a new branch for your feature or fix.
- Make your changes, ensuring tests pass and code style is maintained.
- Submit a pull request with a clear description of your changes.
- good first issue: Suitable for newcomers.
- advanced: Requires deeper knowledge of the codebase or Python's type system.
Feel free to open an issue or contact the maintainers for guidance.
Happy coding!