Installation¶
This guide covers all installation methods for fast-axolotl.
Requirements¶
- Python: 3.10, 3.11, or 3.12
- Platforms: Linux (x86_64, aarch64), macOS (x86_64, Apple Silicon), Windows (x86_64)
Install from PyPI (Recommended)¶
The simplest way to install fast-axolotl is via pip:
Pre-built wheels are available for all supported platforms, so no compilation is required.
Install from Source¶
If you need to build from source (e.g., for development or unsupported platforms):
Prerequisites¶
-
Rust toolchain (1.70 or later):
-
maturin (Rust-Python build tool):
Build and Install¶
# Clone the repository
git clone https://github.com/neul-labs/fast-axolotl.git
cd fast-axolotl
# Build and install in development mode
maturin develop --release
# Or build a wheel
maturin build --release
pip install target/wheels/fast_axolotl-*.whl
Verify Installation¶
After installation, verify that fast-axolotl is working correctly:
import fast_axolotl
# Check version
print(f"Version: {fast_axolotl.__version__}")
# Check Rust extension
print(f"Rust available: {fast_axolotl.rust_available()}")
# List supported formats
print(f"Formats: {fast_axolotl.list_supported_formats()}")
Expected output:
Version: 0.1.x
Rust available: True
Formats: ['parquet', 'arrow', 'feather', 'json', 'jsonl', 'csv', 'text']
Installation with Axolotl¶
fast-axolotl is designed to work alongside Axolotl. Install both:
Then enable acceleration in your training script:
Troubleshooting¶
ImportError: Rust extension not found¶
If you see this error, the Rust extension failed to load. Try:
-
Reinstall the package:
-
Check Python version: Ensure you're using Python 3.10, 3.11, or 3.12.
-
Check platform: Verify your platform is supported (see Requirements above).
Build errors from source¶
If building from source fails:
-
Update Rust:
-
Install build dependencies (Linux):
-
Install build dependencies (macOS):
Performance issues¶
If performance is worse than expected:
- Ensure you're using the release build (not debug)
- Check that the Rust extension is loaded:
fast_axolotl.rust_available() - See Best Practices for optimization tips
Virtual Environments¶
We recommend using a virtual environment:
Next Steps¶
- Quick Start - Get started with your first example
- Streaming Data Guide - Learn about streaming data loading