Domain-Driven Design base classes and contracts
Project description
Python-DDD-Infrastructure
A lightweight Python package for implementing Domain-Driven Design (DDD) building blocks.
Provides base classes for ValueObject, Entity, AggregateRoot, and DomainEvent, plus utility mixins for immutability and encapsulation.
✨ Features
-
📦 Core DDD Building Blocks
ValueObject— immutable, equality-by-value objects.Entity— objects identified by unique ID.AggregateRoot— transactional consistency boundary.DomainEvent— base class for event-sourced or message-driven domains.
-
🔒 Utility Foundations
Immutablebase — automatic immutability enforcement.Encapsulatedbase — protected internal state with controlled exposure.
📦 Installation
Clone the repository and install it locally:
git clone https://github.com/ariana126/Python-DDD-Infrastructure.git
cd Python-DDD-Infrastructure
pip install -e .[test]
Or set it in your requirements.txt as
git+https://github.com/ariana126/Python-DDD-Infrastructure.git@main#egg=ddd
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
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 dddx-0.1.0.tar.gz.
File metadata
- Download URL: dddx-0.1.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fd0044df44e680956298d779e7737a90b2e90b7f36e642ab6b769afa5bfc90f
|
|
| MD5 |
b8ba6873c030378a95cf727b6758d238
|
|
| BLAKE2b-256 |
d8813fafa429d16a488b45110c1f0eccb0b93d637aaf11f05b2c54a245a70c6d
|
File details
Details for the file dddx-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dddx-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a768e36b2e926ff30becce8efce329703aeed3ae476dff03db70c4fb41e635a
|
|
| MD5 |
c284fed023b13299e4b7976e23cb7d3d
|
|
| BLAKE2b-256 |
54168ff68ac33f2f9cd17278f1aa88fd60456fc4a31fbf49b3b13120823f9044
|