Skip to main content

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

Project description

xwstorage

One API over embedded engines, SQL, NoSQL, graph, and vector backends, with entity-aware persistence (xwentity), xwquery, and optional server/UI layers. Built on xwsystem, xwentity, xwdata, xwnode, and xwquery. Status and roadmap: REF_22_PROJECT.

Longer write-up: README_LONG.md.

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

Status Python License


📦 Install

Install What you get When to use
pip install exonware-xwstorage Lite - core abstraction Smallest install.
pip install exonware-xwstorage[lazy] Lazy - connectors load when first used Development.
pip install exonware-xwstorage[full] Full - common connectors plus the same first-party [stack] pins (xwjsonxwaction, REF_41 §8) CI or production images that should not miss the XW graph.
pip install exonware-xwstorage[xwdb] XWDB - first-party engine (exonware-xwdb) for the connector driver When using the Exonware database product through storage (see REF_40 in .docs/guides).
pip install exonware-xwstorage[xwdb_remote] httpx for HTTP clients to xwdb-api (XWDBRemoteConfig, REF_41 §6) When attaching to XWDB over the network instead of [xwdb] in-process.
pip install exonware-xwstorage[stack] xwjson, xwnode, xwdata, xwschema, xwentity, xwmodels, xwquery, xwaction (REF_41 §8) Monorepo / enterprise hosts that want the full XW stack next to storage without guessing transitives.

Depends on xwsystem; other stack packages as you use features. Extras only change dependencies.

After [stack] or [full], you can import exonware.xwstorage.stack at process startup to eagerly import xwjson through xwaction (same idea as exonware.xwdb._stack; see REF_41 §8).

Stack reference: connector vs product vs *-api deploy packages — .docs/guides/REF_40_CONNECTOR_PRODUCT_API_STACK.md. Dependency direction (xwdb vs xwstorage): .docs/guides/REF_41_DEPENDENCY_DIRECTIONS.md.


🚀 Quick start

from exonware.xwstorage import get_storage_facade

storage = get_storage_facade(backend="embedded")  # or postgres, mongodb, neo4j, etc.
storage.connect()
storage.put("key", value)
data = storage.get("key")
storage.query("SELECT * FROM entities WHERE ...")
storage.disconnect()

Entity-aware persistence, xwquery, and transactions: docs/ and REF_15_API.


✨ What you get

Area Contents
Backends Pluggable embedded, PostgreSQL, MongoDB, Neo4j, vector stores, and more; transactions, indexing, WAL where supported.
ACID (file-backed) EmbeddedStorageEngine with WAL and recovery - see REF_15_API (Transactions / file-backed ACID).
Integration xwentity, xwdata, xwnode, xwquery.
Server (optional) xwstorage-server - REST/GraphQL, auth, multi-tenant patterns.
Frontend (optional) UI for schema, query, and data browsing (xwui).

Architecture: REF_13_ARCH. Connectors: docs/connectors/ when present.


🌐 Ecosystem functional contributions

xwstorage focuses on persistence; the surrounding XW libraries provide the contract, query, and domain layers it needs. You can run xwstorage standalone with the backends and connectors you already use. Bringing in more XW libraries is optional and mostly beneficial for enterprise and mission-critical environments where you want full infrastructure ownership.

Supporting XW lib What it provides to xwstorage Functional requirement it satisfies
XWSystem Core runtime contracts, serializer/caching/security utilities, and shared infrastructure primitives. Stable engine internals and consistent operational behavior across storage backends.
XWEntity Entity-aware persistence hooks and model lifecycle integration points. Domain-driven persistence instead of raw key/value-only storage usage.
XWData Data conversion and multi-format payload handling for ingest/export flows. Interoperable data pipelines across formats and storage engines.
XWNode Graph/structure-aware node strategies and path semantics integration. Complex structured data handling beyond flat relational rows.
XWQuery Unified query execution model across supported backends and in-memory data. One query surface for heterogeneous storage engines.
XWSchema Validation and schema contract support for persisted objects and evolution paths. Safer schema-on-write/schema-on-read workflows and migration reliability.
XWStorage-API Thin HTTP server wrapper over xwstorage API surfaces. Service exposure requirement (remote access, API-first deployment).

Competitive edge: xwstorage is not just a connector set; it is a storage control plane with consistent contracts across engine types, query styles, and deployment modes.


📖 Docs and tests


📜 License and links

Apache-2.0 - see LICENSE.

⏱️ Async Support

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

Version: 0.0.1.3 | Updated: 11-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

xwstorage-0.0.1.3.tar.gz (191.1 kB view details)

Uploaded Source

Built Distribution

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

xwstorage-0.0.1.3-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file xwstorage-0.0.1.3.tar.gz.

File metadata

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

File hashes

Hashes for xwstorage-0.0.1.3.tar.gz
Algorithm Hash digest
SHA256 d04f6728e872e4c4cd45d614aea38e4747c3bb19f991e064adf71aeef8a431c0
MD5 9f892ce20ce4c3de953155b53cd4d773
BLAKE2b-256 b87b4409e7c5ae130542b782f82533bce1cdc77435cf77152da05b6b10d7dacb

See more details on using hashes here.

File details

Details for the file xwstorage-0.0.1.3-py3-none-any.whl.

File metadata

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

File hashes

Hashes for xwstorage-0.0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 073a2190ebf0bc1763deba406a21c49ee595ae58f6d3306d9cd2cf9b1f263b80
MD5 6e3598f7c8556ca3ef5b645ac14a82a2
BLAKE2b-256 33119083b44245085f95a13c58c3ba791c59f062b588d90ed81301077220ed5b

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