Skip to main content

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

Status Python License


📦 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) composes XWSchema + 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: XWCollection and XWGroup directly extend XWObject (xwsystem), and XWEntity extends AEntity which extends XWObject, 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xwentity-0.6.0.12.tar.gz (86.4 kB view details)

Uploaded Source

Built Distribution

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

xwentity-0.6.0.12-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

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

Hashes for xwentity-0.6.0.12.tar.gz
Algorithm Hash digest
SHA256 18fdac2a21e9c72cd62e9ceb415b0775af65850adb4c608a6c6ca2d0aba10ee7
MD5 cb3981c30fdbcf1e04ae18681b0a9d89
BLAKE2b-256 dee8ad3349350956d5d9efebe1fe690ea2ad10f891e404d3a08f885b72e65f2f

See more details on using hashes here.

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

Hashes for xwentity-0.6.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 6d26198544009f2b0f1a3203035641e55c51a0d8193f1507d6f22d398cdc44b8
MD5 025e7d65ffab0d6113a5160b2eff8ad3
BLAKE2b-256 435da20342c0abd7a990f9874c3372bc56275c998a5c9422f3f4e26e6fa73edb

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