This document will help you get started in contributing to the Render Engine codebase is open source and contributions are welcome.
NOTE This is specifically for contributing to the Render-Engine package. For help with creating a plugin, custom parser or Theme. Please check the Render Engine Wiki or the Render Engine Docs.
Docs can be found at https://render-engine.readthedocs.org
Render Engine and all of the packages in this org follow the same Code of Conduct.
When suggesting a feature, consider the following:
- Is this better as a Plugin?
- Would your feature be a good theme?
- Could this be implemented as a Custom Parsers or Collections
More on when to choose these solutions in our docs.
There is no issue too small to be an issue
If you see or experience a problem, please file an issue. Include any important information as it is relevant such as:
- Summary of Actions
- Operating System
- Python Version
- Plugins/Themes/Custom Parsers & Collections Installed
- Commands/Code Used
- Output
It's important to wait to be assigned an issue before starting to work on it. This prevents working on code that won't be merged.
Comment I can work on this or something to that effect, and wait for one of the maintainers to assign the issue to you.
Once you've been assigned an issue, you can begin working on an issue either locally with:
-
lint and format code using ruff and markdownlint
python -m ruff check src --fix python -m ruff format src
-
markdownlint extenstion will update changes on save.
-
test your code additions and removals
-
features and changes are documented
- 🚫 changes aren't breaking existing code (failing tests)
- 🚫 Ensure new dependencies are listed, justified, and approved to be added.
Render Engine uses readthedocs in combination with MkDocs,Material for MkDocs, and mkdocsstrings to generate documentation.
- 📝 update docstrings for functions, methods, and classes.
- 📷 add images and gifs where necessary. Assets should be stored in the
docs/docs/assets
folder.
Test your docs changes by running the command FROM THE PROJECT ROOT.
python -m mkdocs serve -f docs/mkdocs.yml
Render Engine uses a Pull Request Template that will help you include all the information needed to submit your PR.
If you're starting from a blank PR be sure to include the following:
- Summary
- issue(s)/discussions being addressed
- Documentation or tests added/updated
- Any follow up tasks pending