Contributing Guide for Noventis
First off, thank you so much for your interest in contributing to Noventis! We're thrilled you're here. Every contribution, no matter how small, is greatly appreciated and helps us make this tool better for everyone.
This guide provides a set of guidelines and steps to make your contribution process as easy and effective as possible.
Code of Conduct
To maintain a friendly and inclusive community, this project and all its participants are governed by the Noventis Code of Conduct. Please adhere to this code in all your interactions with the project.
# By contributing, you agree to follow our Code of Conduct
# See: CODE_OF_CONDUCT.md in the repo
How Can I Contribute?
There are many ways to contribute, and not all of them involve writing code.
- Reporting Bugs: If you find something that isn't working as expected, please open a new issue on our GitHub Issues page. Include steps to reproduce the bug.
- Suggesting New Features: Have a brilliant idea for a new functionality? We'd love to hear it! Open a new issue and describe your idea in detail.
- Improving Documentation: Found a typo or a confusing sentence in our docs? Fixes to documentation are just as important as fixes to code.
- Submitting Pull Requests: If you want to add a feature, fix a bug, or improve documentation, this is the best way to do it.
Your Contribution Workflow
Ready to start contributing? Follow these steps to set up your development environment and submit your first change.
Step 1: Fork the Repository
Click the "Fork" button at the top-right corner of the Noventis GitHub page to create a copy of the repository in your own GitHub account.
Step 2: Clone Your Fork
Now, clone your fork to your local machine.
git clone https://github.com/<YOUR-USERNAME>/noventis.git
cd noventis
Step 3: Create a Virtual Environment
Always work inside a virtual environment to keep dependencies isolated.
python -m venv venv
source venv/bin/activate # macOS/Linux
# or .\venv\Scripts\activate for Windows
Step 4: Install Dependencies
Install the library in "editable" mode (-e). This means changes you make to the source code will take effect immediately without needing to reinstall.
pip install -e .
Step 5: Create a New Branch
Create a new branch to work on your changes. Use a descriptive name.
- For new features:
feat/new-feature-name
- For bug fixes:
fix/short-bug-description
git checkout -b feat/add-svm-model
Step 6: Write Your Code!
Time to work your magic! Make your changes, add your features, or fix the bug. Be sure to follow our Coding Standards (see below).
Step 7: Commit Your Changes
Use a clear and descriptive commit message. We recommend the Conventional Commits format.
feat :
for a new feature.fix :
for a bug fix.docs :
for documentation changes.
git add .
git commit -m "feat: Add support for SVM model in ManualPredictor"
Step 8: Push to Your Fork
Upload your changes to your forked repository on GitHub.
git push origin feat/add-svm-model
Submit a Pull Request (PR)
Open your forked repository on GitHub. You will see a button to create a Pull Request. Click it, provide a clear title and description for your PR, and then submit it.
Coding Standards
To maintain code quality and consistency, please follow these standards:
- Code Style: We Use
Black
for automated code formatting. Please run black. before committing to automatically format your code. - Docstrings: All new public functions, classes, and methods must have a clear docstring explaining their purpose, parameters, and what they return.
- Testing: If you add new functionality, it's highly encouraged to add corresponding unit tests. Contributions that include tests are prioritized.
Pull Request Review Process
- Initial Review: We will check if your PR is clear and aligns with the project’s goals.
- Feedback: We may provide comments or request some changes to improve the code quality.
- Approval & Merge: Once all feedback is addressed and all automated checks (CI) have passed, your PR will be merged into the main branch.