Skip to content

Latest commit

 

History

History
56 lines (44 loc) · 1.44 KB

DEVELOP.md

File metadata and controls

56 lines (44 loc) · 1.44 KB

Docs

rm -rf .venv
uv sync
# Note: need to install core first because others depend on core
uv run maturin dev -m arro3-core/Cargo.toml
uv run maturin dev -m arro3-compute/Cargo.toml
uv run maturin dev -m arro3-io/Cargo.toml
uv run mkdocs serve

Adding a new module

  • Add new module to Github Actions matrix in wheels.yml
  • Update docs.yml to include module

Emscripten Python wheels

Install rust nightly and add wasm toolchain

rustup toolchain install nightly
rustup target add --toolchain nightly wasm32-unknown-emscripten

Install maturin and pyodide-build (choose a specific version of pyodide-build if desired)

pip install -U maturin
pip install pyodide-build

Clone emsdk. I clone this into a specific path at ~/github/emscripten-core/emsdk so that it can be shared across projects.

mkdir -p ~/github/emscripten-core/
git clone https://github.com/emscripten-core/emsdk.git ~/github/emscripten-core/emsdk
# Or, set this manually
PYODIDE_EMSCRIPTEN_VERSION=$(pyodide config get emscripten_version)
~/github/emscripten-core/emsdk/emsdk install ${PYODIDE_EMSCRIPTEN_VERSION}
~/github/emscripten-core/emsdk/emsdk activate ${PYODIDE_EMSCRIPTEN_VERSION}
source ~/github/emscripten-core/emsdk/emsdk_env.sh

Build arro3-core:

RUSTUP_TOOLCHAIN=nightly \
    maturin build \
    --release \
    -o dist \
    -m arro3-core/Cargo.toml \
    --target wasm32-unknown-emscripten \
    -i python3.11