Your contributions are always welcome! Feel free to open an issue or a pull request. For breaking or other major changes, please open an issue first to discuss what you would like to change. Despite this, please make sure to follow the few guidelines below. Basically just adhere to good software engineering practices and some project-specific requirements listed below.
Note that some git hooks are required to pass before committing. This is enforced by pre-commit. Have a look at the .pre-commit-config.yaml
file to see which hooks are run. You can also run them manually with pre-commit run --all-files
.
For commit messages, please adhere to Conventional Commits and add verbose commit message bodies where necessary.
Ruff is used as a code linter and formatter. This is enforced by a pre-commit hook and a github action. You can also run it manually with ruff
.
Because this project's main dependency – Scrapy – is mostly untyped and custom type stubs or elaborated type checks were not added to this project yet, use some kind of static type checker to ensure type safety wherever possible. I recommend Pyright, this is not enforced though. Also, always use type hints wherever possible!