Skip to main content

The Interactive UV Command Center — a Textual TUI for uv

Project description

⚡ FlexUV


Sheen Banner


The Interactive Command Center for uv

Stop memorizing uv commands. 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
  • uv installation 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

Screenshot_20260315_033946.png

Screenshot_20260315_034032.png

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flex_uv-0.2.1.tar.gz (278.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flex_uv-0.2.1-py3-none-any.whl (278.0 kB view details)

Uploaded Python 3

File details

Details for the file flex_uv-0.2.1.tar.gz.

File metadata

  • Download URL: flex_uv-0.2.1.tar.gz
  • Upload date:
  • Size: 278.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for flex_uv-0.2.1.tar.gz
Algorithm Hash digest
SHA256 f75c03e7b4325296843b50d94a0498620abd00bf1f6aab0f13251a483ea0ba5d
MD5 83c85ae27d5605a45124aaea62f8aa74
BLAKE2b-256 9cde80784525323c5ceba7bb4d62b91aac80848a4b122c34bf4d6f6b56aa2409

See more details on using hashes here.

File details

Details for the file flex_uv-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: flex_uv-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 278.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for flex_uv-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d1c8abcddc0531c668762994aedd8d42eec15ef21d331bfeec9f72518726c4fa
MD5 34814931ffae704985a28b6d9ddd0523
BLAKE2b-256 7efe14078e8aa2073ab09307edfafed7d3571323e1b3eff53df4ee9f569217ff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page