Thank you for your interest in contributing to SyGra!
This document should be able to guide contributors in their different types of contributions.
ℹ️ Just want to ask a question? Open a topic on our Discussion page.
SyGra is split in two components. Go to our Installation to get installation.
When everything is set up, you can refer to the
sections to setup a synthetic data generation pipeline.
We use pre-commit to keep the codebase consistent. Hooks are run automatically on git commit (and some on pre-push).
# Install project dependencies (dev tools included)
make setup-dev
# Install Git hooks for this repo (no need to add pre-commit to deps)
uvx pre-commit install
uvx pre-commit install -t pre-push
# (optional) Warm the caches so your first commit is fast
uvx pre-commit run --all-files- Fast feedback on style/format issues
- Consistent code across contributors
- Fewer “nit” comments in PR reviews
Open an issue on Github and select "Bug report". If you are not sure whether it is a bug or not, submit an issue and we will be able to help you.
Issues with reproducible examples are easier to work with. Do not hesitate to provide your configuration with generated data if need be.
If you are familiar with the codebase, providing a "unit test" is helpful, but not mandatory.
First, open an issue describing your desired changes, if it does not exist already. This is especially important if you need to add a new dependency. If that is the case, please mention which package and which version you would like to add. Once a team member accepts your proposition, you can start coding!
You can also self-assign an existing issue by commmenting #self-assign on the issue.
- Fork the repo to your own account.
- Clone your fork of the repo locally.
- Make your changes (the fun part).
- Commit and push your changes to your fork.
- Open a pull-request with your branch.
- Once a team member approves your changes, we will merge the pull request promptly.
When coding, pay special attention to the following:
- Your code should be well commented for non-trivial sections, so it can be easily understood and maintained by others.
- Do not expose any personal/sensitive data.
- Add unit tests when a notable functionality has been added or changed.
- Do not forget to notify the team in advance that you are working on an issue (Using #self-assign or by creating an issue). Mention it if you need to add/bump a dependency.
- Check the PR template in advance to see the checklist of things to do.
If you need help, feel free to reach out to a team member or through a GitHub Discussion. If the team member can't answer your question, they will find someone who can!
- Bidyapati Pradhan @bidyapati-p
- Surajit Dasgupta @zephyrzilla
- Amit Kumar Saha @amitsnow
- Omkar Anustoop @omkar-anustoop-ai
- Sriram Puttagunta @psriramsnc
- Vipul Mittal @vipul-mittal
We would love to add you to this list!