Guidelines for contributing to this project
Thank you for considering contributing to Sharif OCW Scrapy's Downloader! This document outlines the process for contributing to the project and addresses common questions.
This project adheres to a Code of Conduct that all participants are expected to follow. Please read CODE_OF_CONDUCT.md before contributing.
-
Fork the repository and clone your fork locally
-
Install dependencies:
make setup_dev
or
make uv_sync_all-
Create a branch for your changes:
git checkout -b feature/your-feature-name
-
Make your changes following our coding standards
-
Write tests for your changes
-
Run tests to ensure everything passes:
make uv_run_tests
-
Update documentation as needed
- Commit your changes using conventional commit messages
- Push to your fork
- Submit a pull request
-
Follow PEP 8 guidelines
-
Use type hints
-
Write docstrings in the Google format
-
Ensure code passes our linters:
make uv_sync_lint
Updates to documentation are just as important as code changes. Please:
-
Update the docs to reflect your changes
-
Add examples where appropriate
-
Use our documentation tools:
make setup_docs make uv_mkdoc_build
- Write unit tests for new features
- Ensure existing tests continue to pass
- Aim for high test coverage
- A maintainer will review your PR
- Changes may be requested
- Once approved, your PR will be merged
By contributing, you agree that your contributions will be licensed under the project's MIT License.
Thank you for your contributions! 🙏