Thank you for your interest in contributing to Botanu SDK! This document provides guidelines and instructions for contributing.
This project requires all commits to be signed off in accordance with the Developer Certificate of Origin (DCO). This certifies that you have the right to submit your contribution under the project's open source license.
To sign off your commits, add the -s flag to your git commit command:
git commit -s -m "Your commit message"This will add a Signed-off-by line to your commit message:
Signed-off-by: Your Name <your.email@example.com>
If you've already made commits without signing off, you can amend them:
# Amend the last commit
git commit --amend -s
# Rebase and sign off multiple commits
git rebase --signoff HEAD~N # where N is the number of commits-
Clone the repository:
git clone https://github.com/botanu-ai/botanu-sdk-python.git cd botanu-sdk-python -
Create a virtual environment and install dependencies:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -e ".[dev]"
-
Run tests:
pytest tests/
-
Run linting and type checks:
ruff check src/ tests/ ruff format src/ tests/ mypy src/botanu/
- Fork the repository and create a feature branch
- Make your changes with appropriate tests
- Ensure all tests pass and linting is clean
- Sign off all commits with DCO
- Submit a pull request with a clear description
- Follow PEP 8 style guidelines
- Use type hints for all function signatures
- Write docstrings for public APIs
- Keep commits focused and atomic
Please use GitHub Issues to report bugs or request features. Include:
- A clear description of the issue
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Python version and OS
This project follows the LF Projects Code of Conduct.
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.