registry
registry
¶
Decorator-based registry for runtime discovery of pluggable components.
Adapted from IPW's src/ipw/core/registry.py. Each typed subclass gets its
own isolated storage so registrations in one registry never leak into another.
Classes¶
RegistryBase
¶
Bases: Generic[T]
Generic registry base class with class-specific entry isolation.
Methods:¶
register
classmethod
¶
Decorator that registers entry under key.
Source code in src/diapason/core/registry.py
register_value
classmethod
¶
Imperatively register a value under key.
Source code in src/diapason/core/registry.py
register_lazy
classmethod
¶
Déclarer key sans charger son module.
Importer un moteur « pour déclencher son enregistrement » fait payer
ses dépendances à TOUT LE MONDE, y compris à qui ne s'en servira
jamais. MESURÉ : charger colbert_backend ou faiss_backend
tirait torch et numpy — puis échouait sur une dépendance
absente, et l'échec était avalé. Le coût restait, pas le moteur. Or un
numpy cassé fait alors tomber diapason serve au démarrage, pour
un moteur que personne n'a demandé.
Le module n'est donc chargé qu'à la première question portant sur cette clé.
Source code in src/diapason/core/registry.py
get
classmethod
¶
Retrieve the entry for key, raising KeyError if missing.
Source code in src/diapason/core/registry.py
create
classmethod
¶
Look up key and instantiate it with the given arguments.
Source code in src/diapason/core/registry.py
items
classmethod
¶
keys
classmethod
¶
contains
classmethod
¶
Check whether key is registered.
Résout une entrée paresseuse : répondre « oui » puis échouer à la créer serait pire que de payer l'import ici. L'appelant qui pose la question sur cette clé précise est justement celui qui va s'en servir.
Source code in src/diapason/core/registry.py
ModelRegistry
¶
EngineRegistry
¶
MemoryRegistry
¶
FactStoreRegistry
¶
AgentRegistry
¶
ToolRegistry
¶
RouterPolicyRegistry
¶
BenchmarkRegistry
¶
ChannelRegistry
¶
LearningRegistry
¶
SkillRegistry
¶
SpeechRegistry
¶
CompressionRegistry
¶
TTSRegistry
¶
ConnectorRegistry
¶
MinerRegistry
¶
Bases: RegistryBase[Any]
Registry for Pearl mining provider implementations.
Each provider implements the MiningProvider ABC defined in
diapason.mining._stubs. Registry keys are short lowercase strings
such as "vllm-pearl" (CUDA + Hopper) and (future) "mlx-pearl",
"llamacpp-pearl-metal", "ollama-pearl".