Thank you so much for contributing to Oxia. We appreciate your time and help. Here are some guidelines to help you get started.
Be kind and respectful to the members of the community. Take time to educate others who are seeking help. Harassment of any kind will not be tolerated.
If you have questions regarding Oxia, feel free to start a new discussion: https://github.com/oxia-db/oxia/discussions/new/choose
- Before filing an issue, please check the existing issues to see if a similar one was already opened. If there is one already opened, feel free to comment on it.
- If you believe you've found a bug, please provide detailed steps of reproduction, the version of Oxia and anything else you believe will be useful to help troubleshoot it (e.g. OS environment, configuration, etc...). Also state the current behavior vs. the expected behavior.
- If you'd like to see a feature or an enhancement please create a new idea discussion with a clear title and description of what the feature is and why it would be beneficial to the project and its users.
Requirements:
- Python 3.10+
- uv (package manager)
- Docker (for integration tests via testcontainers)
Install dependencies:
uv sync# All tests (unit + integration — requires Docker)
uv run pytest
# Unit tests only (no Docker needed)
uv run pytest tests/compare_test.py tests/sessions_test.py
# With coverage
uv run pytest --cov --cov-report=term-missingIf the Oxia proto definitions change:
./gen-proto.sh- Fork the project.
- Clone your fork (
git clone https://github.com/your_username/oxia-client-python && cd oxia-client-python) - Create your feature branch (
git checkout -b my-new-feature) - Make changes and run tests (
uv run pytest) - Commit your changes with DCO sign-off (
git commit -s -m 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new pull request
Note: All commits must include a
DCO sign-off (git commit -s).