JSON Anatomy
Scout, explore, infer, and analyze JSON structure and navigate data safely with intuitive exploration tools.
JSON Anatomy 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 Anatomy 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, robust XML/HTML parsing (powered by
lxml), and unified interface - 📊 Enterprise Ready: Type safety, performance optimization, and comprehensive documentation
🚀 Quick Start
Installation
pip install json-anatomy
Basic Usage
import jsonanatomy as ja
# 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 = ja.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 = ja.Explore(data['users'])
field_frequency = explore.field_counts()
print(field_frequency) # {'name': 3, 'age': 3, 'email': 2}
# File operations
json_files = ja.get_json_file_paths('/path/to/data', '*.json')
for file_path in json_files:
data = ja.read_json_file(file_path)
explorer = ja.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: Robust XML/HTML-to-dictionary conversion (powered bylxml) with automatic handling of malformed markupXplore: 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
📄 License
JSON Anatomy is licensed under the Apache License 2.0.
© 2025 Chathura Jayalath. See the NOTICE file for more details.
Note: This package was previously named json-scout. See the Migration Guide if you're upgrading.
Metadata
Release files for json-anatomy 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| json_anatomy-0.2.0.tar.gz | 15.9 kB | Without provenance | Details for json_anatomy-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| json_anatomy-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for json_anatomy-0.2.0-py3-none-any.whl |
Total release size: 34.5 kB
Release files / json_anatomy-0.2.0.tar.gz
| Download URL | json_anatomy-0.2.0.tar.gz |
|---|---|
| Size | 15.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e3ebdc47f6e8314cbe26f1141a5b3358f33927037016ee27abfb3513226c832
|
|
BLAKE2b-256 checksum How to use checksums |
8b1e7e50f3865b1b4ccfd32bcde48bdd84e22ccb4f241fc59825604274113874
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / json_anatomy-0.2.0-py3-none-any.whl
| Download URL | json_anatomy-0.2.0-py3-none-any.whl |
|---|---|
| Size | 18.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e395f0087c22d8802b182e641fea717435e1ac312a910d96a3352d07e5fbf90d
|
|
BLAKE2b-256 checksum How to use checksums |
ab400a4203e7a870b73ff2013d3dd75b3e83762dffe40329890c775cc1720b2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Security for json-anatomy 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.