Contributing to GR
May 21, 2021 ยท View on GitHub
GR is open source and contributions by different users will help to make it as useful as possible. Thank you for considering contributing to GR!
Reporting Issues
- If you encounter any issues using GR, please open an issue on GitHub.
- If the issue is with the GR runtime or the C library, open an issue in this repo
- If the issue is with a language binding, open an issue in the corresponding repo (Python, Julia, Ruby).
- If the issue is with a package that uses GR internally, such as the Julia package Plots, instead of GR itself, please report the issue to the developers of that package.
- Describe the situation to help us reproduce it. This might include providing a minimal working example.
- Describe what you expected to happen.
- Describe what actually happened. Please include logs, screenshots or screen recordings to help us understand the issue.
- List the version of GR you are using:
- Python:
print(gr.version()) - Julia:
GR.version() - C:
puts(gr_version());
- Python:
- If possible, try to reproduce your issue using the current
developbranch of both the GR runtime and the language binding, if any.
Submitting Feature Requests
- We strive to improve GR, so if you would like to request a new feature, please open an issue on GitHub and label it as enhancement.
- If the feature is for the GR runtime or the C library, open an issue in this repo
- If the feature is for a language binding, open an issue in the corresponding repo (Python, Julia, Ruby).
- If the feature is for a package that uses GR internally, such as the Julia package Plots, instead of GR itself, please contact the developers of that package.
- Describe the desired behavior and your use cases for it.
- If you would like to see a feature implemented faster, perhaps consider implementing it and submitting the changes as a pull request (see below).
Building the GR Runtime
- If you want to build the GR runtime yourself during development, see the GR documentation.
Submitting Changes
- This repository contains the GR runtime. If you wish to submit a change to a language binding, please see the corresponding repository (Python, Julia, Ruby)
- We aim to support a wide variety of use cases. Please keep this in mind and prefer generic solutions to specialized ones.
- Adhere to the code style. You can use
clang-formatandcmake-formatto apply the code style to individual files, or set up a pre-commit githook by runninggit config core.hooksPath .githooks/in the root directory of your GR clone. - Once you are done, push your changes to your fork of GR and open up a pull request.
- If you introduce a new feature or change existing functionality, please document it in the GR documentation.