diff --git a/README.md b/README.md index 59ac73af4c..4107febff0 100644 --- a/README.md +++ b/README.md @@ -183,7 +183,7 @@ Vortex to model more complex arrays while still exposing a logical interface. Fo `ChunkedArray` where the first chunk is run-length encoded and the second chunk is dictionary encoded. In Arrow, `RunLengthArray` and `DictionaryArray` are separate incompatible types, and so cannot be combined in this way. -### Usage +## Usage For best performance we recommend using [MiMalloc](https://github.com/microsoft/mimalloc) as the application's allocator. @@ -199,19 +199,34 @@ Please see [CONTRIBUTING.md](CONTRIBUTING.md). ## Setup -In order to build vortex, you may also need to install the flatbuffer compiler (flatc): - ### Mac +The project has several optional-but-recommended external dependencies: + +```bash +# Required if you want to modify any of the .fbs or .proto files +brew install flatbuffers protobuf + +# Required for benchmarks +brew install duckdb +``` + +You also need the Rust toolchain installed. If you haven't already, install [rustup](https://rustup.rs/) +with one of the following commands: + ```bash -brew install flatbuffers +# option 1 +brew install rustup + +# option 2 +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` -This repo uses rye to manage the combined Rust/Python monorepo build. First, make sure to run: +This repo uses uv to manage the combined Rust/Python monorepo build. After installing uv, make sure to run: ```bash -# Install Rye from https://rye-up.com, and setup the virtualenv -rye sync +# Install uv from https://docs.astral.sh/uv/getting-started/installation/ +uv sync ``` ## License