Thanks for your interest in contributing to rxml! This document provides guidelines and instructions for contributing.
- Python 3.10+
- A stable Rust toolchain
- Maturin (
pip install maturin)
-
Fork and clone the repository:
git clone https://github.com/<your-username>/rxml.git cd rxml
-
Create and activate a virtual environment:
python -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows
-
Install development dependencies:
pip install maturin
-
Build the project in development mode:
maturin develop
-
Run the tests:
cargo test
-
Create a new branch for your feature or fix:
git checkout -b feature/your-feature-name
-
Make your changes. If you're modifying Rust code, rebuild with
maturin developbefore testing. -
Ensure all tests pass:
cargo test -
Format your code:
cargo fmt
-
Run the Rust linter:
cargo clippy
- Push your branch to your fork.
- Open a pull request against the
mainbranch. - Provide a clear description of your changes and the motivation behind them.
- Ensure CI checks pass.
If you encounter a bug or have a feature request, please open an issue with as much detail as possible, including:
- Your Python and Rust versions
- Your operating system
- A minimal reproducible example (if applicable)
Please be respectful and constructive in all interactions. We are committed to providing a welcoming and inclusive experience for everyone.