Packages
All the Modular APIs and tools (including MAX and Mojo) are included in a
single Python/Conda package named modular
. This page explains what's in the
package and shows how to install it.
If you just want to get started with Modular, instead see our quickstart guide.
Package managers
You can install modular
as a Python or Conda package. The install
instructions below include commands for popular package managers such as
pixi
, uv
, pip
, and conda
, but you can also use something else.
Traditional tools like pip
and conda
might be necessary for existing
production environments or Docker containers, but for your local development,
we recommend using Pixi.
Pixi is both a package manager and virtual environment manager, which alone makes development a lot easier, but it's also language agnostic, extremely fast, and includes lock files to easily reproduce your project environment.
You'll notice that our GitHub code
examples include a
pixi.toml
file. This file configures the environment to make sure we all use
the same packages and get the same results—you just need to install pixi
.
So if you're not set on using a particular package manager, we suggest you try
pixi
. If you haven't used it before, check out our Pixi basics guide
or the official Pixi docs.
Install
To get the latest improvements and new features, we recommend installing our nightly build, which we release several times a week. If you want a better tested but older version, you can install a stable build. (Each release is described in the changelog.)
- pixi
- uv
- pip
- conda
- If you don't have it, install
pixi
:curl -fsSL https://pixi.sh/install.sh | sh
Then restart your terminal for the changes to take effect.
- Create a project:
pixi init example-project \ -c https://conda.modular.com/max-nightly/ -c conda-forge \ && cd example-project
- Install the
modular
conda package:- Nightly
- Stable
pixi add modular
pixi add "modular=25.5"
- Start the virtual environment:
pixi shell
- If you don't have it, install
uv
:curl -LsSf https://astral.sh/uv/install.sh | sh
Then restart your terminal to make
uv
accessible. - Create a project:
uv init example-project && cd example-project
- Create and start a virtual environment:
uv venv && source .venv/bin/activate
- Install the
modular
Python package:- Nightly
- Stable
uv pip install modular \ --index-url https://dl.modular.com/public/nightly/python/simple/ \ --prerelease allow
uv pip install modular \ --extra-index-url https://modular.gateway.scarf.sh/simple/
- Create a project folder:
mkdir example-project && cd example-project
- Create and activate a virtual environment:
python3 -m venv .venv/example-project \ && source .venv/example-project/bin/activate
- Install the
modular
Python package:- Nightly
- Stable
pip install --pre modular \ --index-url https://dl.modular.com/public/nightly/python/simple/
pip install modular \ --extra-index-url https://modular.gateway.scarf.sh/simple/
- If you don't have it, install conda. A common choice is with
brew
:brew install miniconda
- Initialize
conda
for shell interaction:conda init
If you're on a Mac, instead use:
conda init zsh
Then restart your terminal for the changes to take effect.
- Create a project:
conda create -n example-project
- Start the virtual environment:
conda activate example-project
- Install the
modular
conda package:- Nightly
- Stable
conda install -c conda-forge -c https://conda.modular.com/max-nightly/ modular
conda install -c conda-forge -c https://conda.modular.com/max/ modular
The modular
package installs MAX, Mojo, and other package dependencies.
Uninstall
- pixi
- uv
- pip
- conda
You can uninstall modular
from your virtual environment with this
command:
pixi remove modular
To deactivate your virtual environment, run:
exit
You can uninstall modular
from your virtual environment with the following
command:
uv pip uninstall modular
To deactivate your virtual environment, run:
deactivate
You can uninstall modular
from your virtual environment with the following
command:
pip uninstall modular
To deactivate your virtual environment, run:
deactivate
You can uninstall modular
from your virtual environment with this
command:
conda remove modular
To deactivate your virtual environment, run:
deactivate
What's included
Here's a summary of what's in the modular
package.
- conda/pixi
- pip/uv
The modular
Conda package installs the following:
- MAX tools and libraries:
- The
mojo
package:mojo
CLI (includes the Mojo compiler)- Mojo standard library
- Mojo language server (LSP) for IDE/editor integration
- Mojo debugger (includes LLDB)
- Mojo code formatter
- Mojo REPL
pixi
known issues:
- You might encounter issues if you invoke
pixi
within aconda
virtual environment. It's best if you don't mix the two tools.
The modular
Python wheel installs the following:
- MAX tools and libraries:
- The
mojo
package:mojo
CLI (includes the Mojo compiler)- Mojo standard library
- Mojo language server (LSP) for IDE/editor integration
- Mojo debugger (includes LLDB)
- Mojo code formatter
- Mojo REPL
System requirements
To install modular
, your system must meet these specifications.
- Mac
- Linux
- Windows
- macOS Ventura (13) or later
- Apple silicon (M1/M2/M3/M4 processor)
- Python 3.9 - 3.13
- Xcode or Xcode Command Line Tools
- We currently don't support Mac GPUs
- Ubuntu 22.04 LTS
- x86-64 CPU (with SSE4.2 or newer) or AWS Graviton2/3 CPU
- Minimum 8 GiB RAM (or much more, depending on the model you run)
- Python 3.9 - 3.13
- g++ or clang++ C++ compiler
- To use GPUs, see the GPU compatibility
Windows is not officially supported at this time.
In the meantime, you can try MAX on Windows with WSL, using a compatible version of Ubuntu (see our requirements for Linux).
GPU compatibility
The Modular Platform supports both CPUs and GPUs, so you don't always need a GPU to serve a model or program with Mojo. But if you do want to accelerate your model with GPUs or program for GPUs with Mojo, we support the following GPUs.
Because we don't test every variant of a GPU architecture, and support for new architectures will improve incrementally, we've divided our list of compatible GPUs into 3 tiers:
Tier 1: Fully supported
We provide full support and testing for the following data center GPUs:
- NVIDIA B200 (Blackwell)
- NVIDIA H100 and H200 (Hopper)
- NVIDIA A100 and A10 (Ampere)
- AMD Instinct MI355X (CDNA4)
- AMD Instinct MI300X and MI325X (CDNA3)
Tier 2: Confirmed compatibility
We've confirmed full compatibility with the following GPUs but we currently don't maintain tests for them:
- NVIDIA L4 and L40 (Ada Lovelace)
- NVIDIA RTX 40XX series (Ada Lovelace)
- NVIDIA RTX 30XX series (Ampere)
Tier 3: Limited compatibility
We've either confirmed or received reports that the following GPUs work for GPU programming with Mojo and can execute basic graphs with MAX APIs. However, these GPUs currently can't run some GenAI models for various reasons:
- NVIDIA Tesla P100 (Pascal)
- NVIDIA RTX 20XX series (Turing)
- NVIDIA T4 (Turing)
- NVIDIA Jetson Orin and Orin Nano (Ampere)
- NVIDIA GeForce RTX 3090 (Ampere)
- NVIDIA GeForce GTX 1080 Ti (Pascal)
- AMD Radeon 700M series (RDNA3)
- AMD Radeon RX 7000 series (RDNA3)
- AMD Radeon RX 9000 series (RDNA4)
If you've had success with any GPUs not listed here, please let us know on Discord.
GPU software requirements
Make sure you have the corresponding GPU software:
-
If you're on an NVIDIA GPU:
-
NVIDIA GPU driver version 550 or higher
- Check your NVIDIA GPU driver version using nvidia-smi
- To update, see the NVIDIA driver docs
-
-
If you're on an AMD GPU:
-
AMD GPU driver version 6.3.3 or higher
- For datacenter GPUs (MI300X/MI325X), see the Ubuntu native install guide
- For Radeon GPUs on Ubuntu, see the Linux install guide for Radeon software
- For Radeon GPUs on WSL, see the WSL install guide for Radeon software
-
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!