Metadata-Version: 2.4
Name: exonware-xwjson
Version: 0.9.0.6
Summary: Extended binary JSON format - single version of truth for all format conversions
Project-URL: Homepage, https://exonware.com
Project-URL: Repository, https://github.com/exonware/xwjson
Project-URL: Documentation, https://github.com/exonware/xwjson#readme
Project-URL: Subtree, https://github.com/exonware/xwjson.git
Author-email: eXonware Backend Team <connect@exonware.com>
License: MIT
License-File: LICENSE
Requires-Python: >=3.12
Provides-Extra: dev
Requires-Dist: black>=23.0.0; extra == 'dev'
Requires-Dist: exonware-xwlazy; extra == 'dev'
Requires-Dist: isort>=5.12.0; extra == 'dev'
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Provides-Extra: full
Requires-Dist: attrs; extra == 'full'
Requires-Dist: bcrypt; extra == 'full'
Requires-Dist: bottleneck; extra == 'full'
Requires-Dist: brotli; extra == 'full'
Requires-Dist: cachebox; extra == 'full'
Requires-Dist: cachetools; extra == 'full'
Requires-Dist: cbor2; extra == 'full'
Requires-Dist: charset-normalizer; extra == 'full'
Requires-Dist: cloudpickle; extra == 'full'
Requires-Dist: cython; extra == 'full'
Requires-Dist: dicttoxml; extra == 'full'
Requires-Dist: fqdn; extra == 'full'
Requires-Dist: httpx; extra == 'full'
Requires-Dist: hyperlight-hyperjson; extra == 'full'
Requires-Dist: isoduration; extra == 'full'
Requires-Dist: jmespath; extra == 'full'
Requires-Dist: json5; extra == 'full'
Requires-Dist: jsonpatch; extra == 'full'
Requires-Dist: jsonpath-ng; extra == 'full'
Requires-Dist: jsonschema; extra == 'full'
Requires-Dist: lz4; extra == 'full'
Requires-Dist: msgpack; extra == 'full'
Requires-Dist: msgspec; extra == 'full'
Requires-Dist: numpy; extra == 'full'
Requires-Dist: opentelemetry-api; extra == 'full'
Requires-Dist: orjson; extra == 'full'
Requires-Dist: pandas; extra == 'full'
Requires-Dist: psutil; extra == 'full'
Requires-Dist: pyarrow; extra == 'full'
Requires-Dist: pylru; extra == 'full'
Requires-Dist: pymongo; extra == 'full'
Requires-Dist: pytz; extra == 'full'
Requires-Dist: pyyaml; extra == 'full'
Requires-Dist: regex; extra == 'full'
Requires-Dist: rfc3339-validator; extra == 'full'
Requires-Dist: rfc3987; extra == 'full'
Requires-Dist: rich; extra == 'full'
Requires-Dist: scikit-learn; extra == 'full'
Requires-Dist: tomli-w; extra == 'full'
Requires-Dist: uarray; extra == 'full'
Requires-Dist: uri-template; extra == 'full'
Requires-Dist: webcolors; extra == 'full'
Requires-Dist: xmltodict; extra == 'full'
Requires-Dist: zstandard; extra == 'full'
Provides-Extra: lazy
Requires-Dist: exonware-xwlazy; extra == 'lazy'
Description-Content-Type: text/markdown

# xwjson

**Extended binary JSON.** MessagePack-based intermediate format that is ~10x faster than text JSON, preserves schema/format metadata, supports lazy loading and references ($ref, @href, *anchor), and powers conversions and transactions across the stack.

*Full feature tour, examples, and troubleshooting: [README_LONG.md](README_LONG.md).*

**Company:** eXonware.com · **Author:** eXonware Backend Team · **Email:** connect@exonware.com  
**Version:** See [version.py](src/exonware/xwjson/version.py) or PyPI. · **Updated:** See [version.py](src/exonware/xwjson/version.py) (`__date__`)

[![Status](https://img.shields.io/badge/status-beta-blue.svg)](https://exonware.com)
[![Python](https://img.shields.io/badge/python-3.12%2B-blue.svg)](https://www.python.org)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)

---

## Install

```bash
pip install exonware-xwjson
# Full (optional)
pip install exonware-xwjson[full]
```

---

## Quick start

```python
from exonware.xwjson import XWJSONSerializer

serializer = XWJSONSerializer()
# Async (recommended)
data = await serializer.load_file_async("data.xwjson")
await serializer.save_file_async(data, "output.xwjson")
# Sync
data = serializer.load_file("data.xwjson")
serializer.save_file(data, "output.xwjson")
```

See [docs/](docs/) for REF_*, guides, and examples.

---

## What you get

| Area | What's in it |
|------|----------------|
| **Binary** | MessagePack-based encoding; faster than text JSON. |
| **Lazy** | Defer parsing until access. |
| **References** | $ref, @href, *anchor preserved and resolved. |
| **Integration** | xwnode, xwschema; format metadata preserved. |
| **Transactions** | ACID; batch operations with dependency-aware parallel execution. |

---

## Docs and tests

- **Start:** [docs/INDEX.md](docs/INDEX.md) or [docs/](docs/).
- **Guides:** Basic/Advanced usage, Performance, Format conversion, Schema validation when present under docs/.
- **Tests:** Run from project root per project layout.

---

## License and links

MIT — see [LICENSE](LICENSE). **Homepage:** https://exonware.com · **Repository:** https://github.com/exonware/xwjson  

Contributing → CONTRIBUTING.md · Security → SECURITY.md (when present).

*Built with ❤️ by eXonware.com - Revolutionizing Python Development Since 2025*
