Skip to main content

Domain-Driven Design (DDD) toolkit to quickly develop complex apps

Project description

Cosmic Toolkit

Tests workflow status

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


Download files

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

Source Distribution

cosmic-toolkit-0.6.1.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

cosmic_toolkit-0.6.1-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

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

Hashes for cosmic-toolkit-0.6.1.tar.gz
Algorithm Hash digest
SHA256 c5e1743fe7c61e946f5ab7d22bb451fbc61dca244aea42295fb27c8b2da3a366
MD5 d79c853fc78ea82ecd1ffeaadfebfc15
BLAKE2b-256 39eeaba9da6f2b7a4cc035981052cfc7c2df4db9491b224d13d3f1ea4a9a07a2

See more details on using hashes here.

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

Hashes for cosmic_toolkit-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 da0fb9b48cb286f804dd10ff32bfeb3850e5ee740712e9100e149fd739fc4f6f
MD5 00fc650e42f5bcb2fb5509746dcd1d82
BLAKE2b-256 a071dd8fa9256c1cbc0d20e54428806af4992ae73b30b28adef0e3d84787ed29

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page