<p align="center">
<img src="images/logo.svg" alt="MXRay Logo" width="150">
</p>
<h1 align="center">π MXRay</h1>
<p align="center">
<strong>X-ray vision for your Python data structures</strong>
</p>
<p align="center">
<a href="https://pypi.org/project/mxray/">
<img src="https://img.shields.io/pypi/v/mxray.svg" alt="PyPI version">
</a>
<a href="https://pypi.org/project/mxray/">
<img src="https://img.shields.io/pypi/pyversions/mxray.svg" alt="Python versions">
</a>
<a href="https://github.com/GxDrogers/mxray/blob/main/LICENSE">
<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License">
</a>
<a href="https://github.com/GxDrogers/mxray/stargazers">
<img src="https://img.shields.io/github/stars/GxDrogers/mxray.svg" alt="GitHub stars">
</a>
</p>
<p align="center">
<i>See through complex nested data structures with beautiful ASCII mind maps and trees</i>
</p>
---
## π Quick Install
```bash
pip install mxray
## π‘ Instant Insight
from mxray import xray
data = {
'project': 'MXRay',
'creator': 'Midhun Haridas',
'features': ['smart_icons', 'multiple_styles', 'exporters'],
'config': {
'debug': True,
'max_depth': 5
}
}
xray(data)
## π Output
π¦ root
βββ π project: 'MXRay'
βββ π¨π» creator: 'Midhun Haridas'
βββ β¨ features
β βββ π§ smart_icons
β βββ π¨ multiple_styles
β βββ πΎ exporters
βββ βοΈ config
βββ π debug: True
βββ π max_depth: 5
## π Table of Contents
Why MXRay?
Quick Start
Core Features
Usage Examples
Advanced Features
Command Line Interface
API Reference
Installation
Contributing
License
Support
## β Why MXRay?
### The Problem
import json
print(json.dumps(complex_data, indent=2))
# Output: Hundreds of lines of nested braces and brackets
# π΅ Hard to understand structure
# π Difficult to find specific data
# π No visual hierarchy
### The Solution
from mxray import xray
xray(complex_data)
# Output: Beautiful, intuitive ASCII mind map
# π― Instant understanding of data structure
# π Clear parent-child relationships
# π¨ Visual hierarchy with smart icons
## π Quick Start
### Basic Usage
from mxray import xray
# One-liner magic
xray(your_data)
# Or with more control
from mxray import MindMap
mind_map = MindMap(your_data)
print(mind_map)
### From Various Sources
from mxray import MindMapFactory
# From JSON string
mind_map = MindMapFactory.from_json('{"name": "Midhun", "project": "MXRay"}')
# From file
mind_map = MindMapFactory.from_file('data.json')
# From URL
mind_map = MindMapFactory.from_url('https://api.github.com/users/MidhunHaridas')
# From API response
import requests
response = requests.get('https://api.example.com/data')
xray(response.json())
## β¨ Core Features
### π¨ Multiple Visualization Styles
from mxray import Styles
data = {'api': {'users': [], 'settings': {}}}
xray(data, style=Styles.TREE) # Default tree style
xray(data, style=Styles.MINIMAL) # Clean minimal style
xray(data, style=Styles.ARROW) # Arrow connectors
xray(data, style=Styles.BOXED) # Boxed sections
### π Smart Search & Highlight
from mxray import MindMap
mind_map = MindMap(complex_data)
mind_map.search("Midhun") # Highlights all occurrences
print(mind_map)
## π Data Type & Memory Insights
xray(data, show_types=True, show_memory=True)
### Output
π¦ root (dict) [240 bytes]
βββ π€ user (dict) [48 bytes]
β βββ π name: 'Midhun' (str) [54 bytes]
β βββ π’ age: 25 (int) [28 bytes]
## π Beautiful Themes
from mxray import Themes
xray(data, theme=Themes.PROFESSIONAL) # Clean business icons
xray(data, theme=Themes.COLORFUL) # Vibrant colorful icons
xray(data, theme=Themes.EMOJI) # Fun emoji icons (default)
## πΎ Multiple Export Formats
from mxray import save_mind_map
mind_map = MindMap(data)
save_mind_map(mind_map, "structure.md") # Markdown
save_mind_map(mind_map, "structure.html") # Interactive HTML
save_mind_map(mind_map, "structure.json") # JSON structure
## π οΈ Usage Examples
### API Response Analysis
import requests
from mxray import xray
# Analyze GitHub API response
response = requests.get('https://api.github.com/users/MidhunHaridas')
xray(response.json(), show_types=True)
### Configuration File Inspection
import yaml
from mxray import xray
with open('config.yaml') as f:
config = yaml.safe_load(f)
xray(config, style="minimal", show_memory=True)
### Database Schema Visualization
from mxray import xray
from my_app import models
# Visualize Django model structure
xray(models.User.__dict__)
### Real-time Data Monitoring
from mxray import MindMap
import time
class DataMonitor:
def __init__(self):
self.previous_map = None
def monitor(self, data_source):
while True:
current_data = data_source.get_data()
current_map = MindMap(current_data)
if current_map != self.previous_map:
print("\033[2J\033[H") # Clear terminal
print(current_map)
self.previous_map = current_map
time.sleep(1)
## π¬ Advanced Features
### Focus on Specific Paths
# Zoom into specific data branches
xray(complex_data).focus_on("users[0].profile.settings")
### Custom Filtering
from mxray import MindMap
mind_map = MindMap(data)
# Show only nodes with string values
filtered = mind_map.filter(lambda node: isinstance(node.value, str))
# Show only nodes with more than 2 children
complex_nodes = mind_map.filter(lambda node: len(node.children) > 2)
### Custom Themes
custom_theme = {
"name": "midhun_theme",
"icons": {
"user": "π¨π»",
"email": "π¨",
"api_key": "π",
"created_at": "π",
"dict": "ποΈ",
"list": "π"
}
}
xray(data, theme=custom_theme)
### Interactive Exploration
from mxray import MindMap
# Explore large data structures interactively
mind_map = MindMap(huge_json_data)
mind_map.explore() # Opens interactive terminal browser
## Command Line Interface
### Basic Usage
# From JSON file
mxray data.json
# From URL
mxray https://api.github.com/users/MidhunHaridas
# From JSON string
mxray '{"name": "Midhun", "project": "MXRay"}'
# From stdin
echo '{"test": "data"}' | mxray
### Advanced CLI Options
# Different visualization styles
mxray data.json --style minimal
mxray data.json --style arrow
# Show additional information
mxray data.json --show-types --show-memory
# Search and highlight
mxray data.json --search "Midhun"
# Custom theme
mxray data.json --theme professional
# Export to file
mxray data.json --output structure.html --format html
mxray data.json --output structure.md --format md
### Full CLI Reference
mxray --help
usage: mxray [-h] [--style {tree,minimal,arrow,boxed}]
[--theme {default,professional,colorful,emoji}]
[--output OUTPUT] [--format {txt,md,html,json}]
[--search SEARCH] [--show-types] [--show-memory] [--no-icons]
[input]
X-ray data structures as ASCII mind maps
positional arguments:
input Input file, URL, or JSON string
options:
-h, --help show this help message and exit
--style {tree,minimal,arrow,boxed}
Visualization style
--theme {default,professional,colorful,emoji}
Icon theme
--output OUTPUT, -o OUTPUT
Output file
--format {txt,md,html,json}
Output format
--search SEARCH, -s SEARCH
Search and highlight text
--show-types Show data types
--show-memory Show memory usage
--no-icons Hide icons
## π API Reference
Main Functions
xray(data, **kwargs)
The main one-liner function for instant visualization.
Parameters:
data: Any Python data structure (dict, list, etc.)
style: Visualization style ('tree', 'minimal', 'arrow', 'boxed')
show_icons: Boolean to enable/disable icons (default: True)
show_types: Boolean to show data types (default: False)
show_memory: Boolean to show memory usage (default: False)
theme: Icon theme ('default', 'professional', 'colorful', 'emoji')
max_depth: Maximum depth to visualize (default: None)
MindMap(data, **kwargs)
The main class for advanced usage.
Methods:
.render(): Returns the mind map as string
.search(query): Highlights nodes matching query
.filter(predicate): Filters nodes based on function
.focus_on(path): Zooms into specific data path
.explore(): Interactive exploration (future)
### Factory Methods
MindMapFactory
.from_json(json_str): Create from JSON string
.from_file(file_path): Create from file
.from_url(url): Create from URL (requires requests)
### Export Functions
save_mind_map(mind_map, file_path, format='auto')
Save mind map to various formats.
Formats:
txt: Plain text (default)
md: Markdown with code blocks
html: Interactive HTML
json: JSON structure
## π¦ Installation
### From PyPI (Recommended)
pip install mxray
### From Source
git clone https://github.com/GxDrogers/mxray.git
cd mxray
pip install -e .
### For Development
git clone https://github.com/GxDrogers/mxray.git
cd mxray
pip install -e ".[dev]"
pytest tests/ -v
### Dependencies
Python 3.7+
Optional: requests for URL support
## π€ Contributing
We love contributions! Here's how you can help:
Reporting Issues
Check existing issues
Create new issue with detailed description
### Feature Requests
Suggest new features via issues
Discuss implementation approach
### Code Contributions
Fork the repository
Create feature branch: git checkout -b feature/amazing-feature
Commit changes: git commit -m 'Add amazing feature'
Push to branch: git push origin feature/amazing-feature
Open Pull Request
## Development Setup
git clone https://github.com/GxDrogers/mxray.git
cd mxray
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -e ".[dev]"
pre-commit install
## Running Tests
pytest tests/ -v
pytest tests/ --cov=mxray --cov-report=html
## π License
This project is licensed under the MIT License - see the LICENSE file for details.
## π¨π» Author
Midhun Haridas
π§ Email: midhunharidas0@gmail.com
π» GitHub: @GxDrogers
## π Acknowledgments
Inspiration: Every developer who struggled with complex JSON structures
Testing: Early adopters and contributors
Community: Python packaging and open-source ecosystem
Icons: Twitter Emoji for the beautiful icons
## πSupport
Documentation: GitHub Wiki
Issues: GitHub Issues
Discussions: GitHub Discussions
Email: midhunharidas0@gmail.com
## π Ready to X-ray Your Data?
pip install mxray
β Star the repo if you find MXRay useful!
<p align="center"> <i>MXRay - See your data structures, don't just read them</i> </p>
```
Raw data
{
"_id": null,
"home_page": null,
"name": "mxray",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "visualization, data-structures, debug, ascii, tree, mindmap, xray, inspect",
"author": null,
"author_email": "Midhun Haridas <midhunharidas0@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/06/27/6828870c8c398728c97126ca6e77c17e9cfe3af1dbfaeeb225d66dc24d0b/mxray-0.1.1.tar.gz",
"platform": null,
"description": "<p align=\"center\">\r\n <img src=\"images/logo.svg\" alt=\"MXRay Logo\" width=\"150\">\r\n</p>\r\n\r\n<h1 align=\"center\">\ud83d\udd0d MXRay</h1>\r\n<p align=\"center\">\r\n <strong>X-ray vision for your Python data structures</strong>\r\n</p>\r\n\r\n<p align=\"center\">\r\n <a href=\"https://pypi.org/project/mxray/\">\r\n <img src=\"https://img.shields.io/pypi/v/mxray.svg\" alt=\"PyPI version\">\r\n </a>\r\n <a href=\"https://pypi.org/project/mxray/\">\r\n <img src=\"https://img.shields.io/pypi/pyversions/mxray.svg\" alt=\"Python versions\">\r\n </a>\r\n <a href=\"https://github.com/GxDrogers/mxray/blob/main/LICENSE\">\r\n <img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License\">\r\n </a>\r\n <a href=\"https://github.com/GxDrogers/mxray/stargazers\">\r\n <img src=\"https://img.shields.io/github/stars/GxDrogers/mxray.svg\" alt=\"GitHub stars\">\r\n </a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n <i>See through complex nested data structures with beautiful ASCII mind maps and trees</i>\r\n</p>\r\n\r\n---\r\n\r\n## \ud83d\ude80 Quick Install\r\n\r\n ```bash\r\n pip install mxray\r\n\r\n## \ud83d\udca1 Instant Insight\r\n from mxray import xray\r\n \r\n data = {\r\n 'project': 'MXRay',\r\n 'creator': 'Midhun Haridas',\r\n 'features': ['smart_icons', 'multiple_styles', 'exporters'],\r\n 'config': {\r\n 'debug': True,\r\n 'max_depth': 5\r\n }\r\n }\r\n \r\n xray(data)\r\n\r\n## \ud83d\udcca Output\r\n \ud83d\udce6 root\r\n \u251c\u2500\u2500 \ud83d\ude80 project: 'MXRay'\r\n \u251c\u2500\u2500 \ud83d\udc68\ud83d\udcbb creator: 'Midhun Haridas'\r\n \u251c\u2500\u2500 \u2728 features\r\n \u2502 \u251c\u2500\u2500 \ud83e\udde0 smart_icons\r\n \u2502 \u251c\u2500\u2500 \ud83c\udfa8 multiple_styles\r\n \u2502 \u2514\u2500\u2500 \ud83d\udcbe exporters\r\n \u2514\u2500\u2500 \u2699\ufe0f config\r\n \u251c\u2500\u2500 \ud83d\udc1b debug: True\r\n \u2514\u2500\u2500 \ud83d\udccf max_depth: 5\r\n\r\n## \ud83d\udcd6 Table of Contents\r\n Why MXRay?\r\n\r\n Quick Start\r\n\r\n\r\n Core Features\r\n\r\n Usage Examples\r\n\r\n Advanced Features\r\n\r\n Command Line Interface\r\n\r\n API Reference\r\n\r\n Installation\r\n\r\n Contributing\r\n\r\n License\r\n \r\n Support\r\n\r\n## \u2753 Why MXRay?\r\n\r\n### The Problem\r\n import json\r\n print(json.dumps(complex_data, indent=2))\r\n # Output: Hundreds of lines of nested braces and brackets\r\n # \ud83d\ude35 Hard to understand structure\r\n # \ud83d\udd0d Difficult to find specific data\r\n # \ud83d\udccf No visual hierarchy\r\n\r\n### The Solution\r\n from mxray import xray\r\n xray(complex_data)\r\n # Output: Beautiful, intuitive ASCII mind map\r\n # \ud83c\udfaf Instant understanding of data structure\r\n # \ud83d\udd17 Clear parent-child relationships\r\n # \ud83c\udfa8 Visual hierarchy with smart icons\r\n\r\n## \ud83c\udfc1 Quick Start\r\n\r\n### Basic Usage\r\n from mxray import xray\r\n \r\n # One-liner magic\r\n xray(your_data)\r\n \r\n # Or with more control\r\n from mxray import MindMap\r\n mind_map = MindMap(your_data)\r\n print(mind_map)\r\n\r\n### From Various Sources\r\n from mxray import MindMapFactory\r\n \r\n # From JSON string\r\n mind_map = MindMapFactory.from_json('{\"name\": \"Midhun\", \"project\": \"MXRay\"}')\r\n \r\n # From file\r\n mind_map = MindMapFactory.from_file('data.json')\r\n \r\n # From URL\r\n mind_map = MindMapFactory.from_url('https://api.github.com/users/MidhunHaridas')\r\n \r\n # From API response\r\n import requests\r\n response = requests.get('https://api.example.com/data')\r\n xray(response.json())\r\n\r\n## \u2728 Core Features\r\n\r\n### \ud83c\udfa8 Multiple Visualization Styles\r\n from mxray import Styles\r\n \r\n data = {'api': {'users': [], 'settings': {}}}\r\n \r\n xray(data, style=Styles.TREE) # Default tree style\r\n xray(data, style=Styles.MINIMAL) # Clean minimal style\r\n xray(data, style=Styles.ARROW) # Arrow connectors\r\n xray(data, style=Styles.BOXED) # Boxed sections\r\n\r\n### \ud83d\udd0d Smart Search & Highlight\r\n from mxray import MindMap\r\n \r\n mind_map = MindMap(complex_data)\r\n mind_map.search(\"Midhun\") # Highlights all occurrences\r\n print(mind_map)\r\n\r\n## \ud83d\udcca Data Type & Memory Insights\r\n xray(data, show_types=True, show_memory=True) \r\n\r\n### Output\r\n \ud83d\udce6 root (dict) [240 bytes]\r\n \u251c\u2500\u2500 \ud83d\udc64 user (dict) [48 bytes]\r\n \u2502 \u251c\u2500\u2500 \ud83d\udcdb name: 'Midhun' (str) [54 bytes]\r\n \u2502 \u2514\u2500\u2500 \ud83d\udd22 age: 25 (int) [28 bytes]\r\n\r\n## \ud83c\udfad Beautiful Themes\r\n from mxray import Themes\r\n \r\n xray(data, theme=Themes.PROFESSIONAL) # Clean business icons\r\n xray(data, theme=Themes.COLORFUL) # Vibrant colorful icons\r\n xray(data, theme=Themes.EMOJI) # Fun emoji icons (default)\r\n\r\n## \ud83d\udcbe Multiple Export Formats\r\n from mxray import save_mind_map\r\n \r\n mind_map = MindMap(data)\r\n save_mind_map(mind_map, \"structure.md\") # Markdown\r\n save_mind_map(mind_map, \"structure.html\") # Interactive HTML\r\n save_mind_map(mind_map, \"structure.json\") # JSON structure\r\n\r\n\r\n## \ud83d\udee0\ufe0f Usage Examples\r\n\r\n### API Response Analysis\r\n import requests\r\n from mxray import xray\r\n \r\n # Analyze GitHub API response\r\n response = requests.get('https://api.github.com/users/MidhunHaridas')\r\n xray(response.json(), show_types=True)\r\n\r\n### Configuration File Inspection\r\n import yaml\r\n from mxray import xray\r\n \r\n with open('config.yaml') as f:\r\n config = yaml.safe_load(f)\r\n \r\n xray(config, style=\"minimal\", show_memory=True)\r\n\r\n### Database Schema Visualization\r\n from mxray import xray\r\n from my_app import models\r\n \r\n # Visualize Django model structure\r\n xray(models.User.__dict__)\r\n\r\n### Real-time Data Monitoring\r\n from mxray import MindMap\r\n import time\r\n \r\n class DataMonitor:\r\n def __init__(self):\r\n self.previous_map = None\r\n \r\n def monitor(self, data_source):\r\n while True:\r\n current_data = data_source.get_data()\r\n current_map = MindMap(current_data)\r\n \r\n if current_map != self.previous_map:\r\n print(\"\\033[2J\\033[H\") # Clear terminal\r\n print(current_map)\r\n self.previous_map = current_map\r\n \r\n time.sleep(1)\r\n\r\n## \ud83d\udd2c Advanced Features\r\n\r\n### Focus on Specific Paths\r\n # Zoom into specific data branches\r\n xray(complex_data).focus_on(\"users[0].profile.settings\")\r\n\r\n### Custom Filtering\r\n from mxray import MindMap\r\n \r\n mind_map = MindMap(data)\r\n \r\n # Show only nodes with string values\r\n filtered = mind_map.filter(lambda node: isinstance(node.value, str))\r\n \r\n # Show only nodes with more than 2 children\r\n complex_nodes = mind_map.filter(lambda node: len(node.children) > 2)\r\n\r\n### Custom Themes\r\n custom_theme = {\r\n \"name\": \"midhun_theme\",\r\n \"icons\": {\r\n \"user\": \"\ud83d\udc68\ud83d\udcbb\",\r\n \"email\": \"\ud83d\udce8\",\r\n \"api_key\": \"\ud83d\udd11\",\r\n \"created_at\": \"\ud83d\udd52\",\r\n \"dict\": \"\ud83d\uddc2\ufe0f\",\r\n \"list\": \"\ud83d\udcdc\"\r\n }\r\n }\r\n \r\n xray(data, theme=custom_theme)\r\n\r\n### Interactive Exploration\r\n from mxray import MindMap\r\n \r\n # Explore large data structures interactively\r\n mind_map = MindMap(huge_json_data)\r\n mind_map.explore() # Opens interactive terminal browser\r\n\r\n## Command Line Interface\r\n\r\n### Basic Usage\r\n # From JSON file\r\n mxray data.json\r\n \r\n # From URL\r\n mxray https://api.github.com/users/MidhunHaridas\r\n \r\n # From JSON string\r\n mxray '{\"name\": \"Midhun\", \"project\": \"MXRay\"}'\r\n \r\n # From stdin\r\n echo '{\"test\": \"data\"}' | mxray\r\n\r\n### Advanced CLI Options\r\n # Different visualization styles\r\n mxray data.json --style minimal\r\n mxray data.json --style arrow\r\n \r\n # Show additional information\r\n mxray data.json --show-types --show-memory\r\n \r\n # Search and highlight\r\n mxray data.json --search \"Midhun\"\r\n \r\n # Custom theme\r\n mxray data.json --theme professional\r\n \r\n # Export to file\r\n mxray data.json --output structure.html --format html\r\n mxray data.json --output structure.md --format md\r\n\r\n\r\n### Full CLI Reference\r\n mxray --help\r\n \r\n usage: mxray [-h] [--style {tree,minimal,arrow,boxed}] \r\n [--theme {default,professional,colorful,emoji}]\r\n [--output OUTPUT] [--format {txt,md,html,json}] \r\n [--search SEARCH] [--show-types] [--show-memory] [--no-icons]\r\n [input]\r\n \r\n X-ray data structures as ASCII mind maps\r\n \r\n positional arguments:\r\n input Input file, URL, or JSON string\r\n \r\n options:\r\n -h, --help show this help message and exit\r\n --style {tree,minimal,arrow,boxed}\r\n Visualization style\r\n --theme {default,professional,colorful,emoji}\r\n Icon theme\r\n --output OUTPUT, -o OUTPUT\r\n Output file\r\n --format {txt,md,html,json}\r\n Output format\r\n --search SEARCH, -s SEARCH\r\n Search and highlight text\r\n --show-types Show data types\r\n --show-memory Show memory usage\r\n --no-icons Hide icons\r\n\r\n \r\n## \ud83d\udcda API Reference\r\n Main Functions\r\n xray(data, **kwargs)\r\n\r\n The main one-liner function for instant visualization.\r\n\r\n Parameters:\r\n\r\n data: Any Python data structure (dict, list, etc.)\r\n \r\n style: Visualization style ('tree', 'minimal', 'arrow', 'boxed')\r\n \r\n show_icons: Boolean to enable/disable icons (default: True)\r\n \r\n show_types: Boolean to show data types (default: False)\r\n \r\n show_memory: Boolean to show memory usage (default: False)\r\n \r\n theme: Icon theme ('default', 'professional', 'colorful', 'emoji')\r\n \r\n max_depth: Maximum depth to visualize (default: None)\r\n\r\n MindMap(data, **kwargs)\r\n\r\n The main class for advanced usage.\r\n\r\n Methods:\r\n \r\n .render(): Returns the mind map as string\r\n \r\n .search(query): Highlights nodes matching query\r\n \r\n .filter(predicate): Filters nodes based on function\r\n \r\n .focus_on(path): Zooms into specific data path\r\n \r\n .explore(): Interactive exploration (future)\r\n\r\n### Factory Methods\r\n\r\n MindMapFactory\r\n\r\n .from_json(json_str): Create from JSON string\r\n \r\n .from_file(file_path): Create from file\r\n \r\n .from_url(url): Create from URL (requires requests)\r\n\r\n### Export Functions\r\n save_mind_map(mind_map, file_path, format='auto')\r\n \r\n Save mind map to various formats.\r\n\r\nFormats:\r\n\r\n txt: Plain text (default)\r\n \r\n md: Markdown with code blocks\r\n \r\n html: Interactive HTML\r\n \r\n json: JSON structure\r\n\r\n## \ud83d\udce6 Installation\r\n\r\n### From PyPI (Recommended)\r\n pip install mxray\r\n\r\n### From Source\r\n git clone https://github.com/GxDrogers/mxray.git\r\n cd mxray\r\n pip install -e .\r\n\r\n### For Development\r\n git clone https://github.com/GxDrogers/mxray.git\r\n cd mxray\r\n pip install -e \".[dev]\"\r\n pytest tests/ -v\r\n\r\n### Dependencies\r\n Python 3.7+\r\n\r\n Optional: requests for URL support\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nWe love contributions! Here's how you can help:\r\nReporting Issues\r\n\r\n Check existing issues\r\n\r\n Create new issue with detailed description\r\n\r\n### Feature Requests\r\n\r\n Suggest new features via issues\r\n\r\n Discuss implementation approach\r\n\r\n### Code Contributions\r\n\r\n Fork the repository\r\n\r\n Create feature branch: git checkout -b feature/amazing-feature\r\n\r\n Commit changes: git commit -m 'Add amazing feature'\r\n\r\n Push to branch: git push origin feature/amazing-feature\r\n\r\n Open Pull Request\r\n\r\n## Development Setup\r\n git clone https://github.com/GxDrogers/mxray.git\r\n cd mxray\r\n python -m venv venv\r\n source venv/bin/activate # Windows: venv\\Scripts\\activate\r\n pip install -e \".[dev]\"\r\n pre-commit install\r\n\r\n## Running Tests\r\n pytest tests/ -v\r\n pytest tests/ --cov=mxray --cov-report=html\r\n\r\n## \ud83d\udcc4 License\r\nThis project is licensed under the MIT License - see the LICENSE file for details.\r\n\r\n## \ud83d\udc68\ud83d\udcbb Author\r\n\r\nMidhun Haridas\r\n\r\n\ud83d\udce7 Email: midhunharidas0@gmail.com\r\n\r\n\ud83d\udcbb GitHub: @GxDrogers\r\n\r\n## \ud83d\ude4f Acknowledgments\r\n\r\n Inspiration: Every developer who struggled with complex JSON structures\r\n \r\n Testing: Early adopters and contributors\r\n \r\n Community: Python packaging and open-source ecosystem\r\n \r\n Icons: Twitter Emoji for the beautiful icons\r\n\r\n## \ud83d\udcdeSupport\r\n Documentation: GitHub Wiki\r\n \r\n Issues: GitHub Issues\r\n \r\n Discussions: GitHub Discussions\r\n \r\n Email: midhunharidas0@gmail.com\r\n\r\n## \ud83d\ude80 Ready to X-ray Your Data?\r\n pip install mxray\r\n\r\n\u2b50 Star the repo if you find MXRay useful!\r\n<p align=\"center\"> <i>MXRay - See your data structures, don't just read them</i> </p> \r\n ``` \r\n\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "X-ray vision for your Python data structures - ASCII mind maps and tree visualizations",
"version": "0.1.1",
"project_urls": {
"Documentation": "https://github.com/GxDrogers/mxray/wiki",
"Homepage": "https://github.com/GxDrogers/mxray",
"Issue Tracker": "https://github.com/GxDrogers/mxray/issues",
"Repository": "https://github.com/GxDrogers/mxray"
},
"split_keywords": [
"visualization",
" data-structures",
" debug",
" ascii",
" tree",
" mindmap",
" xray",
" inspect"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "60c7a0b446c6e7eec8e2642bbc35461736c3ec4b91277bf321d8eaeeea46e6a9",
"md5": "52c32eb9bd89f048815d4dcbc2d11322",
"sha256": "8c831785e540793c55feb8103c1c987e4a8211490d7c51892b77456193c48833"
},
"downloads": -1,
"filename": "mxray-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "52c32eb9bd89f048815d4dcbc2d11322",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15950,
"upload_time": "2025-10-09T18:20:42",
"upload_time_iso_8601": "2025-10-09T18:20:42.633906Z",
"url": "https://files.pythonhosted.org/packages/60/c7/a0b446c6e7eec8e2642bbc35461736c3ec4b91277bf321d8eaeeea46e6a9/mxray-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "06276828870c8c398728c97126ca6e77c17e9cfe3af1dbfaeeb225d66dc24d0b",
"md5": "47a86c1b4ed9fe566f29de427719bb86",
"sha256": "01a0d2d682ac86c974748a05eb2a2f1901c81a5e2b3e2eb26abc23fbeb2ea3e5"
},
"downloads": -1,
"filename": "mxray-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "47a86c1b4ed9fe566f29de427719bb86",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 20258,
"upload_time": "2025-10-09T18:20:43",
"upload_time_iso_8601": "2025-10-09T18:20:43.757183Z",
"url": "https://files.pythonhosted.org/packages/06/27/6828870c8c398728c97126ca6e77c17e9cfe3af1dbfaeeb225d66dc24d0b/mxray-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-09 18:20:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "GxDrogers",
"github_project": "mxray",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "mxray"
}