what is it?

  • tool that manages installations of programming language runtimes and other tools for local development
  • like direnv it manages environment variables for different project directories
  • like make it manages tasks used to build and test projects

installation

curl https://mise.run | sh

python and uv workflow

cd into your project directory, choose python version for your project and add tools such as uv

cd example_project
 
mise use [email protected]
mise use uv

initialize the project with uv

uv init --bare
uv venv

edit mise.toml and add virtual environment settings

mise.toml
[env]
# Use the project name derived from the current directory
PROJECT_NAME = "{{ config_root | basename }}"
 
# Update this if you're using something different than the default .venv dir
UV_PROJECT_ENVIRONMENT = ".venv"
 
# Automatic virtualenv activation
_.python.venv = { path = ".venv", create = false }

add python modules from requirements.txt or manually

uv add -r requirements.txt

add dev dependencies

uv add --dev django-model-info