Skip to main content

The Interactive UV Command Center — a Textual TUI for uv

Project description

⚡ FlexUV

FlexUV logo

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.


If you want, I can also give you 3 things that massively increase GitHub stars:

1️⃣ A README banner that looks like a dev tool homepage 2️⃣ A screenshot section that makes the project look polished 3️⃣ A Hacker News launch post that drives traffic to the repo

Those three together can take a repo from 0 → 500 stars very quickly.

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.0.tar.gz (277.7 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.0-py3-none-any.whl (277.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flex_uv-0.2.0.tar.gz
  • Upload date:
  • Size: 277.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Parrot Security","version":"7.1","id":"echo","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for flex_uv-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3c71950a78432f29284a9f9aa9a1a501c0a2cf9ac0d8bf3b8db2b3b14886835c
MD5 0bdd48d56589090cff5522dd8edc6155
BLAKE2b-256 c9463c90f9e5946e9ca3285632a80dfcb62d5f0f902e89a02c403f2e4ba5ec42

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flex_uv-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 277.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Parrot Security","version":"7.1","id":"echo","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for flex_uv-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b33e72d4a1c794a190979bc2efa2776b7e8a7eef33f47d0bf8878866cf6f197
MD5 987856f0354a7c876abfe25136aab0d4
BLAKE2b-256 18d007a5bd9c6c8bd2431d2f5c2c63af1991a192a0193cdf442e33e4faaba112

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