Contributing¶
Apache Paimon Rust welcomes contributions from everyone. See the full Contributing Guide for detailed instructions.
Quick Start¶
- Fork the repository
- Clone your fork:
git clone https://github.com/<your-username>/paimon-rust.git - Create a feature branch:
git checkout -b feature/my-feature - Make your changes and add tests
- Run checks locally before submitting
- Open a Pull Request
Development Setup¶
# Ensure you have the correct Rust toolchain
rustup show
# Build the project
cargo build
# Run the unit tests (a bare `cargo test` also builds the Python binding and
# can fail to link libpython on some platforms)
cargo test -p paimon --all-targets --features fulltext,vortex
cargo test -p paimon-rest-server --all-targets
# Format code
cargo fmt --all
# Lint (matches CI)
cargo clippy --locked --all-targets --workspace --features fulltext,vortex -- -D warnings
The integration suites read a Paimon warehouse written by Spark, so they need
Docker rather than cargo alone:
make docker-up # writes /tmp/paimon-warehouse
cargo test -p paimon-integration-tests --all-targets
cargo test -p paimon-datafusion --all-targets
make docker-down
Finding Issues¶
- Check open issues for tasks to work on
- Issues labeled
good first issueare great starting points
Community¶
- GitHub Issues: apache/paimon-rust/issues
- Mailing List: dev@paimon.apache.org (subscribe / archives)
- Slack: #paimon channel on the ASF Slack