We at Blur are excited to contribute to the Visual Effects community by open sourcing our internal projects. We welcome others to integrate these projects into their pipelines and contribute to them as they deem fit via bug reports, feature suggestions, and pull requests.
Before contributing we recommend checking out our code of conduct. Thanks! 😄
- Double check that the bug has not already been reported by searching the project's GitHub Issues.
- If an issue already exists, you're welcome to add additional context that may not already be present in the original message via the comments.
- Once you have verified no pre-existing bug report exists, create a new issue.
- Provide a title and concise description.
- Include as much detailed information regarding the problem as possible.
- Supply reproducible steps that demonstrate the behavior.
- Double check that a similar request has not already been made by searching the project's GitHub Issues.
- If no issue exists pertaining to your feature request, create a new issue.
- Provide a title and concise description.
- Describe what functionality is missing and why it would be useful for yourself and others.
- If relevant, include any screenshots, animated GIFs, or sketches that might further demonstrate the desired feature.
- Fork the Project
- Create your Branch (
git checkout -b my-amazing-feature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
)- Be sure to follow our coding style and formatting conventions (below).
- Push to the Branch (
git push origin my-amazing-feature
) - Open a Pull Request
- List what you've done.
- Link to any related or addressed issues or feature requests.
In order to streamline reviews and reduce the barrier-to-entry for developers, we've adopted several standardized tools and workflows to maintain a consistent and reliable code appearance.
A set of GitHub Action workflows are in place to perform the following style and formatting checks against every push to our project repositories. These checks must successfully pass before a pull request can be accepted.
Styling
Styling or linting is performed via flake8 along with the plugins flake8-bugbear & pep8-naming. A minor amount of configuration has been added to setup.cfg in order to provide better compatibility with our formatter black (see next section).
Formatting
Code formatting is completed by black. By relinquishing code appearance standards to Black we manage to greatly reduce semantic arguments/discussions that might distract from progress on a project.
Releases are made manually by project managers and will automatically be uploaded to PyPI (via GitHib Action workflow) once completed.