Skip to main content
Version: latest

agrag.loaders.loader_registry.LoaderRegistry

LoaderRegistry() -> None

Maps each source extension to the one loader that reads it.

A new registry starts empty and rejects every format until loaders are registered. Use agrag.loaders.registry, which already holds the default loaders, to read sources with the defaults.

Attributes:

  • _by_extension (dict[str, Loader]) – The loader for each registered extension.

Functions:

  • for_source – Return the loader for a source's extension.
  • register – Add a loader for each extension it claims.

for_source​

for_source(source:SourceRef) -> Loader

Return the loader for a source's extension.

Parameters:

  • source (SourceRef) – The source to find a loader for.

Returns:

  • Loader – The loader registered for the source's extension.

Raises:

register​

register(loader:Loader) -> None

Add a loader for each extension it claims.

Registering a loader of a type that already holds an extension is a no-op, so calling register_default_loaders twice is safe.

Parameters:

  • loader (Loader) – The loader to register.

Raises:

  • ValueError – Another loader type already holds one of the extensions.