Contributing to Control-lab-ly
Thank you for considering contributing to the Control-lab-ly project! We welcome contributions of all kinds, including bug fixes, new features, documentation improvements, and more. This document outlines the guidelines and best practices for contributing to ensure a smooth and collaborative process.
Table of Contents
- Code of Conduct
- Getting Started
- How to Contribute
- Reporting Issues
- Submitting Code Changes
- Improving Documentation
- Code Style Guidelines
- Testing Your Changes
- Pull Request Process
Code of Conduct
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
Getting Started
- Fork the Repository: Create a fork of the repository on GitHub.
- Clone Your Fork: Clone your fork to your local machine:
- Set Up the Environment:
- Install the required dependencies:
- For documentation contributions, install additional dependencies:
- Create a Branch: Create a new branch for your changes:
How to Contribute
Reporting Issues
If you encounter a bug or have a feature request, please open an issue on GitHub. Include the following: - A clear and descriptive title. - Steps to reproduce the issue (if applicable). - Expected and actual behavior. - Any relevant logs, screenshots, or code snippets.
Submitting Code Changes
- Follow the Code Style Guidelines.
- Ensure your changes are well-documented.
- Write tests for your changes (if applicable).
- Commit your changes with a descriptive message:
- Push your branch to your fork:
- Open a pull request (PR) on the main repository.
Improving Documentation
We value clear and comprehensive documentation. To contribute:
- Add docstrings directly into the classes, methods, and functions you write, using Google Style Python Docstrings.
- Update or add content in the docs/
folder.
- Follow the existing style and structure of the documentation.
- Use Markdown for text-based documentation.
- Preview your changes locally using mkdocs
:
Code Style Guidelines
To be updated
Testing Your Changes
- Write unit tests for your changes in the
tests/
directory. - Run the test suite using
tox
: This will automatically create isolated environments and runpytest
in each environment specified in thetox.ini
file. - To run tests for a specific environment, use:
Replace
py310
with the desired environment. - Ensure all tests pass before submitting your changes.
Pull Request Process
- Ensure your branch is up-to-date with the
dev-v2-x-x
branch (appropriate upcoming version number): - Address any merge conflicts.
- Provide a clear and concise description of your changes in the PR.
- Link any related issues in the PR description.
- Wait for a review from the maintainers.
- Address any feedback provided during the review process.
Thank you for contributing to Control-lab-ly! Your efforts help make this project better for everyone.