Convenience wrapper for exonware-xwentity - provides 'import xwentity' alias
Project description
xwentity
Unified entity layer. Ties schema (xwschema), actions (xwaction), and data (xwdata) together with metadata, caching, state, and XWNode. Used by xwmodels, xwbase, and the rest of the eXonware stack. Details live in docs/.
Company: eXonware.com · Author: eXonware Backend Team · Email: connect@exonware.com
📦 Install
pip install exonware-xwentity
pip install exonware-xwentity[lazy]
# Full stack used by xwentity flows
pip install exonware-xwentity[full]
[full] pulls the full variants of: xwsystem, xwaction, xwdata, xwquery, xwschema, and xwnode.
🚀 Quick start
from exonware.xwentity import XWEntity
from exonware.xwschema import XWSchema
schema = XWSchema({"type": "object", "properties": {"name": {"type": "string"}, "age": {"type": "integer"}}})
entity = XWEntity(schema=schema, data={"name": "Alice", "age": 30})
print(entity.data["name"])
See docs/ for metadata, state, and REF_* files.
✨ What you get
| Area | What's in it |
|---|---|
| Entity | One class for schema, actions, data, metadata, caching. |
| Integration | xwschema, xwaction, xwdata, XWNode. |
| Lifecycle | State and property discovery. |
🧱 Core model (explicit roles)
- XWEntity (
entity.py) composesXWSchema+XWAction+XWData: validation contract, entity-scoped behavior, and multi-format data payloads. - XWCollection (
collection.py) is a logical, storage-agnostic collection of entities of the same type, with collection-level actions (search/bulk operations). - XWGroup (
group.py) manages multiple collections and supports nested parent/child groups, forming a tree structure for organization. - Shared foundation:
XWCollectionandXWGroupdirectly extendXWObject(xwsystem), andXWEntityextendsAEntitywhich extendsXWObject, so all core entity types inherit the same lightweight identity/object base.
🌐 Ecosystem functional contributions
xwentity is the domain model backbone; other XW libs provide validation, behavior, data, and persistence layers around it.
You can use xwentity standalone as a domain modeling layer with only the components you need.
The broader XW stack is optional and is most relevant for enterprise and mission-critical systems that need fully integrated, self-hosted model infrastructure.
| Supporting XW lib | What it provides to xwentity | Functional requirement it satisfies |
|---|---|---|
| XWSchema | Schema definitions and validation contracts attached to entities. | Strong model integrity and versionable validation rules. |
| XWAction | Entity-scoped actions and workflow behavior. | Behavioral domain methods with consistent execution hooks. |
| XWData | Multi-format data payload support and transformation paths. | Portable model serialization/input across formats. |
| XWNode | Node/graph structural representation and traversal capabilities. | Rich relationships and graph-aware entity operations. |
| XWSystem | Base object model and shared runtime primitives. | Uniform identity/runtime behavior across entities, collections, and groups. |
| XWStorage | Persistence providers used by higher-level entity collections/groups. | Durable entity lifecycle management across storage backends. |
This combination is the differentiator: xwentity is not just a dataclass layer, it is a contract-validated domain core connected to action, data, and storage infrastructure.
📖 Docs and tests
- Start: docs/INDEX.md or docs/.
- Tests: From repo root, follow the layout in this package (pytest or project runner).
📜 License and links
Apache-2.0 - see LICENSE. Homepage: https://exonware.com · Repository: https://github.com/exonware/xwentity
⏱️ Async Support
- xwentity includes asynchronous execution paths in production code.
- Source validation: 4 async def definitions and 1 await usages under src/.
- Use async APIs for I/O-heavy or concurrent workloads to improve throughput and responsiveness.
Version: 0.6.0.12 | Updated: 25-Apr-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 xwentity-0.6.0.12.tar.gz.
File metadata
- Download URL: xwentity-0.6.0.12.tar.gz
- Upload date:
- Size: 86.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18fdac2a21e9c72cd62e9ceb415b0775af65850adb4c608a6c6ca2d0aba10ee7
|
|
| MD5 |
cb3981c30fdbcf1e04ae18681b0a9d89
|
|
| BLAKE2b-256 |
dee8ad3349350956d5d9efebe1fe690ea2ad10f891e404d3a08f885b72e65f2f
|
File details
Details for the file xwentity-0.6.0.12-py3-none-any.whl.
File metadata
- Download URL: xwentity-0.6.0.12-py3-none-any.whl
- Upload date:
- Size: 9.7 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 |
6d26198544009f2b0f1a3203035641e55c51a0d8193f1507d6f22d398cdc44b8
|
|
| MD5 |
025e7d65ffab0d6113a5160b2eff8ad3
|
|
| BLAKE2b-256 |
435da20342c0abd7a990f9874c3372bc56275c998a5c9422f3f4e26e6fa73edb
|