Metadata-Version: 2.4
Name: shinyshell
Version: 0.7.0
Summary: Python library for beautiful terminal output — colored printing, tables, progress bars, charts, QR codes, and more. Zero dependencies.
Home-page: https://github.com/adnanahamed66772ndpc/shinyshell
Author: Adnan Ahamed Himal
Author-email: Adnan Ahamed Himal <shovroahamed6677@zohomail.com>
License: MIT
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
Provides-Extra: qrcode
Requires-Dist: qrcode>=7.4; extra == "qrcode"
Provides-Extra: image
Requires-Dist: Pillow>=9.0; extra == "image"
Provides-Extra: all
Requires-Dist: qrcode>=7.4; extra == "all"
Requires-Dist: Pillow>=9.0; extra == "all"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

<h1 align="center">
  <img src="https://raw.githubusercontent.com/twitter/twemoji/master/assets/svg/2728.svg" width="42" alt="sparkles">
  <br>
  shinyshell
  <br>
  <sub><b>The Most Feature-Rich Zero-Dependency Python Terminal Library</b></sub>
</h1>

<p align="center">
  <b>130+ features. 0 dependencies. Pure Python stdlib.</b><br>
  <i>Tables, charts, progress bars, games, QR codes, code highlighting, HTTP client,<br>
  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?style=for-the-badge&color=3776AB&label=PyPI" alt="PyPI version"></a>
  <a href="https://pypi.org/project/shinyshell/"><img src="https://img.shields.io/pypi/pyversions/shinyshell?style=for-the-badge&color=FFD43B&label=Python" alt="Python versions"></a>
  <a href="https://pypi.org/project/shinyshell/"><img src="https://img.shields.io/pypi/dm/shinyshell?style=for-the-badge&color=success&label=Downloads" alt="Downloads"></a>
  <a href="LICENSE"><img src="https://img.shields.io/github/license/adnanahamed66772ndpc/shinyshell?style=for-the-badge&color=blue&label=License" alt="MIT License"></a>
  <a href="https://github.com/adnanahamed66772ndpc/shinyshell"><img src="https://img.shields.io/github/stars/adnanahamed66772ndpc/shinyshell?style=for-the-badge&color=e4b400&label=Stars" alt="GitHub stars"></a>
  <a href="https://github.com/adnanahamed66772ndpc/shinyshell/actions"><img src="https://img.shields.io/github/actions/workflow/status/adnanahamed66772ndpc/shinyshell/ci.yml?style=for-the-badge&label=CI" alt="CI"></a>
  <br>
  <img src="https://img.shields.io/badge/features-130%2B-ff69b4?style=for-the-badge" alt="130+ features">
  <img src="https://img.shields.io/badge/dependencies-0-brightgreen?style=for-the-badge" alt="0 dependencies">
  <img src="https://img.shields.io/badge/lines-~2900-lightgrey?style=for-the-badge" alt="lines of code">
</p>

---

## ✨ Why shinyshell?

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

sh.success("Deployed!")            # ✨ Green success
sh.table(users, title="Team")      # 📊 Professional table
sh.pie({"Python": 45, "JS": 30})   # 📈 ASCII chart
sh.qr("https://github.com")        # 📱 Terminal QR code
sh.progress("Uploading")           # 🔄 Animated progress
sh.confetti(5)                     # 🎉 Confetti!
```

**One import. Zero dependencies. All the pretty your terminal deserves.**

### ✦ Key Selling Points

| | Value |
|---|---|
| 🧩 **130+ 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, Jupyter |
| 🚀 **Production-ready** | Scripts, CLIs, CI/CD pipelines, Docker containers |
| 🪶 **Lightweight** | ~2,900 lines — small, readable, easy to contribute to |

---

## 📊 Feature Distribution

<p align="center">
  <img src="https://quickchart.io/chart?c=%7Btype%3A%27doughnut%27%2Cdata%3A%7Blabels%3A%5B%27Charts%27%2C%27Games%27%2C%27Tables%27%2C%27Progress%27%2C%27Network%27%2C%27Data%27%2C%27Other%27%5D%2Cdatasets%3A%5B%7Bdata%3A%5B13%2C11%2C9%2C8%2C6%2C9%2C74%5D%2CbackgroundColor%3A%5B%27%23FF6384%27%2C%27%2336A2EB%27%2C%27%23FFCE56%27%2C%27%234BC0C0%27%2C%27%239966FF%27%2C%27%23FF9F40%27%2C%27%23C9CBCF%27%5D%7D%5D%7D%7D" width="450" alt="Feature distribution chart">
</p>

| Category | Count | Highlights |
|----------|-------|-----------|
| 📈 Charts | 13 | pie, bar, line, histogram, scatter, waterfall, donut, bullet, heatmap, sparkline, gauge, **radar**, **funnel** |
| 🎮 Games & Fun | 11 | slot, dice, magic8, matrix, confetti, marquee, particles, **tic-tac-toe**, **wordle** |
| 📊 Tables & Layout | 12 | table, metrics, timeline, grid, columns, header, banner, box |
| 🔄 Progress | 8 | spinner, progress, countdown, benchmark, live, steps, timer, pomodoro |
| 🌐 Network | 6 | http, ping, status, dns_lookup, ip_info |
| 📄 Data Formats | 9 | json, markdown, xml, yaml, csv, hexdump, jwt_decode, url_parse |
| 🔐 Security & Utils | 12 | secret, password, debug, dict_diff, **hash_text**, **password_generate**, **slugify**, **bytes_format**, **duration**, **percent** |
| 🎨 Visual FX | 8 | rainbow, gradient, neon, typewrite, color_picker, color_grid |
| 💻 Code & Dev | 8 | code, diff, git_log, git_status, stack_trace, process_info |
| ⌨️ Interactive | 8 | confirm, choice, input, form, toggle, autocomplete, menu |
| 📁 Files & System | 8 | tree, disk_usage, checksum, csv, config, env |
| 🧩 Decorators & Misc | 12 | trace, retry, throttle, background, batch, link, badge, emoji, venn, calendar |
| **TOTAL** | **130+** | |

---

## 🆚 vs Alternatives

| | **shinyshell** | rich | colorama | termcolor |
|---|:---:|:---:|:---:|:---:|
| Dependencies | **0** ✅ | 10+ | 0 | 0 |
| Features | **130+** ✅ | 50+ | 3 | 5 |
| Tables | ✅ | ✅ | ❌ | ❌ |
| Charts (pie/bar/radar) | ✅ | ✅ | ❌ | ❌ |
| QR codes | ✅ | ❌ | ❌ | ❌ |
| Games | ✅ | ❌ | ❌ | ❌ |
| Animations | ✅ | ✅ | ❌ | ❌ |
| HTTP client | ✅ | ❌ | ❌ | ❌ |
| Decorators (@trace/@retry) | ✅ | ❌ | ❌ | ❌ |
| Interactive forms/menus | ✅ | ✅ | ❌ | ❌ |
| Password/hash/slug utils | ✅ | ❌ | ❌ | ❌ |

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

---

## 🚀 Quick Start

### Install

```bash
pip install shinyshell
```

### Hello World

```python
from shinyshell import Shell

