{"id":34020597,"url":"https://github.com/deamonpog/json-anatomy","last_synced_at":"2026-04-01T23:34:34.523Z","repository":{"id":318928822,"uuid":"1076986668","full_name":"deamonpog/json-anatomy","owner":"deamonpog","description":"Explore JSON files and report on their structure.","archived":false,"fork":false,"pushed_at":"2025-11-05T23:08:59.000Z","size":728,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-15T03:55:24.600Z","etag":null,"topics":["explore","json","json-scout","schema"],"latest_commit_sha":null,"homepage":"https://deamonpog.github.io/json-anatomy/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deamonpog.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-15T16:03:11.000Z","updated_at":"2025-11-05T20:19:04.000Z","dependencies_parsed_at":"2025-10-21T03:27:18.076Z","dependency_job_id":null,"html_url":"https://github.com/deamonpog/json-anatomy","commit_stats":null,"previous_names":["deamonpog/jsonexplore","deamonpog/json-scout","deamonpog/json-anatomy"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/deamonpog/json-anatomy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deamonpog%2Fjson-anatomy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deamonpog%2Fjson-anatomy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deamonpog%2Fjson-anatomy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deamonpog%2Fjson-anatomy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deamonpog","download_url":"https://codeload.github.com/deamonpog/json-anatomy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deamonpog%2Fjson-anatomy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["explore","json","json-scout","schema"],"created_at":"2025-12-13T15:03:22.585Z","updated_at":"2026-04-01T23:34:34.509Z","avatar_url":"https://github.com/deamonpog.png","language":"Python","readme":"# JSON Anatomy\r\n\r\n[![Documentation](https://img.shields.io/badge/docs-live-brightgreen)](https://deamonpog.github.io/json-anatomy/)\r\n[![Python](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)\r\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](./LICENSE)\r\n\r\n**Scout, explore, infer, and analyze JSON structure and navigate data safely with intuitive exploration tools.**\r\n\r\nJSON 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.\r\n\r\n## ✨ Key Features\r\n\r\n- **🔍 Structural Analysis**: Automatic schema discovery and hierarchy inspection\r\n- **🛡️ Safe Navigation**: Exception-free access with monadic-style `Maybe` wrapper\r\n- **🔧 Comprehensive Utilities**: File operations, robust XML/HTML parsing (powered by `lxml`), and unified interface\r\n- **📊 Enterprise Ready**: Type safety, performance optimization, and comprehensive documentation\r\n\r\n## 🚀 Quick Start\r\n\r\n### Installation\r\n\r\n```bash\r\npip install json-anatomy\r\n```\r\n\r\n### Basic Usage\r\n\r\n```python\r\nimport jsonanatomy as ja\r\n\r\n# Sample data\r\ndata = {\r\n    \"users\": [\r\n        {\"name\": \"Alice\", \"age\": 30, \"email\": \"alice@example.com\"},\r\n        {\"name\": \"Bob\", \"age\": 25},\r\n        {\"name\": \"Charlie\", \"age\": 35, \"email\": \"charlie@example.com\"}\r\n    ],\r\n    \"metadata\": {\"version\": \"1.0\", \"created\": \"2024-01-01\"}\r\n}\r\n\r\n# Safe navigation with automatic error handling\r\nexplorer = ja.Xplore(data)\r\nuser_name = explorer['users'][0]['name'].value()  # Returns: \"Alice\"\r\nmissing_field = explorer['users'][1]['email'].value()  # Returns: None (no exception)\r\n\r\n# Structural analysis\r\nexplore = ja.Explore(data['users'])\r\nfield_frequency = explore.field_counts()\r\nprint(field_frequency)  # {'name': 3, 'age': 3, 'email': 2}\r\n\r\n# File operations\r\njson_files = ja.get_json_file_paths('/path/to/data', '*.json')\r\nfor file_path in json_files:\r\n    data = ja.read_json_file(file_path)\r\n    explorer = ja.Xplore(data)\r\n    # Process safely...\r\n```\r\n\r\n## 📚 Documentation\r\n\r\n- **[Complete Documentation](https://deamonpog.github.io/json-anatomy/)**: Comprehensive guides and examples\r\n- **[API Reference](https://deamonpog.github.io/json-anatomy/api/)**: Detailed API documentation with examples\r\n\r\n## 🏗️ Core Components\r\n\r\n- **`Explore`**: Lightweight structural analysis and schema discovery\r\n- **`Maybe`**: Monadic wrapper for safe, chainable data access\r\n- **`SimpleXML`**: Robust XML/HTML-to-dictionary conversion (powered by `lxml`) with automatic handling of malformed markup\r\n- **`Xplore`**: Unified facade combining all functionality\r\n\r\n## 🎯 Use Cases\r\n\r\n- **API Response Analysis**: Schema evolution tracking and data validation\r\n- **Configuration Management**: Safe navigation of complex configuration hierarchies\r\n- **Data Pipeline Processing**: ETL operations with robust error handling\r\n- **Research and Analysis**: Dataset exploration and statistical analysis\r\n\r\n## 📄 License\r\n\r\nJSON Anatomy is licensed under the [Apache License 2.0](./LICENSE).  \r\n© 2025 Chathura Jayalath. See the [NOTICE](./NOTICE) file for more details.\r\n\r\n---\r\n\r\n**Note**: This package was previously named `json-scout`. See the [Migration Guide](MIGRATION.md) if you're upgrading.\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeamonpog%2Fjson-anatomy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeamonpog%2Fjson-anatomy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeamonpog%2Fjson-anatomy/lists"}