endow
formplan v0.1Status
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
- Reviewed the placeholder
example.pyand confirmed it was a DX sketch rather than working code. - Collected DX decisions for declaration style, resolution model, graph lifecycle, cycle behavior, overrides, constructor policy, and runtime input flow.
- Selected naming direction:
Injectableas the minimal shared base,Servicefor infrastructure capabilities,Domainfor backend domain components, andBackend.from_env(...)as the composition-root entrypoint. - Confirmed project identity as
endowwith the taglineto provide with something freely or naturally. - Chose the first milestone to be a working library MVP with a real example and tests, rather than a spec-only pass.
- Created the initial
src/endowandtestsdirectories. - Rewrote
example.pyinto a contract-style example that defines the intended public naming and runtime behavior. - Added
pyproject.tomlwith a non-setuptools build backend, Python 3.12+, and dynamic version metadata fromsrc/endow/__about__.py. - Replaced the earlier contract-test direction with behavioral pytest coverage that should fail until the runtime exists.
- Added a
devoptional dependency souv pip install -e .[dev]installs pytest.