⚡ FlexUV
The Interactive Command Center for uv
Stop memorizing
uvcommands. Manage Python environments visually — without leaving your terminal.
FlexUV is a terminal UI (TUI) built with Textual that turns the uv Python ecosystem into a visual command center.
Instead of typing dozens of commands, you get a guided interface for managing projects, environments, dependencies, and tools.
Think:
LazyGit — but for Python environments.
🚀 Demo
███████╗██╗ ███████╗██╗ ██╗██╗ ██╗██╗ ██╗
██╔════╝██║ ██╔════╝╚██╗██╔╝██║ ██║██║ ██║
█████╗ ██║ █████╗ ╚███╔╝ ██║ ██║██║ ██║
██╔══╝ ██║ ██╔══╝ ██╔██╗ ██║ ██║╚██╗ ██╔╝
██║ ███████╗███████╗██╔╝ ██╗╚██████╔╝ ╚████╔╝
╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═══╝
FlexUV — The Interactive UV Command Center
✨ Features
🧭 Dashboard
See the state of your environment instantly.
- OS + Python detection
uvinstallation check- project detection
- environment markers
📦 Project Management
Run core uv workflows from a guided interface.
uv init
uv sync
uv lock
uv tree
Create new projects and configure:
- package name
- description
- Python version
📚 Dependency Management
Add or remove dependencies quickly.
uv add fastapi
uv remove requests
Run commands directly inside your project environment.
🐍 Python Version Manager
Manage Python versions with uv.
uv python install 3.12
uv python list
uv python find
uv python pin
🧰 Tool Manager
Install global developer tools.
uv tool install ruff
uv tool uninstall black
uv tool list
Run tools with uv tool run.
🔁 Pip Compatibility Mode
Still need pip workflows?
FlexUV exposes:
uv pip install
uv pip uninstall
uv pip list
uv pip freeze
uv pip tree
⚡ Command Center
Quick-access presets:
uv version
uv self update
uv cache dir
uv cache clean
uv tool list
uv python list
Or run custom uv commands.
📜 Command Logging
Every command executed is logged.
$ uv add textual
Installed successfully
(exit code: 0)
No hidden magic — you always see what happens.
🖥 Interface
FlexUV organizes everything into tabs:
Dashboard
Project
Python
Tools
Pip Mode
Command Center
Logs
It’s designed to feel like a modern terminal application.
📦 Installation
First install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
Then run FlexUV:
python app.py
🧠 Why FlexUV Exists
uv is incredibly powerful.
But command-heavy tools have a discoverability problem.
FlexUV solves this by providing:
- visual workflows
- command guidance
- environment awareness
- command logs
- safer actions
All without leaving the terminal.
🛠 Built With
- Python
- Textual
- Rich
- uv
🗺 Roadmap
Planned improvements:
- dependency graph visualization
- environment health checks
- plugin system
- task runner integration
- project templates
- package security scanning
⭐ Contributing
Contributions welcome!
If you have ideas, open an issue or PR.
🔥 If You Like This Project
Give it a ⭐ on GitHub.
It helps the project grow and reach more developers.
eth:0xC6139506fa54c450948D9D2d8cCf269453A54f17
Release files for flex-uv 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flex_uv-0.2.1.tar.gz | 278.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flex_uv-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 556.0 kB
Release files / flex_uv-0.2.1.tar.gz
| Download URL | flex_uv-0.2.1.tar.gz |
|---|---|
| Size | 278.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f75c03e7b4325296843b50d94a0498620abd00bf1f6aab0f13251a483ea0ba5d
|
|
BLAKE2b-256 checksum How to use checksums |
9cde80784525323c5ceba7bb4d62b91aac80848a4b122c34bf4d6f6b56aa2409
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / flex_uv-0.2.1-py3-none-any.whl
| Download URL | flex_uv-0.2.1-py3-none-any.whl |
|---|---|
| Size | 278.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d1c8abcddc0531c668762994aedd8d42eec15ef21d331bfeec9f72518726c4fa
|
|
BLAKE2b-256 checksum How to use checksums |
7efe14078e8aa2073ab09307edfafed7d3571323e1b3eff53df4ee9f569217ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|