On this page

Bind โ†’ conjure โ†’ meld๏ƒ

Beginner. Three verbs, one order.

book = md.Spellbook()

# 1. bind everything
book.bind(spell=Config, existence="unique")
book.bind(spell=Server, existence="many")

# 2. conjure ONCE  โ† compiles + validates the entire graph
conduit = book.conjure()

# 3. meld everywhere
server = conduit.meld("Server")

conjure() is where the work happens. Requirements extraction, graph construction, cycle detection, and runtime compilation all run there. A cycle, a missing provider, an ambiguous resolution โ€” it raises there, not at 3am when the code path finally executes.

One book, one conjure. A Spellbook produces exactly one conduit, ever. More scopes? create_lesser_conduit(). Another root? Another book.

Runnable examples๏ƒ

All beginner examples ยท Level contents ยท Full contents

Canonical page source