Installation¶
fast-axolotl ships pre-built wheels for Linux, macOS, and Windows on Python
3.10-3.12. For most users a single pip install is enough.
Requirements¶
- Python: 3.10, 3.11, or 3.12 (3.9 is not supported, 3.13+ is not yet tested)
- Operating system: Linux (x86_64, aarch64), macOS (x86_64, arm64), or Windows (x86_64)
- Runtime deps:
datasets >= 2.14.0,numpy >= 1.24.0(installed automatically)
No Rust toolchain is required when installing from PyPI.
Install from PyPI¶
Or using uv:
Install Alongside Axolotl¶
fast-axolotl is designed to live next to Axolotl; install both and let the
shim do the rest:
Install from Source¶
You only need this path for unsupported platforms or to hack on the Rust extension.
Prerequisites¶
# Rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
# maturin (Rust-Python build tool)
pip install maturin
Clone and build¶
git clone https://github.com/neul-labs/fast-axolotl.git
cd fast-axolotl
# uv path (recommended)
uv venv && source .venv/bin/activate
uv pip install -e .
# or pip + maturin
maturin develop --release
For development with tests and linters:
Verify the Install¶
import fast_axolotl
print(fast_axolotl.get_version())
# 0.2.0 (rust: 0.2.0)
print(fast_axolotl.is_available())
# True
print(fast_axolotl.list_supported_formats())
# ['parquet', 'arrow', 'feather', 'csv', 'json', 'jsonl', 'text',
# 'parquet.zst', 'parquet.gz', ..., 'hf_dataset']
If is_available() returns False, the Rust extension failed to load - see
Troubleshooting below.
Troubleshooting¶
is_available() returns False¶
The pure-Python wrapper loaded but the compiled _rust_ext module did not.
Typical causes:
- You built from source without
--release. Rebuild with: - Your Python version is outside the 3.10-3.12 range.
- The wheel for your platform is missing - reinstall with
--no-cache-dir:
Platform-specific notes¶
Linux - requires glibc 2.17+ (any modern distribution). musl libc is not
currently supported. On Debian/Ubuntu you may need python3-dev when
building from source.
macOS - First import may be slow because of code-signing verification;
subsequent imports are fast. Building from source requires
xcode-select --install.
Windows - Use forward slashes in paths for consistency. Paths longer than 260 characters can fail without long-path support enabled. Building from source requires the Visual Studio "Desktop development with C++" workload.
Next Steps¶
- Quick Start - run your first accelerated example
- Auto-Shimming - what the shim actually patches