mxray


Namemxray JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryX-ray vision for your Python data structures - ASCII mind maps and tree visualizations
upload_time2025-10-09 18:20:43
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseMIT
keywords visualization data-structures debug ascii tree mindmap xray inspect
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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"
}
        
Elapsed time: 1.58729s