DDD python library
Project description
w3d
w3d is Python library that provides generic DDD.
Requirements
- Python 3.14+
- uv for dependency and environment management
Installation
Clone the repository and sync the environment with uv:
git clone <repo-url> w3d
cd w3d
uv sync
This creates a virtual environment and installs both runtime (pydantic) and dev dependencies from uv.lock.
To add w3d to another project, install it from its source path (until it is published):
uv add /path/to/w3d
Usage
See docs/usage.md for a worked example.
Development
This project uses uv for everything; always run tools through it so they use the project venv.
| Task | Command |
|---|---|
| Run tests | uv run pytest |
| Lint | uv run ruff check |
| Format | uv run ruff format |
| Type check | uv run ty check |
| Sync env | uv sync |
Type checking uses ty (Astral's type checker), not mypy.
Before committing, run all checks in one pass:
./before_commit.zsh
It runs (fail-fast) ruff format (reformats in place), ruff check, ty check, then pytest with a 100% coverage gate, listing any files below 100%.
Project layout
w3d/ # the library (command.py, result.py)
tests/ # behavioral tests
docs/adr/ # architecture decision records
CONTEXT.md # ubiquitous language / domain glossary
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
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 w3d-0.0.1.tar.gz.
File metadata
- Download URL: w3d-0.0.1.tar.gz
- Upload date:
- Size: 62.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cd8ab84e2f5a19f3a6004d908bfb4c9e0f7bc8baeb74c6703e8dae518aa1466
|
|
| MD5 |
5afcd857a6efe5ef9cffe90c1ec022a7
|
|
| BLAKE2b-256 |
6eea4f92237d25048f25aa7250451d6a5e27a06781b596c316b982ae5b6dec69
|
Provenance
The following attestation bundles were made for w3d-0.0.1.tar.gz:
Publisher:
release.yml on fschneider-wedge/w3d
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
w3d-0.0.1.tar.gz -
Subject digest:
0cd8ab84e2f5a19f3a6004d908bfb4c9e0f7bc8baeb74c6703e8dae518aa1466 - Sigstore transparency entry: 2006404715
- Sigstore integration time:
-
Permalink:
fschneider-wedge/w3d@b281081f5691b030d5e959ba168496c900957f16 -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/fschneider-wedge
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b281081f5691b030d5e959ba168496c900957f16 -
Trigger Event:
release
-
Statement type:
File details
Details for the file w3d-0.0.1-py3-none-any.whl.
File metadata
- Download URL: w3d-0.0.1-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90755d14fb1fa2a6d8bf341d262f9d4fb7244c6bb2376fc7071aaec5575488d6
|
|
| MD5 |
c0536842dafaeb380e5e06be08efe4cf
|
|
| BLAKE2b-256 |
c34e38b70f80f35d49a294d59345534bbbd384b972d1bdaf247bbd111ce732d1
|
Provenance
The following attestation bundles were made for w3d-0.0.1-py3-none-any.whl:
Publisher:
release.yml on fschneider-wedge/w3d
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
w3d-0.0.1-py3-none-any.whl -
Subject digest:
90755d14fb1fa2a6d8bf341d262f9d4fb7244c6bb2376fc7071aaec5575488d6 - Sigstore transparency entry: 2006404807
- Sigstore integration time:
-
Permalink:
fschneider-wedge/w3d@b281081f5691b030d5e959ba168496c900957f16 -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/fschneider-wedge
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b281081f5691b030d5e959ba168496c900957f16 -
Trigger Event:
release
-
Statement type: