Metadata-Version: 2.4
Name: shinyshell
Version: 0.5.1
Summary: Python library for beautiful terminal output — colored printing, tables, progress bars, syntax highlighting, bar charts, QR codes, and more. Zero dependencies.
Home-page: https://github.com/adnanahamed66772ndpc/shinyshell
Author: Adnan Ahamed Himal
Author-email: hello@adnanahamedhimal.com
Project-URL: Source, https://github.com/adnanahamed66772ndpc/shinyshell
Project-URL: Bug Reports, https://github.com/adnanahamed66772ndpc/shinyshell/issues
Project-URL: Discussions, https://github.com/adnanahamed66772ndpc/shinyshell/discussions
Project-URL: Documentation, https://github.com/adnanahamed66772ndpc/shinyshell#readme
Keywords: terminal,cli,console,pretty,beautiful,output,print,colors,ansi,progress bar,table,spinner,syntax highlighting,diff,json,bar chart,qr code,ascii art,markdown,debug,trace,logging,bash,shell,colored,formatting,rich,colorama,termcolor,python library,python package,python cli,python terminal,developer tools,devtools,zero dependency
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Terminals
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Topic :: Utilities
Classifier: Environment :: Console
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-python
Dynamic: summary

# ✨ shinyshell — The Most Feature-Rich Zero-Dependency Python Terminal Library

<p align="center">
  <b>127 features. 0 dependencies. Pure Python stdlib.</b><br>
  <i>Tables, charts, progress bars, games, QR codes, code highlighting, diff viewer,<br>
  HTTP client, JSON/YAML/XML formatters, and much more — all in one import.</i>
</p>

<p align="center">
  <a href="https://pypi.org/project/shinyshell/"><img src="https://img.shields.io/pypi/v/shinyshell?color=green" alt="PyPI"></a>
  <a href="https://pypi.org/project/shinyshell/"><img src="https://img.shields.io/pypi/pyversions/shinyshell" alt="Python"></a>
  <a href="LICENSE"><img src="https://img.shields.io/github/license/adnanahamed66772ndpc/shinyshell" alt="MIT"></a>
  <a href="https://pypi.org/project/shinyshell/"><img src="https://img.shields.io/pypi/dm/shinyshell"></a>
  <a href="https://github.com/adnanahamed66772ndpc/shinyshell"><img src="https://img.shields.io/github/stars/adnanahamed66772ndpc/shinyshell?style=social"></a>
</p>

---

## 📦 Why shinyshell?

- **127 features** — the most feature-rich zero-dep terminal library for Python
- **Zero dependencies** — pure Python stdlib (`os`, `sys`, `shutil`, `json`, `csv`, `hashlib`)
- **Cross-platform** — Linux, macOS, Windows Terminal, PowerShell, CMD, VS Code
- **Production-ready** — scripts, CLIs, CI/CD pipelines, Docker containers
- **~2800 lines** — small, readable, easy to contribute to

### vs Alternatives

| | shinyshell | rich | colorama | termcolor |
|---|-----------|------|----------|-----------|
| Dependencies | **0** | 10+ | 0 | 0 |
| Features | **127** | 50+ | 3 | 5 |
| Tables | ✅ | ✅ | ❌ | ❌ |
| Charts | ✅ | ✅ | ❌ | ❌ |
| Code highlight | ✅ | ✅ | ❌ | ❌ |
| QR codes | ✅ | ❌ | ❌ | ❌ |
| Games | ✅ | ❌ | ❌ | ❌ |
| Animations | ✅ | ✅ | ❌ | ❌ |
| Git viewer | ✅ | ✅ | ❌ | ❌ |
| HTTP client | ✅ | ❌ | ❌ | ❌ |
| Decorators | ✅ | ❌ | ❌ | ❌ |
| Forms | ✅ | ✅ | ❌ | ❌ |

> **shinyshell** = Rich's features + Colorama's portability + 77 extra features — all with zero deps.

---

## 🚀 Quick Start

```bash
pip install shinyshell
```

```python
from shinyshell import Shell
sh = Shell()
```

---

## 📚 Complete Feature Reference (127 features)

### 💬 Messages & Status
```python
sh.success("Done!")       # ✨ Green success
sh.error("Failed!")       # 💥 Red error
sh.warning("Careful!")    # ⚠️ Yellow warning
sh.info("Running...")     # ℹ️ Cyan info
```

### 📐 Layout & Headers
```python
sh.header("MY APP")       # ╔═ Boxed header
sh.header("Section", 2)   # ── Simple header
sh.banner("SHINY")        # ASCII art banner
sh.hr()                   # ─── Horizontal rule
sh.hr("Section 1")        # Labeled rule
sh.rule()                 # Gradient rule
sh.box("content", "Title") # ╭─ Boxed content
```

