Skip to main content

Extended binary JSON format - single version of truth for all format conversions

Project description

xwjson

Binary JSON plus local data-engine behavior for real workloads. MessagePack-based .xwjson is built for high-throughput reads/writes, lazy and path-scoped access, schema-aware validation, encrypted payload support, and atomic-first ACID-style transaction flows with WAL. In this repo, performance/stress suites include large-file scenarios validated up to 20GB, stdlib JSON comparisons, and conversion stress runs.

Longer tour, examples, and troubleshooting: README_LONG.md.

Company: eXonware.com · Author: eXonware Backend Team · Email: connect@exonware.com

Status Python License


Install

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

Quick start

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/ for REF_*, guides, and examples.


What you get

Area What's in it
Binary engine MessagePack-based encoding with fast serialization paths and metadata-aware payloads.
Lazy + path I/O Parse on access, stream/paging support, and path-level operations without full materialization.
References $ref, @href, *anchor preserved and resolved.
Security Password-based encrypted file support and encrypted payload detection helpers.
Atomic operations Atomic read/write/update/delete paths for safe state transitions under concurrent workloads.
Transactions ACID-style flows with WAL-backed transaction components, rollback support, and dependency-aware batch work.
Index/cache acceleration xwnode strategy integrations for faster lookups and cache-assisted repeated access.
Integration xwnode, xwschema, xwquery, xwdata, xwstorage; format metadata carried through.

Atomic operations - core strength

  • xwjson is designed around atomic state changes, not best-effort updates.
  • Single-file and path-level operations are built to commit safely or fail safely.
  • Transaction flows combine atomic steps with WAL-backed durability mechanics.
  • For local data-engine workloads, this is a headline capability: atomic operations are first-class, not optional.

Performance and benchmark posture

  • Built-in performance guidance and benchmark methodology: docs/_archive/GUIDE_PERFORMANCE.md.
  • Repo test artifacts include conversion/performance stress suites and large-file scenarios in tests/2.integration/scenarios/.
  • File size note: no hard file-size cap is enforced by xwjson; largest documented test scenario in this repo is 20GB.
  • Test summaries in tests/FINAL_TEST_SUMMARY.md and tests/TEST_SUMMARY.md document speed-oriented targets (including stdlib JSON comparison paths and cache/index speedups).
  • Positioning: xwjson can act like a database-like local data layer for many workloads; external database claims should stay workload-specific and benchmark-backed.

Docs and tests

  • Start: docs/INDEX.md or docs/.
  • Guides: Basic/advanced usage, performance, conversion, schema validation under docs/ when present.
  • Tests: From repo root, follow this package's runner or pytest layout.

License and links

MIT - see LICENSE. Homepage: https://exonware.com · Repository: https://github.com/exonware/xwjson
Version: 0.9.0.9 | Updated: 31-Mar-2026

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exonware_xwjson-0.9.0.9.tar.gz (112.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exonware_xwjson-0.9.0.9-py3-none-any.whl (64.7 kB view details)

Uploaded Python 3

File details

Details for the file exonware_xwjson-0.9.0.9.tar.gz.

File metadata

  • Download URL: exonware_xwjson-0.9.0.9.tar.gz
  • Upload date:
  • Size: 112.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for exonware_xwjson-0.9.0.9.tar.gz
Algorithm Hash digest
SHA256 d76638295d81fcff99f9d51fa843e1468f24e8f9234e899d2ac8d9c1acea0da8
MD5 09cf1e57abc6cc71d4fbd784072aac11
BLAKE2b-256 315534cc84cc76c5b926a57ae70a193eaa7daf45bf723084e989028b467c8c57

See more details on using hashes here.

File details

Details for the file exonware_xwjson-0.9.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for exonware_xwjson-0.9.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 4503070737ccf8da767d34971a2cb84cb84dfc70a5c50afe3eb9f201917b6571
MD5 385308d98dfc403a7c262292838e35a2
BLAKE2b-256 b7bbac4e6284cfd7a5badd6a895d203d67fb68d0a9b6c67e0dc2b1ea889aadbc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page