Skip to content

Contributing

Contributions of all kinds are welcome — code, documentation, tests, and community support.


Quick Start

# Fork the repo, then:
git clone https://github.com/your-username/semantica.git
cd semantica
pip install -e ".[dev]"
pytest

First time? Look for good-first-issue labels for beginner-friendly tasks.


Ways to Contribute

Code - Fix bugs and resolve open issues - Implement new features or integrations - Optimize performance or refactor existing code

Documentation - Fix typos, improve clarity, add examples - Write tutorials or domain-specific cookbook notebooks - Keep API reference up to date

Testing - Add test coverage for untested modules - Reproduce and confirm reported bugs - Improve test reliability

Community - Answer questions in issues and discussions - Review pull requests - Share Semantica in your blog posts or talks


Reporting Issues

Bug Reports

Include: what happened, steps to reproduce, expected behavior, and your environment (Python version, OS, Semantica version).

Feature Requests

Include: your use case, what you'd like Semantica to do, and how it benefits others.


Pull Request Guidelines

Before submitting:

  • Tests pass locally (pytest)
  • New features are documented with examples
  • Code follows project style (Black, isort, flake8)
  • Commit messages are clear and descriptive
  • No unresolved merge conflicts

Development Setup

git clone https://github.com/your-username/semantica.git
cd semantica
pip install -e ".[dev]"

Code style tools used: Black (formatting), isort (imports), flake8 (linting).

Run the full test suite:

pytest

Community

Please follow the Code of Conduct. Be respectful, patient, and constructive.

All contributors are recognized in release notes and the GitHub contributors list.


Help