Beautiful terminal output for Python. Zero dependencies.
Project description
✨ shinyshell
Beautiful terminal output for Python. Zero dependencies. One import.
from shinyshell import Shell
sh = Shell()
sh.success("Deployed to production!")
sh.table(users, title="Team Members")
sh.progress("Installing deps...")
sh.header("My CLI App")
sh.code("print('hello')")
sh.countdown(5, "Launching")
📸 Demo
from shinyshell import Shell
sh = Shell()
# Headers & banners
sh.header("DEPLOYMENT REPORT")
sh.banner("SHINY SHELL")
# Success / Warning / Error / Info
sh.success("Database migrated successfully")
sh.warning("Rate limit approaching — 93% used")
sh.error("Connection to API failed after 3 retries")
sh.info("Server running on http://localhost:8000")
# Beautiful tables
sh.table([
{"Name": "Alice Chen", "Role": "Backend Dev", "Status": "✅ Active"},
{"Name": "Bob Kumar", "Role": "Frontend", "Status": "✅ Active"},
{"Name": "Charlie D.", "Role": "Design Lead", "Status": "⏳ On Leave"},
], title="Team Status")
# Progress with spinner
sh.spinner("Compiling assets...")
update = sh.progress("Uploading")
for i in range(100):
update(i + 1, 100)
# Countdown
sh.countdown(5, "Deploying to production")
# Boxed content
sh.box("API Key: sk-****abcd\nEndpoint: /v1/chat\nModel: gpt-4", title="Configuration")
# Directory tree
sh.tree("./src", max_depth=2)
# Code blocks
sh.code("""
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
""")
# Metrics dashboard
sh.metrics({
"Users": 12483,
"Active Now": 342,
"Uptime": "✅ 99.9%",
"Error Rate": "0.02%",
"Avg Response": "23ms",
})
# Colored diff
sh.diff("hello world", "hello beautiful world")
# Interactive
if sh.confirm("Deploy to production?"):
sh.success("Ship it! 🚀")
# Horizontal rule
sh.hr("Section 2")
📦 Install
pip install shinyshell
No dependencies. Uses only Python standard library. Works on Linux, macOS, and Windows (PowerShell, CMD, Windows Terminal).
🎯 Features
| Feature | Description |
|---|---|
success() |
✅ Green success messages |
warning() |
⚠️ Yellow warnings |
error() |
❌ Red errors |
info() |
ℹ️ Cyan info |
header() |
Styled section headers |
banner() |
ASCII art banners |
table() |
Beautiful data tables |
box() |
Content in styled boxes |
code() |
Syntax-highlighted code blocks |
diff() |
Colored git diff |
tree() |
Directory trees |
metrics() |
Key-value dashboards |
spinner() |
Animated loading spinner |
progress() |
Progress bars |
countdown() |
Animated countdown |
confirm() |
Interactive y/n prompts |
choice() |
Interactive option picker |
hr() |
Horizontal rules with labels |
🤔 Why?
Every Python script prints to the terminal. Most output looks boring. shinyshell makes it beautiful — with zero dependencies.
Before:
Task completed
Users: 1042
ERROR: Connection failed
After:
✨ Task completed
📊 Users: 1,042
💥 Connection failed
🔧 Advanced
# Custom width
sh = Shell(width=80)
# Disable color
sh = Shell(color=False)
# Access icons
print(sh.icons["rocket"]) # 🚀
# Chaining
sh.success("Step 1 done").progress("Step 2...")
📄 License
MIT — © 2026 Adnan Ahamed Himal
⭐ Support
Found this useful? Star this repo and share it with your team!
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shinyshell-0.1.0.tar.gz.
File metadata
- Download URL: shinyshell-0.1.0.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc2c9c7dec423c7580da101c518dd97f38c314952d04fdcbf662fa757c935eff
|
|
| MD5 |
ef5304f88c5d6ccc703382bcb4131c2c
|
|
| BLAKE2b-256 |
1a5f368879ee2126b1740cf710136f07e725fafe8d1ebc11a42bfc9e2aa8ac21
|
File details
Details for the file shinyshell-0.1.0-py3-none-any.whl.
File metadata
- Download URL: shinyshell-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec6c8c2e25bf03f65a4970a79587077b58012312c8ced54e581b26476cbd6231
|
|
| MD5 |
6abadb952e1303571c8cf2fb42ae1b4d
|
|
| BLAKE2b-256 |
3fa2f1d6c9f06c27d0eec88d6c2841a74523c60b251c5f47438f537d82f1b4d7
|