sh = Shell()
sh.success("Hello, shiny terminal! ✨")
```

### 5-Second Tour

```python
sh = Shell()

# Messages
sh.success("Done!") · sh.error("Failed!") · sh.warning("Careful!") · sh.info("Running...")

# Tables & Charts
sh.table([{"Name": "Ada", "Lang": "Python"}], title="Team")
sh.bar({"A": 85, "B": 62, "C": 45})
sh.radar_chart({"Speed": 80, "Power": 60, "Range": 90}, "Robot")

# Progress
sh.progress("Uploading")

# Games & Fun
sh.magic8() · sh.dice(6, 2) · sh.matrix(5) · sh.confetti(3)

# Data
sh.json({"hello": "world"}) · sh.qr("https://github.com")
```

---

## 📚 Complete Feature Reference

### 💬 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.banner("SHINY")         # ASCII art banner
sh.hr()                    # ─── Horizontal rule
sh.box("content", "Title") # ╭─ Boxed content
sh.rule()                  # Gradient rule
```

### 📊 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
sh.radar_chart({"Spd":80,"Pwr":60}, "Robot")   # 🕸️ Radar chart
sh.funnel_chart([("Visit",1000),("Paid",100)]) # Funnel chart
```

### 🔄 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
```

### 📄 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
sh.tic_tac_toe()                      # 🎮 Tic-Tac-Toe (2-player)
sh.wordle()                           # 🟩 Terminal Wordle
```

### 🎨 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
sh.slugify("Hello World!")            # → "hello-world"
sh.bytes_format(1536)                 # → "1.5 KB"
sh.duration(3661)                     # → "1h 1m 1s"
sh.percent(45, 200)                   # → "22.5%"
```

### 🖼️ 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
sh.password_generate(16)              # Secure random password
sh.hash_text("hello")                 # → sha256 hex
```

### 🔗 Utility Methods
```python
sh.link("GitHub", url)                # Clickable link
sh.badge("v7.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
```

---

## 📈 Growth & Stats

<p align="center">
  <img src="https://img.shields.io/badge/Downloads-4%2C300%2B-success?style=for-the-badge" alt="downloads">
  <img src="https://img.shields.io/badge/Version-0.7.0-blue?style=for-the-badge" alt="version">
  <img src="https://img.shields.io/badge/Tests-39%20passing-brightgreen?style=for-the-badge" alt="tests">
  <img src="https://img.shields.io/badge/Python-3.8%2B-yellow?style=for-the-badge" alt="python">
</p>

---

## 🤝 Contributing

Pull requests are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

```bash
git clone https://github.com/adnanahamed66772ndpc/shinyshell.git
cd shinyshell
python -m pytest tests/
```

---

## ⭐ Support

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

```bash
pip install shinyshell --upgrade
```

<p align="center">
  <a href="https://github.com/adnanahamed66772ndpc/shinyshell"><img src="https://img.shields.io/badge/GitHub-⭐%20Star-black?style=for-the-badge&logo=github" alt="GitHub"></a>
  <a href="https://pypi.org/project/shinyshell/"><img src="https://img.shields.io/badge/PyPI-📦%20Package-blue?style=for-the-badge&logo=pypi" alt="PyPI"></a>
  <a href="https://adnanahamedhimal.com"><img src="https://img.shields.io/badge/Website-🌐%20Author-orange?style=for-the-badge" alt="Author"></a>
</p>

<p align="center">
  <sub>MIT © 2026 <a href="https://adnanahamedhimal.com">Adnan Ahamed Himal</a> · Crafted with ✨ in Bangladesh</sub>
</p>
