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¶
Code style tools used: Black (formatting), isort (imports), flake8 (linting).
Run the full test suite:
Community¶
Please follow the Code of Conduct. Be respectful, patient, and constructive.
All contributors are recognized in release notes and the GitHub contributors list.