We want to make contributing to this project as easy and transparent as possible.
We actively welcome your Pull Requests. Please refer to the "Development Environment Setup" section to set up the development environment.
In general, the following rules apply to any changes made:
- If you have added code that should be tested, add tests.
sapp/ui/tests/
sapp/pipeline/tests/
sapp/tests/
- If you have changed APIs, update the documentation.
- If you have not already, complete the Contributor License Agreement ("CLA").
For code changes, the following steps should be taken prior to submitting a Pull Request:
- Run the following linters locally and fix lint errors related to the files you have modified:
black .
usort format .
flake8
- Install all dev dependencies
pip install -r requirements-dev.txt
- Run tests with
./scripts/run-tests.sh
and make sure all tests are passing
To accept your pull request, we need you to submit a CLA. You only need to do this once to work on any of Facebook's open-source projects.
Complete your CLA here: https://code.facebook.com/cla. If you have any questions, please drop us a line at cla@fb.com.
You are also expected to follow the Code of Conduct, so please read that if you are a new contributor.
We use GitHub issues to track public bugs. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue.
We value consistent code. Please follow the style of the surrounding code. Useful rules of thumb for all languages are:
- Avoid abbreviations;
- Use auto-formatters to minimize debates about spacing, indentation and line breaks;
- Prefer
snake_case
overcamelCase
for variables and function names; - Prefer
CamelCase
overSnake_case
for modules and classes.
By contributing to SAPP, you agree that your contributions will be licensed under the LICENSE file in the root directory of this source tree.