Skip to main content

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


Download files

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

Source Distribution

w3d-0.0.1.tar.gz (62.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

w3d-0.0.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

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

Hashes for w3d-0.0.1.tar.gz
Algorithm Hash digest
SHA256 0cd8ab84e2f5a19f3a6004d908bfb4c9e0f7bc8baeb74c6703e8dae518aa1466
MD5 5afcd857a6efe5ef9cffe90c1ec022a7
BLAKE2b-256 6eea4f92237d25048f25aa7250451d6a5e27a06781b596c316b982ae5b6dec69

See more details on using hashes here.

Provenance

The following attestation bundles were made for w3d-0.0.1.tar.gz:

Publisher: release.yml on fschneider-wedge/w3d

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for w3d-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 90755d14fb1fa2a6d8bf341d262f9d4fb7244c6bb2376fc7071aaec5575488d6
MD5 c0536842dafaeb380e5e06be08efe4cf
BLAKE2b-256 c34e38b70f80f35d49a294d59345534bbbd384b972d1bdaf247bbd111ce732d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for w3d-0.0.1-py3-none-any.whl:

Publisher: release.yml on fschneider-wedge/w3d

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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