DEV Community

How I built shinyshell - 127 terminal features with zero dependencies

I spent months building a Python terminal library that rivals Rich's feature set but uses zero external dependencies. Here's the technical breakdown.

What It Does

from shinyshell import Shell
sh = Shell()
  • ๐Ÿ“Š Charts - pie, bar, line, histogram, scatter, waterfall, heatmap, gauge
  • ๐Ÿ“‹ Tables - professional tables with 5 border styles
  • ๐ŸŽฎ Games - slot machine, dice roller, magic 8 ball, coin flip
  • ๐Ÿ“ฑ QR Codes - generated entirely from stdlib (hashlib!)
  • ๐Ÿ’ป Dev Tools - syntax highlighting, diff viewer, git log, HTTP client
  • ๐Ÿ”ง Decorators - trace, @retry, @throttle, @background
  • โŒจ๏ธ Interactive - arrow-key menu, forms, autocomplete, password input
  • ๐ŸŽจ Effects - confetti, matrix rain, typewriter, neon, rainbow, marquee

The Zero-Dependency Constraint

The entire library uses only Python standard library. No pip install nightmares. Every color, every table border, every animation - built from sys.stdout.write() and ANSI escape sequences.

Windows was Hard

CMD doesn't support ANSI by default. Had to use ctypes + kernel32 to enable virtual terminal processing. Windows Terminal works perfectly, cmd.exe has limited Unicode.

Arrow-Key Menu

Raw terminal I/O with tty.setraw() - reading \x1b[A for up arrow, \x1b[B for down. Platform-specific and surprisingly nuanced.

Cross-Platform

โœ… Ubuntu / macOS Terminal / iTerm2 / Windows Terminal / PowerShell / Docker / GitHub Actions

Numbers

127 features | 0 dependencies | ~3200 lines | 3.8+ Python

Try It

pip install shinyshell
from shinyshell import Shell
sh = Shell()
sh.confetti()  # ๐ŸŽ‰

GitHub: https://github.com/adnanahamed66772ndpc/shinyshell
PyPI: https://pypi.org/project/shinyshell/

Built with โค๏ธ in Dhaka ๐Ÿ‡ง๐Ÿ‡ฉ

Comments

No comments yet. Start the discussion.