GitHub - HeyShinde/TermBoard · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
HeyShinde
TermBoard
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>3 Commits<br>3 Commits
.github/workflows
.github/workflows
assets
assets
docs
docs
site
site
src/termboard
src/termboard
.gitignore
.gitignore
.python-version
.python-version
README.md
README.md
main.py
main.py
mkdocs.yml
mkdocs.yml
pyproject.toml
pyproject.toml
termboard.toml
termboard.toml
uv.lock
uv.lock
View all files
Repository files navigation
🎯 TermBoard
A beautiful, interactive terminal dashboard for Python projects, environments, and tasks.
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:
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.
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.
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.
Dependency Viewer: A clean data table of all your project's dependencies parsed directly from pyproject.toml.
Dynamic Tasks Engine: Clickable buttons for your workflows (e.g., pytest, ruff) that execute asynchronously.
In-App Settings: Override environment variables, add new custom tasks, and save configurations globally without leaving the terminal.
Installation
TermBoard is designed to be installed globally on your machine so you can run it inside any Python project.
Using uv (Recommended):
uv tool install termboard
Using pipx:
pipx install termboard
Quick Start
Navigate to any Python project directory and simply type:
termboard
(If you don't have any custom tasks defined, TermBoard will automatically provide defaults for testing and linting).
About<br>heyshinde.github.io/TermBoard/<br>Topics<br>clideveloper-toolspythontextualtui<br>Resources<br>Readme<br>Activity<br>Stars<br>0 stars<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report repository
Releases
Packages
Contributors
Languages
You can’t perform that action at this time.