Scout JSON structure and navigate data safely with intuitive exploration tools.
Project description
JSON Scout
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
Maybewrapper - 🔧 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
- Complete Documentation: Comprehensive guides and examples
- API Reference: Detailed API documentation with examples
🏗️ Core Components
Explore: Lightweight structural analysis and schema discoveryMaybe: Monadic wrapper for safe, chainable data accessSimpleXML: Efficient XML-to-dictionary conversion utilitiesXplore: 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5812f08b44512048a96dd293ddf50b32c8ca6c5f2aa61707a4013e8308ab7f8b
|
|
| MD5 |
9b39ce6306a645f17c40e5943a8b69f1
|
|
| BLAKE2b-256 |
fed6f8af8a049c7a5a0a18a364e3de6bbb003610a65ea9d641c84d431b0024fe
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7acf31337ed60ae7e81a4add9d780f2b3d9aef223426c410fded03cef2ce257
|
|
| MD5 |
18e836b9b470c147a3628da7da20d093
|
|
| BLAKE2b-256 |
8c6acdd1df3e74c078a23c70f8e32df3135324680ca81d11e524968017b427b8
|