Metadata-Version: 2.4
Name: larzjson
Version: 0.1.0
Summary: Friendly JSON - human error messages, pretty-print, plain-English structure, zero third-party deps
Author: larz-scripter
License: MIT
Project-URL: Homepage, https://github.com/larz-scripter/larzjson
Project-URL: Repository, https://github.com/larz-scripter/larzjson
Project-URL: Issues, https://github.com/larz-scripter/larzjson/issues
Keywords: json,parsing,education,learn-to-code,validation,pretty-print,error-messages,zero-dependency,pure-python
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# larzjson

**Friendly JSON — human error messages, pretty-print, and plain-English structure.**

The standard library parses JSON fine, but its errors ("Expecting ',' delimiter:
line 3 column 9") stop beginners cold. larzjson wraps stdlib `json` to point at the
exact spot with a caret, summarise a document's structure in plain English, and
fetch nested values by a dotted path. A learning-and-debugging layer, zero
third-party dependencies.

## Install

```bash
pip install larzjson
```

## Use

```python
from larzjson import parse, pretty, validate, summarize, get

pretty('{"a":1,"b":[1,2]}')             # nicely indented
ok, msg = validate('{"a": 1,}')         # (False, message with a ^ under the ,)
summarize('{"name":"Ada","xs":[1,2]}')  # "An object with 2 keys: name (string); xs (list of 2)"
get({"user": {"scores": [90, 85]}}, "user.scores.0")   # 90
```

## Learn to code with Larz

Part of the **learn-to-code toolkit** in the [Larz stack](https://github.com/larz-scripter) —
see the [Learn to Code platform](https://larzos.com/learn/).

## Tests

```bash
python -m unittest discover -s tests -v   # 10 tests
```

## License

MIT (c) larz-scripter