### 📊 Tables & Data
```python
sh.table(users, title="Team")          # Professional tables
sh.metrics({"CPU":"45%","RAM":"8GB"})  # Key-value dashboard
sh.timeline(events)                     # Vertical timeline
sh.columns(items, cols=3)              # Side-by-side columns
sh.grid(items, cols=2)                 # Grid layout
```

### 📈 Charts & Visualizations
```python
sh.pie({"Python":45,"JS":30,"Go":25})          # ASCII pie chart
sh.bar({"A":85,"B":62,"C":45})                 # Bar chart
sh.line_chart([1,5,2,8,3,9])                   # Line chart
sh.histogram([1,2,2,3,3,3,4,5])               # Histogram
sh.scatter([(1,2),(3,5),(4,3)])                # Scatter plot
sh.waterfall([("Start",100),("+Sales",50)])    # Waterfall chart
sh.donut({"A":30,"B":70})                       # Donut chart
sh.bullet_graph("Revenue", 75, 90)              # Bullet graph
sh.heatmap([[1,2,3],[4,5,6],[7,8,9]])          # Heatmap
sh.sparkline([1,5,2,8,3,9])                    # ▁▃▁▆▂█
sh.gauge(75, 100, "CPU")                       # Gauge meter
```

### 🔄 Progress & Loading
```python
sh.spinner("Loading...", 3.0)         # Animated spinner
sh.progress("Uploading")              # Progress bar
sh.countdown(5, "Launching")          # 5...4...3...
sh.benchmark("Processing")            # ⏱️ Timed context
sh.live()                             # Live-updating display
sh.steps("Deploy", total=5)           # Step tracker
sh.timer(30, "Break")                 # Countdown timer
sh.pomodoro(25, 5, 4)                # 🍅 Pomodoro timer
```

### 💻 Code & Development
```python
sh.code(python_source)                # Syntax highlighting
sh.diff(old, new)                     # Colored git diff
sh.git_log(10)                        # Pretty git log
sh.git_status()                       # Pretty git status
sh.stack_trace()                      # Pretty stack trace
sh.process_info()                     # Process metrics
sh.pip_list("django")                 # Pretty pip list
sh.filewatch("app.py")               # File change watcher
```

### 🌐 Network & Web
```python
sh.http("GET", "https://api.example.com")  # HTTP viewer
sh.network_ping("google.com")              # Ping with visuals
sh.network_status("https://example.com")   # HTTP status check
sh.dns_lookup("google.com")               # DNS lookup
sh.ip_info("8.8.8.8")                     # IP geolocation
```

### 📁 Files & System
```python
sh.tree("./src")                      # Directory tree
sh.disk_usage("/")                    # Disk usage gauge
sh.file_permissions("app.py")        # Permission viewer
sh.checksum("file.bin", "sha256")    # File hash
sh.config(".env")                     # Config file viewer
sh.csv("data.csv")                    # CSV viewer
sh.sql_table(rows)                    # SQL result viewer
sh.env("PYTHON")                      # Environment viewer
sh.version()                          # System version info
```

### 📄 Data Formats
```python
sh.json(data)                         # Colored JSON
sh.markdown(text)                     # Terminal markdown
sh.xml("<root><item/></root>")       # Colored XML
sh.yaml_view(yaml_text)              # YAML viewer
sh.hexdump(b"hello world")           # Hex dump
sh.jwt_decode(token)                  # JWT decoder
sh.url_parse(url)                     # URL parser
sh.base64_encode("hello")            # Base64 encode
sh.uuid_gen(5)                        # UUID generator
```

### 🔐 Security & Debug
```python
sh.secret("sk-abc123")               # sk-****123
sh.password("Enter key:")            # Masked input + strength
sh.debug(user, status)               # Type + value + location
sh.trace                              # @sh.trace decorator
sh.dict_diff(old, new)               # Deep dict comparison
```

### 🎮 Games & Fun
```python
sh.slot(5)                            # 🍒 Slot machine
sh.coin_flip()                        # 🪙 Coin flip
sh.magic8()                           # 🎱 Magic 8 ball
sh.dice(6, 2)                        # 🎲 Dice roller
sh.spin_wheel(["A","B","C"])         # 🎡 Spin wheel
sh.matrix(10)                         # Matrix rain
sh.confetti(5)                        # 🎉 Confetti
sh.marquee("Breaking News!")         # Scrolling text
sh.particles(5)                       # Particle animation
```

