Skip to main content

Scout JSON structure and navigate data safely with intuitive exploration tools.

Project description

JSON Scout

Documentation Python License

Scout JSON structure and navigate data safely with intuitive exploration tools.

JSON Scout provides a robust suite of tools designed for developers and data professionals who need to introspect, analyze, and safely navigate complex JSON data structures. Whether you're working with APIs, configuration files, or large datasets, JSON Scout offers both low-level utilities and high-level abstractions to make JSON exploration intuitive and error-free.

✨ Key Features

  • 🔍 Structural Analysis: Automatic schema discovery and hierarchy inspection
  • 🛡️ Safe Navigation: Exception-free access with monadic-style Maybe wrapper
  • 🔧 Comprehensive Utilities: File operations, XML integration, and unified interface
  • 📊 Enterprise Ready: Type safety, performance optimization, and comprehensive documentation

🚀 Quick Start

Installation

pip install json-scout

Basic Usage

import jsonscout as js

# Sample data
data = {
    "users": [
        {"name": "Alice", "age": 30, "email": "alice@example.com"},
        {"name": "Bob", "age": 25},
        {"name": "Charlie", "age": 35, "email": "charlie@example.com"}
    ],
    "metadata": {"version": "1.0", "created": "2024-01-01"}
}

# Safe navigation with automatic error handling
explorer = js.Xplore(data)
user_name = explorer['users'][0]['name'].value()  # Returns: "Alice"
missing_field = explorer['users'][1]['email'].value()  # Returns: None (no exception)

# Structural analysis
explore = js.Explore(data['users'])
field_frequency = explore.field_counts()
print(field_frequency)  # {'name': 3, 'age': 3, 'email': 2}

# File operations
json_files = js.get_json_file_paths('/path/to/data', '*.json')
for file_path in json_files:
    data = js.read_json_file(file_path)
    explorer = js.Xplore(data)
    # Process safely...

📚 Documentation

🏗️ Core Components

  • Explore: Lightweight structural analysis and schema discovery
  • Maybe: Monadic wrapper for safe, chainable data access
  • SimpleXML: Efficient XML-to-dictionary conversion utilities
  • Xplore: Unified facade combining all functionality

🎯 Use Cases

  • API Response Analysis: Schema evolution tracking and data validation
  • Configuration Management: Safe navigation of complex configuration hierarchies
  • Data Pipeline Processing: ETL operations with robust error handling
  • Research and Analysis: Dataset exploration and statistical analysis

🤝 Contributing

We welcome contributions! Please see our contributing guidelines for details on how to submit bug reports, feature requests, and code contributions.

📄 License

JSON Scout is licensed under the Apache License 2.0.
© 2025 Chathura Jayalath. See the NOTICE file for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

json_scout-0.1.0.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

json_scout-0.1.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file json_scout-0.1.0.tar.gz.

File metadata

  • Download URL: json_scout-0.1.0.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for json_scout-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5812f08b44512048a96dd293ddf50b32c8ca6c5f2aa61707a4013e8308ab7f8b
MD5 9b39ce6306a645f17c40e5943a8b69f1
BLAKE2b-256 fed6f8af8a049c7a5a0a18a364e3de6bbb003610a65ea9d641c84d431b0024fe

See more details on using hashes here.

File details

Details for the file json_scout-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: json_scout-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for json_scout-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d7acf31337ed60ae7e81a4add9d780f2b3d9aef223426c410fded03cef2ce257
MD5 18e836b9b470c147a3628da7da20d093
BLAKE2b-256 8c6acdd1df3e74c078a23c70f8e32df3135324680ca81d11e524968017b427b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page