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.

BASH
# 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.

01
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.

02
Step 2: Clone Your Fork

Now, clone your fork to your local machine.

BASH
git clone https://github.com/<YOUR-USERNAME>/noventis.git cd noventis
03
Step 3: Create a Virtual Environment

Always work inside a virtual environment to keep dependencies isolated.

BASH
python -m venv venv source venv/bin/activate # macOS/Linux # or .\venv\Scripts\activate for Windows
04
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.

BASH
pip install -e .
05
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
BASH
git checkout -b feat/add-svm-model
06
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).

07
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.
BASH
git add . git commit -m "feat: Add support for SVM model in ManualPredictor"
08
Step 8: Push to Your Fork

Upload your changes to your forked repository on GitHub.

BASH
git push origin feat/add-svm-model
09
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
Once you submit a PR, one of the project maintainers will review it. The process is as follows:
  1. Initial Review: We will check if your PR is clear and aligns with the project’s goals.
  2. Feedback: We may provide comments or request some changes to improve the code quality.
  3. Approval & Merge: Once all feedback is addressed and all automated checks (CI) have passed, your PR will be merged into the main branch.
Congratulations! Your contribution is now a part of Noventis
Once again, thank you for being a part of the Noventis community!