Skip to main content

Convenience wrapper for exonware-xwjson - provides 'import xwjson' alias

Project description

xwjson

Binary JSON plus local data-engine behavior for real workloads. .xwjson is powered by the xwsystem parser engine 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
pip install exonware-xwjson[lazy]
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 xwsystem parser-driven binary 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.

🌐 Ecosystem functional contributions

xwjson is a serialization and local data-engine layer; sibling libs provide the runtime, validation, query, and persistence ecosystem around it. You can use xwjson standalone as a high-performance binary JSON and local data-engine option. Using more XW libraries is optional and most valuable for enterprise and mission-critical deployments where you want fully controlled infrastructure around schema, query, and storage.

Supporting XW lib What it provides to xwjson Functional requirement it satisfies
XWSystem Parser/codec/runtime foundation for binary JSON engine behavior and shared helpers. High-performance, consistent serializer runtime across stack packages.
XWNode Index/cache and structure-oriented acceleration paths for repeated data access. Faster structured lookups and navigation over complex payloads.
XWSchema Schema-aware validation hooks for loaded/transformed data. Data contract integrity during local JSON-engine operations.
XWQuery Query execution over xwjson-backed in-memory payloads. Declarative filtering/aggregation without custom traversal code.
XWData Data-model and conversion workflows that consume xwjson input/output. Cross-format data pipeline interoperability.
XWStorage Persistence abstraction using xwjson as local/default serialization format in storage scenarios. Durable state management and backend portability with predictable on-disk format.

Competitive edge: xwjson combines binary JSON performance with transaction/atomic semantics and first-class integration into query, schema, and storage layers.


📖 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

Apache-2.0 - see LICENSE. Homepage: https://exonware.com · Repository: https://github.com/exonware/xwjson

⏱️ Async Support

  • xwjson includes asynchronous execution paths in production code.
  • Source validation: 46 async def definitions and 50 await usages under src/.
  • Use async APIs for I/O-heavy or concurrent workloads to improve throughput and responsiveness.

Version: 0.9.0.23 | Updated: 13-Apr-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

xwjson-0.9.0.23.tar.gz (117.6 kB view details)

Uploaded Source

Built Distribution

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

xwjson-0.9.0.23-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file xwjson-0.9.0.23.tar.gz.

File metadata

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

File hashes

Hashes for xwjson-0.9.0.23.tar.gz
Algorithm Hash digest
SHA256 31148aa8673bde6c18ad1d4a2d43fdb4fe75a0ec892b2f9336a8ffa0e791d67b
MD5 8994e2519380d7d0f0b52317b27252a5
BLAKE2b-256 70ef9bf0204eebeaaccb83bac4be2fc20bd23cf90ebac4f62f0f4acd33baa7ce

See more details on using hashes here.

File details

Details for the file xwjson-0.9.0.23-py3-none-any.whl.

File metadata

  • Download URL: xwjson-0.9.0.23-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for xwjson-0.9.0.23-py3-none-any.whl
Algorithm Hash digest
SHA256 742c3106caf57dc6ddee58952e7cc48401e66928071bc443bbf0f72eff238598
MD5 0a4641d2c305e91a4539a35a0acecfd7
BLAKE2b-256 54c191cec1980d8fe8472f67f5d5f08b81c7931058d9ffee91dc9291c3eef1af

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