Contributing to SynOmics

We welcome contributions to SynOmics! This document provides guidelines for contributing to the project.

Getting Started

  1. Fork the repository on GitHub

  2. Clone your fork locally:

$ git clone https://github.com/YOUR_USERNAME/SynOmics.git
$ cd SynOmics
  1. Create a virtual environment and install dependencies:

$ python -m venv .venv
$ source .venv/bin/activate  # On Windows: .venv\Scripts\activate
$ pip install -e ".[dev]"

Development Workflow

  1. Create a new branch for your feature:

$ git checkout -b feature/your-feature-name
  1. Make your changes and add tests

  2. Run tests to ensure everything works:

$ pytest
  1. Commit your changes:

$ git commit -m "Add feature: description"
  1. Push to your fork and submit a pull request

Code Style

  • Follow PEP 8 guidelines

  • Use type hints where appropriate

  • Write docstrings for all public functions and classes

  • Keep functions focused and concise

Testing

  • Write tests for all new features

  • Ensure all tests pass before submitting a pull request

  • Aim for high code coverage

Documentation

  • Update documentation for any API changes

  • Add examples for new features

  • Keep documentation clear and concise

Questions?

If you have questions about contributing, please open an issue on GitHub.