First of all, thank you for considering contributing to our project. We value your time and your interest in this project, and we appreciate every contribution that helps us improve it. Below are some guidelines for contributing.
- Development Environment Setup
- Getting Started
- Code Style
- Documentation
- Pre-commit Checks
- Commit Messages
- Pull Requests
- Contact
For a smoother development experience, we recommend the following extensions for VSCode and plugins for PyCharm:
VSCode Extensions:
- Black Formatter
- Code Spell Checker
- dotenv
- GitHub Actions
- GitLens
- isort
- Live Preview
- Live Server
- Live Share
- Makefile Tools
- Markdown Preview Enhanced
- Material Icon Theme
- mypy
- Path Intellisense
- Prettier
- Pylance
- Python
- ruff
- YAML
PyCharm Plugins:
- .env files
- .ignore
- Atom Material Icons
- JSON Parser
- Makefile Language
- Material Theme UI
- mypy
- Pydantic
- Rainbow Brackets
- Requirements
- String Manipulation
- reStructuredText
Please refer to the respective extension and plugin documentation for installation and usage instructions.
-
Ensure you have forked the repository and cloned your fork to your local machine. This will allow you to make and test your changes before pushing them for consideration.
-
Create a new branch for your feature or bugfix. This keeps your changes separate from the main project and makes it easier to merge your changes in later.
git checkout -b feature/AmazingFeature
We follow the PEP 8 style guide for Python code. Please ensure your contributions adhere to this standard.
We recommend using a linter to check your code quality. You can check the documentation for Visual Studio Code or JetBrains PyCharm for more information.
For autocompletion, we recommend the TabNine plugin.
When adding new code, please use docstring with reStructuredText format by adding triple double quotes """ after function definition. Add a brief function description, also for the parameters including the return value and its corresponding data type.
Before committing your code, you must have make
installed on your system. For Windows users, we recommend using Chocolatey, a package manager that simplifies the process of installing and managing software.
To install Chocolatey, open an administrative PowerShell and execute:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
After installing Chocolatey, you can install make
by running:
choco install make
Once make
is installed, you can run the following command in the root of your project to execute the checks defined in the Makefile
:
make check
Please ensure that all checks pass before submitting a pull request.
Please use clear and meaningful commit messages. This helps us understand the changes you've made and the reasoning behind them. If your commit resolves a specific issue, reference it in your commit message.
-
Commit your changes to your branch.
git commit -m 'Add some AmazingFeature'
-
Push your branch to your fork of the repository on GitHub.
git push origin feature/AmazingFeature
-
Open a Pull Request from your fork to our repository. Please provide a detailed explanation of your changes and reference any related issues.
If you have any questions or need further clarification on anything, feel free to reach out. We are here to help!
Back to README.