Skip to main content
TermBoard Logo

A beautiful, interactive terminal dashboard for Python projects, environments, and tasks.


PyPI Python License


The Problem: "Why not just use a script?"

As developers, we often write Makefiles or bash scripts (like test.sh or lint.sh) to manage our project workflows. While scripts work, they have severe limitations:

  1. Context Switching: You have to remember the exact command or script name, type it out, and watch it vomit hundreds of lines of output into your terminal, erasing your history.
  2. Environment Hell: Did you remember to activate your virtual environment? Are you using uv, poetry, or conda? Running the wrong script in the wrong environment is a daily frustration.
  3. Discoverability: New developers joining your project don't know what scripts exist or what they do.

The Solution: TermBoard

TermBoard replaces your scripts with a persistent, interactive Terminal UI (TUI).

  • 🧠 Smart Environment Detection: TermBoard automatically detects if you are using uv, poetry, pipenv, or a standard .venv, and executes your tasks in the correct environment—no manual activation required.
  • Asynchronous Streaming: Tasks run asynchronously in the background. Their output is streamed directly into a beautiful, scrollable Rich Log window without freezing the UI or polluting your terminal history.
  • 🛠️ Fully Customizable: Define custom tasks in a termboard.toml file. Your team can clone the repo, run termboard, and instantly have a UI with clickable buttons for deploying, testing, and building.

✨ Features

📋 Project Info

Instantly see your project's version, python requirements, and virtual environment status.
Project Info

📦 Visual Package Manager (PyPI)

Search PyPI for packages, read descriptions, and install directly using uv add natively in the terminal.
Visual Package Manager

🌿 Git Integration

Shows current branch, uncommitted changes, and provides actions to stage, unstage, commit, and push.
Git Status

🐳 Docker Services

View, start, stop, and delete running Docker containers without leaving the dashboard.
Docker Services

🚀 Task Runner

Define and execute custom project tasks via ./termboard.toml or ~/.termboard.toml. Toggle interactive tasks to suspend the UI!
Task Runner

🐙 GitHub Integration

Browse active pull requests, monitor GitHub Actions workflow statuses, and track Issues natively.
GitHub Integration

⚙️ In-App Settings & 📁 Global Workspaces

Override environment variables, add new custom tasks, and save configurations globally. Easily switch between your recent projects using the Ctrl+P Quick Switcher.
Project Settings Global Settings

Installation

TermBoard is designed to be installed globally on your machine so you can run it inside any Python project.

1. Using uv (Recommended):

uv tool install termboard

2. Using pipx:

pipx install termboard

3. Using pip:

pip install termboard

Quick Start & Usage

Navigate to any Python project directory and use one of the following commands:

If installed globally (via uv tool, pipx, or global pip):

termboard

If you want to run it dynamically without installing:

uvx termboard

(If you don't have any custom tasks defined, TermBoard will automatically provide defaults for testing and linting).

💖 Support & Community

If you like TermBoard, please consider supporting the project!

Download files

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

Source Distribution

termboard-1.0.0.tar.gz (13.3 MB view details)

Uploaded Source

Built Distribution

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

termboard-1.0.0-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

Details for the file termboard-1.0.0.tar.gz.

File metadata

  • Download URL: termboard-1.0.0.tar.gz
  • Upload date:
  • Size: 13.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for termboard-1.0.0.tar.gz
Algorithm Hash digest
SHA256 18d2061bc436c4ac4c5d7bcb1777ddce1a07cb5eb8a3a3f8c10c59abb58412eb
MD5 4ce6da370dc2cfb38175b80cef631d89
BLAKE2b-256 d399636290e352d7119101dd03e6220678bf0245a0833a144c83a1c22b5f927d

See more details on using hashes here.

Provenance

The following attestation bundles were made for termboard-1.0.0.tar.gz:

Publisher: publish.yml on HeyShinde/TermBoard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file termboard-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: termboard-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 22.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for termboard-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b181be89cfc8ac026d102fc959a4ccb12208a545e0739976d52cb016b564f70c
MD5 ce0586a6c990bb9c3881636bbb52daa6
BLAKE2b-256 db5ce39e19be6223266061d5de0fdeae3971cacbf62437f32c59fc3a64bca0b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for termboard-1.0.0-py3-none-any.whl:

Publisher: publish.yml on HeyShinde/TermBoard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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