Domain-Driven Design (DDD) toolkit to quickly develop complex apps
Project description
Cosmic Toolkit
Cosmic Toolkit is an opinionated toolkit to speed up the development of complex apps.
There aren't many examples of how to implement Domain-Driven Design in Python so this package aims to make DDD adoption in Python applications simple and straightfoward.
This toolkit is inspired by Cosmic Python. Cosmic Python and Domain-Driven Design help to decouple business logic from application concerns.
It's highly recommended that you read the Cosmic Python book and view the sample repository. In particular, the branch with the code for Chapter 13 is relevant for how to implement these patterns.
Currently in Alpha, so proceed with caution! I'm learning DDD as I use this package in my own projects. While this package is in Alpha, expect many breaking changes.
Installation
pip install cosmic-toolkit
Example usage
There's a fairly complete example of how to use this package in
./test/test_message_bus.py
.
You can also see a thorough domain model example with an aggregate root in
./test/test_models.py
.
When you're using DDD principles, it's recommended that you start by building out your domain models. This is where your business logic needs to reside. Thus, the domain models can be written w/out specific knowledge of your application and domain models should not depend on any application concerns.
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
File details
Details for the file cosmic-toolkit-0.6.1.tar.gz
.
File metadata
- Download URL: cosmic-toolkit-0.6.1.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5e1743fe7c61e946f5ab7d22bb451fbc61dca244aea42295fb27c8b2da3a366 |
|
MD5 | d79c853fc78ea82ecd1ffeaadfebfc15 |
|
BLAKE2b-256 | 39eeaba9da6f2b7a4cc035981052cfc7c2df4db9491b224d13d3f1ea4a9a07a2 |
File details
Details for the file cosmic_toolkit-0.6.1-py3-none-any.whl
.
File metadata
- Download URL: cosmic_toolkit-0.6.1-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | da0fb9b48cb286f804dd10ff32bfeb3850e5ee740712e9100e149fd739fc4f6f |
|
MD5 | 00fc650e42f5bcb2fb5509746dcd1d82 |
|
BLAKE2b-256 | a071dd8fa9256c1cbc0d20e54428806af4992ae73b30b28adef0e3d84787ed29 |