Skip to main content

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

Project description

xwmodels

Entity collections and groups on top of xwentity, wired for the rest of the eXonware stack. Details live in per-project REF docs.

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

Status Python License


📦 Install

pip install exonware-xwmodels
pip install exonware-xwmodels[lazy]
pip install exonware-xwmodels[full]

🚀 Quick start

from exonware.xwmodels import *
# Or: import xwmodels
# Collections and groups of entities - see docs for patterns

See docs/ for REF_* files and examples.


✨ What you get

Area Contents
Models Entity collections and groups built on xwentity.
Integration Hooks for xwentity, xwstorage, xwaction.
Tooling Utilities aimed at larger, consistent model graphs.

🧱 Core model roles

  • XWModelEntity (entity_compat.py) is the xwmodels compatibility facade over exonware.xwentity.XWEntity (data-first ergonomics + model-facing helpers).
  • XWModelCollection (collection.py) manages many entities of one type and adds persistence-aware collection behavior via storage contracts.
  • XWModelGroup (group.py) manages multiple collections, supports nested subgroups (tree hierarchy), and coordinates group-level save/load through providers.
  • Shared foundation: model collection and model group inherit XWObject from xwsystem for lightweight identity/object semantics; entity behavior is inherited from core xwentity.
  • Compatibility alias: XWEntity remains exported as an alias to XWModelEntity for backward compatibility.

📊 Model management layer in practice

  • Base systems: use one XWModelGroup per bounded system (for example auth, catalog, billing, content) and keep each system's collections under that group.
  • Domain partitioning: map each aggregate/root model to one XWModelCollection (users, roles, invoices, products), with one schema contract and many entities.
  • Nested environments: create subgroups for dev / staging / prod, tenant spaces, or regional shards while preserving one management API.
  • Provider orchestration: plug storage/auth providers at group level so save/load and access control policies are consistent across all collections in that system.
  • App composition: xwbase-style systems can compose multiple groups to build complete application backbones while reusing the same entity/collection/group semantics.

🌐 Ecosystem functional contributions

xwmodels is the management layer over entity collections/groups; sibling libraries provide the contracts that make model systems production-capable. You can adopt xwmodels standalone as a model-organization layer on top of your existing domain code. Connecting to more XW modules is optional and primarily useful for enterprise and mission-critical model infrastructure that needs consistent self-hosted contracts.

Supporting XW lib What it provides to xwmodels Functional requirement it satisfies
XWEntity Core entity/collection/group semantics and compatibility facade targets. Stable domain model foundation for model graphs.
XWStorage Provider contracts and persistence paths for model save/load operations. Durable model state and environment/tenant partition persistence.
XWAction Action integration for model-level workflows and operations. Workflow and automation on top of model collections/groups.
XWSystem Base object/runtime contracts reused by model types. Consistent object lifecycle and shared infrastructure behavior.
XWSchema Validation rules for model payloads and evolution. Controlled schema integrity for large model graphs.
XWBase Higher-level composition layer that consumes model systems. End-to-end application assembly from reusable model primitives.

This positions xwmodels as orchestration for large domain graphs, not just a thin alias package.


📖 Docs and tests

  • Start: docs/INDEX.md or docs/.
  • Tests: From repo root, e.g. python tests/runner.py, per project layout.

📜 License and links

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

⏱️ Async Support

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

Version: 0.6.0.10 | Updated: 10-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

xwmodels-0.6.0.10.tar.gz (81.5 kB view details)

Uploaded Source

Built Distribution

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

xwmodels-0.6.0.10-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file xwmodels-0.6.0.10.tar.gz.

File metadata

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

File hashes

Hashes for xwmodels-0.6.0.10.tar.gz
Algorithm Hash digest
SHA256 87cbc4bb9cc1a0ed9541b1d7dcfce43ef098a12d33d48bf70b4af66ec2a801cf
MD5 60a7de4fccd607ccdedf50803fb480df
BLAKE2b-256 98e28f9fcb65eb52f65d867fd0672f8ed7b0df2abb8bf82c7b3c8e849fda55fd

See more details on using hashes here.

File details

Details for the file xwmodels-0.6.0.10-py3-none-any.whl.

File metadata

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

File hashes

Hashes for xwmodels-0.6.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 e8105531376cba1b58482e0e0d51cac3824421f279c81dd79d032cb2170daa24
MD5 d95155b9161a3bb3395b9b036d67e27a
BLAKE2b-256 1ba9fa67644b441307aaf2ace36da71b70113405e02ae8076f5de96b435ce69e

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