endow

formplan v0.1

Status

Implementation has started. Real behavioral pytest coverage is now in progress; the runtime is intentionally still missing.

Answers

Description

endow is a small dependency-injection library for Python backends. The MVP should make the DX from example.py real: annotation-first dependencies, environment-aware implementation selection, per-root shared graphs, and transparent cyclic domain references, with naming that distinguishes infrastructure services from domain-level backend components.

To-do

Log

  1. Reviewed the placeholder example.py and confirmed it was a DX sketch rather than working code.
  2. Collected DX decisions for declaration style, resolution model, graph lifecycle, cycle behavior, overrides, constructor policy, and runtime input flow.
  3. Selected naming direction: Injectable as the minimal shared base, Service for infrastructure capabilities, Domain for backend domain components, and Backend.from_env(...) as the composition-root entrypoint.
  4. Confirmed project identity as endow with the tagline to provide with something freely or naturally.
  5. Chose the first milestone to be a working library MVP with a real example and tests, rather than a spec-only pass.
  6. Created the initial src/endow and tests directories.
  7. Rewrote example.py into a contract-style example that defines the intended public naming and runtime behavior.
  8. Added pyproject.toml with a non-setuptools build backend, Python 3.12+, and dynamic version metadata from src/endow/__about__.py.
  9. Replaced the earlier contract-test direction with behavioral pytest coverage that should fail until the runtime exists.
  10. Added a dev optional dependency so uv pip install -e .[dev] installs pytest.