### 🎨 Visual Effects
```python
sh.rainbow("Hello World")            # 🌈 Rainbow text
sh.gradient_text("Gradient")         # Color gradient
sh.neon("NEON")                       # Neon glow
sh.typewrite("Hello...")             # Typewriter effect
sh.color_picker()                     # ANSI color browser
sh.color_grid()                       # RGB color grid
```

### 📝 Text Utilities
```python
sh.wrap_text(long_text, width=60)    # Word wrap
sh.truncate(text, 50)                 # Smart truncation
sh.align_text("Hi", 40, "center")   # Text alignment
sh.highlight(text, "keyword")        # Keyword highlight
sh.ordinal(42)                        # → "42nd"
sh.pluralize("file", 3)              # → "files"
sh.camel_case("hello world")         # → "helloWorld"
sh.snake_case("HelloWorld")          # → "hello_world"
sh.strip_ansi(escaped)               # Remove ANSI
```

### 🖼️ Images & QR
```python
sh.qr("https://github.com")          # Terminal QR code
sh.image("photo.jpg", width=80)      # Image → ASCII (needs Pillow)
sh.screenshot("output.txt")          # Capture terminal
```

### ⌨️ Interactive
```python
sh.confirm("Deploy?")                 # Yes/No prompt
sh.choice("Select:", ["A","B","C"])  # Pick from list
sh.input("Name:", default="World")   # Styled input
sh.form([("Name:",str),("Age:",int)]) # Multi-field form
sh.toggle("Dark Mode", True)         # Toggle switch
sh.autocomplete("Search:", options)  # Filter-as-you-type
sh.menu(["Deploy","Rollback"])       # Arrow-key menu
```

### 🎧 Audio & Clipboard
```python
sh.audio_beep(3)                      # Terminal beep
sh.audio_ding()                       # System ding
sh.clipboard_copy("Hello")           # Copy to clipboard
sh.notify("Build complete")          # Desktop notification
```

### 🔧 Decorators & Utils
```python
@sh.trace                             # Auto-log function calls
@sh.retry(3)                          # Auto-retry on failure
@sh.throttle(1.0)                     # Rate limiting
@sh.background                        # Run in background thread

sh.batch(items, 10, callback=fn)     # Batch processor
sh.sleep(5, "Cooling down")          # Pretty sleep
```

### 🔗 Utility Methods
```python
sh.link("GitHub", url)               # Clickable link
sh.badge("v5.0", "green")            # Colored badge
sh.emoji("rocket")                    # → 🚀
sh.venn({1,2,3}, {2,3,4})           # Set comparison
sh.calendar(2026, 7)                 # Monthly calendar
sh.pipe(data).table().metrics()      # Chained output
```

### 📼 Session
```python
sh.session_start("debug")            # Record session
# ... your code ...
sh.session_stop()                     # Stop recording
```

---

## 📊 Feature Count by Category

| Category | Count | Examples |
|----------|-------|----------|
| Messages | 4 | success, error, warning, info |
| Layout | 7 | header, banner, hr, rule, box |
| Charts | 11 | pie, bar, line, histogram, scatter, waterfall |
| Progress | 8 | spinner, progress, countdown, benchmark, live |
| Code | 6 | code, diff, git_log, stack_trace, pip_list |
| Network | 6 | http, ping, status, dns, ip_info |
| Files | 7 | tree, disk_usage, checksum, csv, config |
| Data | 9 | json, markdown, xml, yaml, hexdump, jwt |
| Games | 9 | slot, coin, magic8, dice, matrix, confetti |
| Visual | 7 | rainbow, gradient, neon, typewrite, particles |
| Text | 8 | wrap, truncate, align, ordinal, camel_case |
| Interactive | 8 | confirm, choice, menu, form, autocomplete |
| Security | 4 | secret, password, debug, dict_diff |
| Tables | 4 | table, metrics, timeline, grid |
| Utils | 10 | trace, retry, throttle, batch, link, badge |
| QR/Image | 4 | qr, image, screenshot, color_picker |
| Audio | 3 | beep, ding, notify |
| Session | 2 | start, stop |
| **TOTAL** | **127** | |

---

## ⭐ Support

If this library saved you time, **star the repo** and share it!

```bash
pip install shinyshell
```

<p align="center">
  <a href="https://github.com/adnanahamed66772ndpc/shinyshell">⭐ GitHub</a>
  · <a href="https://pypi.org/project/shinyshell/">📦 PyPI</a>
  · <a href="https://adnanahamedhimal.com">🌐 Author</a>
</p>

MIT © 2026 Adnan Ahamed Himal
