Advanced data manipulation with XWNode integration, async operations, and universal format conversion
Project description
xwdata
Build data systems from any format, for any structure.
xwdata lets you load from one format, shape data into the structure you need, and save to another format through one API.
Use JSON, YAML, TOML, XML, and more as your input language, then model the result as maps, trees, graphs, or domain objects. This is useful for game save systems, data pipelines, config platforms, and runtime in-memory data services.
Company: eXonware.com · Author: eXonware Backend Team · Email: connect@exonware.com
Install
| Install | What you get | When to use |
|---|---|---|
pip install exonware-xwdata |
Lite - core only | Minimal footprint. |
pip install exonware-xwdata[lazy] |
Lazy - formats on first use | Development. |
pip install exonware-xwdata[full] |
Full - common formats pre-installed | Production or CI. |
Quick start
from exonware.xwdata import load_data, save_data
# Load from any format, save to any format; one API
data = load_data("input.json") # or .yaml, .xml, etc.
data["key"] = "value"
save_data(data, "output.yaml")
XWNode for path navigation and graph work; async APIs; reference resolution. See docs/ and docs/GUIDE_01_USAGE.md when present.
Why developers use xwdata
- One API, many formats - stop rewriting loaders and converters for each format.
- One model, many outputs - build once, then serialize where it needs to go.
- Practical architecture freedom - use XML for game saves, TOML/JSON for graph configs, or mixed formats for DB bootstrap data.
- In-memory and persisted flows - use the same patterns for runtime objects and storage/export paths.
What you get
| Area | What's in it |
|---|---|
| Formats | One API over 30+ formats via xwsystem; partial reads and typed loads. |
| Data modeling | Build maps, trees, graph-like layouts, and domain objects from the same source API. |
| XWNode | Path and graph operations on in-memory data. |
| Semantics | Copy-on-write, universal metadata, reference resolution. |
| Async | Async-first operations. |
Docs and tests
- Start: docs/INDEX.md or docs/.
- Tests: From repo root, follow the project's test layout.
License and links
MIT - see LICENSE. Homepage: https://exonware.com · Repository: https://github.com/exonware/xwdata
Async Support
- xwdata includes asynchronous execution paths in production code.
- Source validation: 181 async def definitions and 216 await usages under src/.
- Use async APIs for I/O-heavy or concurrent workloads to improve throughput and responsiveness.
Version: 0.9.0.12 | Updated: 31-Mar-2026
Built with ❤️ by eXonware.com - Revolutionizing Python Development Since 2025
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file exonware_xwdata-0.9.0.12.tar.gz.
File metadata
- Download URL: exonware_xwdata-0.9.0.12.tar.gz
- Upload date:
- Size: 158.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
903a14c12be7d6e9cc4f13199539db3c857d0c3fd3f0d822d2bc839222d6272d
|
|
| MD5 |
88f4b10abccb363c8ac8c76463c4f086
|
|
| BLAKE2b-256 |
b4c3b2079eb1d791b74c5baa3dcc4da53ec70b5f1f341fec1ac997795d9d08e2
|
File details
Details for the file exonware_xwdata-0.9.0.12-py3-none-any.whl.
File metadata
- Download URL: exonware_xwdata-0.9.0.12-py3-none-any.whl
- Upload date:
- Size: 150.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04647ed9012b792607afc7fa6607904caf3ee2ba9d4695fd6222c9fb2d40444d
|
|
| MD5 |
09fa3a89961d3c926d40f32cd8c83e75
|
|
| BLAKE2b-256 |
61a55888e3039a683808f2580163e6dc4990c71671b1627952343c58c7e58efd
|