[object Object]

← back to Exo

Add all prerequisites to README (#975)

fc41bfa1f1e6094c66cd1555b74e55ff6ddcfec1 · 2025-12-22 17:38:51 +0000 · rltakashige

## Motivation

Addresses #974 
```
INFO: pip is looking at multiple versions of exo to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement exo-pyo3-bindings (from exo) (from versions: none)
ERROR: No matching distribution found for exo-pyo3-bindings
```

## Changes

Describes Rust dependency for building from source

## Why It Works

<!-- Explain why your approach solves the problem -->

## Test Plan

### Manual Testing
<!-- Hardware: (e.g., MacBook Pro M1 Max 32GB, Mac Mini M2 16GB,
connected via Thunderbolt 4) -->
<!-- What you did: -->
<!-- - -->
Tested locally and runs after this setup without exo-pyo3-bindings error

### Automated Testing
<!-- Describe changes to automated tests, or how existing tests cover
this change -->
<!-- - -->

Files touched

Diff

commit fc41bfa1f1e6094c66cd1555b74e55ff6ddcfec1
Author: rltakashige <rl.takashige@gmail.com>
Date:   Mon Dec 22 17:38:51 2025 +0000

    Add all prerequisites to README (#975)
    
    ## Motivation
    
    Addresses #974
    ```
    INFO: pip is looking at multiple versions of exo to determine which version is compatible with other requirements. This could take a while.
    ERROR: Could not find a version that satisfies the requirement exo-pyo3-bindings (from exo) (from versions: none)
    ERROR: No matching distribution found for exo-pyo3-bindings
    ```
    
    ## Changes
    
    Describes Rust dependency for building from source
    
    ## Why It Works
    
    <!-- Explain why your approach solves the problem -->
    
    ## Test Plan
    
    ### Manual Testing
    <!-- Hardware: (e.g., MacBook Pro M1 Max 32GB, Mac Mini M2 16GB,
    connected via Thunderbolt 4) -->
    <!-- What you did: -->
    <!-- - -->
    Tested locally and runs after this setup without exo-pyo3-bindings error
    
    ### Automated Testing
    <!-- Describe changes to automated tests, or how existing tests cover
    this change -->
    <!-- - -->
---
 README.md | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 51a5928c..a79c2317 100644
--- a/README.md
+++ b/README.md
@@ -64,13 +64,20 @@ There are two ways to run exo:
 ### Run from Source (Mac & Linux)
 
 **Prerequisites:**
-- [uv](https://github.com/astral-sh/uv) (for Python dependency management)
+- [brew](https://github.com/Homebrew/brew) (for simple package management on MacOS)
   ```bash
-  brew install uv
+  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
   ```
+- [uv](https://github.com/astral-sh/uv) (for Python dependency management)
 - [macmon](https://github.com/vladkens/macmon) (for hardware monitoring on Apple Silicon)
+- [node](https://github.com/nodejs/node) (for building the dashboard)
+  ```bash
+  brew install uv macmon node
+  ```
+- [rust](https://github.com/rust-lang/rustup) (to build Rust bindings, nightly for now)
   ```bash
-  brew install macmon
+  curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
+  rustup toolchain install nightly
   ```
 
 Clone the repo, build the dashboard, and run exo:

← dd0638b7 pyproject: add pyinstaller to dev-dependencies  ·  back to Exo  ·  pyproject: drop pathlib dependency 02c915a8 →