make your boring python scripts look like a movie
Project description
โก python_vibe
๐ค what is this
you write python. your terminal output looks like dogwater.
pyvibe fixes that. with zero effort.
two lines. that's it.
import pyvibe
pyvibe.enable()
now every print, every loop, every error, every table โ automatic cinema.
no rewrites. no boilerplate. your existing code just... glows up.
๐ฆ install
pip install pyvibe
want the full dashboard mode (textual TUI)?
pip install pyvibe[full]
๐ quick start
before pyvibe ๐ญ
data = {"name": "rahul", "score": 99, "city": "bhopal"}
print(data)
# {'name': 'rahul', 'score': 99, 'city': 'bhopal'}
for i in range(100):
process(i)
# [nothing. just cursor blinking. you questioning your life choices.]
after pyvibe ๐ฅ
import pyvibe
pyvibe.enable()
data = {"name": "rahul", "score": 99, "city": "bhopal"}
print(data)
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# โ name โ score โ city โ
# โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโโโค
# โ rahul โ 99 โ bhopal โ
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
for i in pyvibe.track(range(100)):
process(i)
# โ ฟ Processing โโโโโโโโโโโโโโโโ 73% [0:00:02] item 73/100
๐ฌ demo
๐ธ [GIF PLACEHOLDER] โ imagine a dark terminal with neon green animations, animated progress bars, beautiful tables, glowing error panels. that's what this looks like. gif coming soon, too busy shipping.
๐ table of contents
๐จ theme gallery
pyvibe ships with 10 handcrafted themes. pick your vibe.
| theme | description | feel |
|---|---|---|
cyber |
neon blue + electric green, dark bg | hacker movie protagonist |
masala |
warm oranges, saffron, deep reds | chai, spice, chaos. very desi. |
chai_mode |
earthy browns, cream, soft gold | 2am chai and chill |
neon |
full rgb overload, dark void bg | synthwave fever dream |
retro |
amber/green monochrome CRT vibes | your grandpa's terminal (cool version) |
dracula |
purple, pink, clean. the classic | every dev's comfort food |
ocean |
cool blues, teals, calm whites | productive, clean, focused |
desi_chaos |
random colour per run. pure anarchy | for when you've stopped caring |
minimal |
no colors. just clean structure | presentation mode, boss walked in |
midnight |
deep navy + soft lavender | 3am grind, lofi beats, shipping |
pyvibe.set_theme("masala") # โ desi mode activated
pyvibe.set_theme("cyber") # ๐ต go full hackerman
pyvibe.set_theme("chai_mode") # works best with actual chai
โจ features
- ๐จ๏ธ auto-pretty print โ dicts, lists, dataframes โ instant tables. no code changes.
- ๐ smart progress โ
pyvibe.track(iterable)wraps any loop with a live bar - ๐ฅ cinematic errors โ exceptions get formatted with context, suggestions, syntax highlighted
- ๐จ 10 themes โ swap vibes with one line
- ๐ auto tables โ any list-of-dicts becomes a rich table automatically
- ๐งฐ log takeover โ your
loggingmodule output gets beautified too - โฑ๏ธ @vibe decorator โ time + log any function with one decorator
- ๐ฅ๏ธ live dashboard โ optional TUI dashboard for long-running scripts (needs
[full]) - ๐ฅ error doctor โ smart error explanations with hints (stub, improving)
- โ masala mode โ chai emoji on success, because we're from bhopal and we can
๐ api reference
import pyvibe
# core
pyvibe.enable() # turn on the magic
pyvibe.disable() # back to boring (why tho)
pyvibe.set_theme("cyber") # change theme anytime
# progress
for item in pyvibe.track(data, desc="crunching"):
process(item)
# decorators
@pyvibe.vibe
def my_function():
...
# auto logs timing, args, return val with style
# manual stuff
pyvibe.log("something happened") # styled info log
pyvibe.success("it worked!") # โ
green + celebratory
pyvibe.warn("hmm") # โ ๏ธ warning panel
pyvibe.error("oh no") # ๐ฅ error panel
# tables
pyvibe.table(list_of_dicts) # render a table directly
pyvibe.inspect(any_object) # pretty inspect any object
# dashboard (needs pyvibe[full])
pyvibe.start_dashboard()
๐ฅ why it slaps
rich is great. but you have to rewrite your whole print logic.
loguru is cool. but it's just logging.
textual is amazing. but it's a whole framework.
pyvibe is different. it wraps everything automatically.
your existing code. zero changes. maximum vibe.
it's the library you install at 2am and forget to remove because why would you.
๐ examples
check the examples/ folder:
simple_script.pyโ basic before/after demodata_pipeline.pyโ pandas pipeline with auto-tabletraining_loop.pyโ fake ML training loop, looks realfastapi_demo.pyโ middleware for request logging
cd examples
python training_loop.py # run this one first. trust me.
๐ค contributing
PRs welcome. issues welcome. vibes mandatory.
git clone https://github.com/yourname/pyvibe
cd pyvibe
pip install -e ".[dev]"
pytest tests/
ideas for contribution:
- new themes (especially regional/cultural ones)
- better error suggestions
- jupyter notebook support
- more auto-detect patterns
if you add a theme, name it something fun. no theme_blue_v2 garbage.
๐ license
MIT. do whatever. just don't remove the chai emoji.
if this made your terminal less ugly, smash that โญ
built with โ chai and mild sleep deprivation in bhopal, india
Project details
Release history Release notifications | RSS feed
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 python_vibe-0.1.0.tar.gz.
File metadata
- Download URL: python_vibe-0.1.0.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c61ce9078708b0f68cec1d5b93cf68514ac0ea6b529408eb02eb0da6dbbc5fa
|
|
| MD5 |
e46c3d800ea0059296904d876176c496
|
|
| BLAKE2b-256 |
c51f158ffc500d83e7a396bad05e6f33d4f94fd29ece111fa42b1763f752a998
|
File details
Details for the file python_vibe-0.1.0-py3-none-any.whl.
File metadata
- Download URL: python_vibe-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15e0f99e974f9391ad163f58c2ed6628f50317438078307d426476038a52820b
|
|
| MD5 |
d09979ef7390e840c5fef9c178f35467
|
|
| BLAKE2b-256 |
2be2a0c24e1a1498b35126bc6696a3eca01389e08790c52f86e97b8ca4bc7861
|