First off, thank you for considering contributing to SynthesizeMe! We welcome any and all contributions, from bug reports to feature requests and code changes.
If you find a bug, please open an issue on our GitHub issue tracker. Please include a clear title and a detailed description of the bug, including steps to reproduce it if possible.
If you have an idea for a new feature or an improvement to an existing one, please open an issue on our GitHub issue tracker. Please provide a clear and detailed explanation of the feature and its potential benefits.
If you have a bug fix or a new feature that you would like to contribute, please submit a pull request.
To get started with development, please follow these steps:
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/your-username/SynthesizeMe.git cd SynthesizeMe - Create a virtual environment. One option is using
venv:python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install the package in editable mode along with development dependencies:
pip install -e . pip install pytest ruff
We (will) use pytest for testing. To run the tests, simply run the following command from the root of the repository:
pytestPlease ensure that all tests pass before submitting a pull request.
We use ruff for code formatting and linting to maintain a consistent code style.
- To format your code, run:
ruff format . - To check for linting errors and automatically fix them when possible, run:
ruff check . --fix
Please make sure your code is formatted and passes the linter checks before submitting a pull request.
- Create a new branch for your changes:
git checkout -b your-branch-name
- Make your changes and commit them with a clear and concise commit message.
- Push your changes to your fork on GitHub:
git push origin your-branch-name
- Open a pull request from your fork to the
mainbranch of the official SynthesizeMe repository. - In the pull request description, please provide a detailed explanation of your changes and reference any related issues.
Thank you again for your contribution!