httk.core.register ================== .. py:module:: httk.core.register Attributes ---------- .. autoapisummary:: httk.core.register.loaders httk.core.register.loader_filenames httk.core.register.entry_providers Functions --------- .. autoapisummary:: httk.core.register.register_loader httk.core.register.known_extensions httk.core.register.known_filenames httk.core.register.register_entry_provider httk.core.register.known_entry_providers Module Contents --------------- .. py:data:: loaders .. py:data:: loader_filenames .. py:function:: register_loader(*, name: str, loader: str, extensions: tuple[str, Ellipsis] = (), filenames: tuple[str, Ellipsis] = ()) -> None Register a loader under one or more file ``extensions`` and/or ``filenames``. ``extensions`` are matched (case-insensitively) against a file's suffix, e.g. ``".cif"``. ``filenames`` are exact basenames matched (case-insensitively) against a file's name with any recognized compression suffix stripped, e.g. ``"POSCAR"`` matches ``POSCAR``, ``poscar``, and ``POSCAR.bz2``. .. py:function:: known_extensions() -> list[str] .. py:function:: known_filenames() -> list[str] .. py:data:: entry_providers .. py:function:: register_entry_provider(*, name: str, factory: str) -> None Register an :class:`~httk.core.entry_provider.EntryProvider` factory under ``name``. ``factory`` is a lazy ``"module:callable"`` reference to a callable that constructs a provider (providers need data, so applications call the factory themselves; the registry only records how to reach it). This mirrors ``register_loader``. .. py:function:: known_entry_providers() -> list[str]