First of all, thank you for taking the time to contribute to the project! We love having you here 😄
- Getting started
- Testing
- Submitting a change
- Style guide
- Raising a bug
- Requesting a feature
- I need more help!
First, cd
to the location where you want to store the AGridable repo and clone it using the command:
git clone https://github.com/Electrify-Video-Partners/AGridable.git
cd
to the AGridable
folder and install AGridable in editable mode using the command (it's recommended that you install the library in a virtual environment):
pip install -e .
Then install the dev
extras:
pip install .[dev]
You can run the unit tests using the command (while in the AGridable folder):
pytest
You can submit a change by raising a pull-request and assigning the reviewer as James Laidler.
Please ensure that, before raising a pull-request:
- You merge your branch into the
development
branch, not themain
branch (as thedevelopment
branch is used for staging changes before they are merged with themain
branch). - Commit messages are concise and informative.
- A comment is added to your PR giving a summary of the changes and why they were made.
- Your contribution conforms to the Style guide.
- Your code has been profiled thouroughly to ensure runtime is optimised.
- Unit tests are added/extended.
- Unit test coverage is 100%.
- Docstrings are added/updated in the numpy format, using the same style as the existing docstrings.
Note: when a pull-request is raised, the Build
workflow will run, which ensures that unit tests, doctests and notebook tests all successfully run on multiple versions of Python. If the Build
fails, the merge will also fail - if this happens, please consult the logs in the Actions area of the repo to see where the Build
has failed.
Python code should follow the PEP 8 convention. It's recommended that you install autopep8 before contributing, which will ensure that your code follows the PEP 8 convention.
Docstrings should follow the numpy format. Each class docstring should include an example.
You can raise a bug in the Issues area of the repo.
You can request a new feature in the Issues area of the repo.
If you have any other queries or questions, feel free to contact James Laidler: