Install Milo

Install Milo using pip, uv, or from source.

1 min read 250 words

Requirements

Before You Start

1/3 complete
  • Python 3.14+ installed (free-threaded build recommended)
  • A terminal with TTY support
  • A text editor for templates

Install

uv pip install milo
pip install milo
git clone https://github.com/lbliii/milo.git
cd milo
uv sync --group dev --python 3.14t

Verify

milo --version

Free-threaded Python

Milo is designed for Python 3.14t with the GIL disabled (PEP 703). For maximum concurrency with sagas, run with:

PYTHON_GIL=0 python your_app.py

Tip

The_Py_mod_gil = 0 marker in Milo's __init__.py signals to CPython that the module is safe to use without the GIL. Saga concurrency via ThreadPoolExecutorbenefits directly from free-threading — no GIL contention on I/O-bound or CPU-bound effect handlers.

What gets installed

Package Role
milo Core framework — App, Store, Flow, Form, KeyReader
kida-templates Template engine for terminal rendering

Note

Milo has exactly one runtime dependencyKida. No click, no rich, no curses. The entire input, rendering, and state management stack is built-in.