We welcome and encourage contributions of all kinds, such as:
- Tickets with issue reports of feature requests
- Documentation improvements
- Code (PR or PR Review)
In addition to submitting new PRs, we have a healthy tradition of community members helping review each other's PRs. Doing so is a great way to help the community as well as get more familiar with Rust and the relevant codebases.
You can find a curated good-first-issue list to help you get started.
This section describes how you can get started with Ballista development.
Ballista contains components implemented in the following programming languages:
- Rust (Scheduler and Executor processes, Client library)
We use the standard Rust development tools.
cargo buildcargo fmtto format the codecargo testto test- etc.
Testing setup:
rustup update stableDataFusion uses the latest stable release of rust
Formatting instructions:
or run them all at once:
Refer to the instructions in the Python Bindings README
The integration tests can be executed by running the following command from the root of the repository.
./dev/integration-tests.shWe are using prettier to format .md files.
You can either use npm i -g prettier to install it globally or use npx to run it as a standalone binary. Using npx required a working node environment. Upgrading to the latest prettier is recommended (by adding --upgrade to the npm command).
$ prettier --version
2.3.0After you've confirmed your prettier version, you can format all the .md files:
prettier -w README.md {ballista,ballista-cli,benchmarks,dev,docs,examples,python}/**/*.md