n1nj4t4nuk1/python-ddd-skeleton
66.8
Adequate · 21 September 2026
663
lines of production code
Python
primary language
4
measurements over time
What this system is
This system is a Python-based application skeleton built on Domain-Driven Design, Hexagonal Architecture, and CQRS patterns. It provides shared infrastructure for persistence (MinIO, MongoDB) and messaging, along with foundational domain classes for value objects, aggregates, and error handling. The codebase also includes a test suite and standard logging utilities to support rapid development of event-sourced services.
Features
Adds shared infrastructure implementations for CQRS, logging, and persistence
The shared infrastructure layer now includes in-memory implementations for the Command and Query buses, an in-memory event bus, and a console logger. For persistence, it adds repositories and client factories for Minio and MongoDB (PyMongo), along with parsers to translate criteria into MongoDB queries and dictionary formats into filter criteria. An environment variable manager and UUID validation utility are also introduced.
src/contexts/shared/Infrastructure · high confidence
Initial project scaffolding and build configuration
The repository was initialized with core project infrastructure, including a Python 3.10 Dockerfile, a Makefile for managing dependencies and tests, and a .gitignore file covering Python, IDE, and build artifacts. The project is defined as a Python DDD skeleton using Hexagonal Architecture, CQRS, and Event Sourcing, with the main entry point (main.py) and a MIT license file added.
(repo-wide) · high confidence
Introduce CQRS and Event Sourcing domain abstractions
The application now includes foundational domain classes for Command, Query, and Event Sourcing patterns. This adds abstract interfaces and base classes for Command and Query handling (including their respective buses and handlers), as well as domain event structures and an event bus, enabling the implementation of a CQRS architecture and event-driven communication within the shared domain layer.
src/contexts/shared/domain/criteria · high confidence
Introduce base domain classes for value objects and aggregates
Added new base classes for domain modeling: a ValueObject abstract class that stores and exposes a value, an AggregateRoot abstract class defining a to\_primitives method, and a ValueObjectValidationError exception class that includes a specific error ID and serialization logic. These files establish the foundational structure for value objects and aggregates within the shared domain context.
src/contexts/shared/domain/valueobj · high confidence
Introduce shared domain base classes and error types
Added new shared domain classes including BaseObject, DomainError, Interface, Metadata, Response, and UncontrolledError. These provide foundational abstractions for domain modeling, error handling, and serialization (to\_primitives) across the application.
src/contexts/shared/domain · high confidence
Introduces a shared logging interface
A new abstract Logger interface is added to the shared domain layer, defining standard logging methods (debug, info, warning, error, critical) to standardize how the application records messages across different contexts.
src/contexts/shared/domain/logger · high confidence
Test coverage
Added test utilities and sample tests
Added new test files including a sample unit test and utility helpers. The changes introduce a test structure with a sample test case and utility modules for async test execution and random word generation.
tests · high confidence
Dependencies
Added Python dependencies for FastAPI, MinIO, and PyMongo
The project now explicitly declares its Python dependencies in a requirements.txt file, pinning versions for FastAPI (0.115.12), MinIO (7.2.15), PyMongo (4.13.0), sniffio (1.3.1), and typing\_extensions (4.14.0).
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 66 → 67 (+1.1)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 98 → 98 (-0.3)
- Architecture 69 → 69 (+0.0)
- Maturity 57 → 57 (+0.0)
- Readiness 70 → 70 (+0.2)
- Security 80 → 94 (+13.8)
Resolved (15)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium IaC: CKV_DOCKER_3 (Dockerfile)
- No exposed public API
- Test reliability not included
- dormant codebase — no living knowledge left to concentrate
New (33)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (9 lines × 2) (src/contexts/shared/Infrastructure/persistence/minio/MinioClientFactory.py)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium IaC: WD-DOCKER-0003 (Dockerfile)
- Medium IaC: WD-DOCKER-0010 (Dockerfile)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- …and 13 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
n1nj4t4nuk1/python-ddd-skeleton was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit bceb39f4320ce2c2c4a99adaf2e5c45f44120889 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.