httk.registry.io.atomistic ========================== .. py:module:: httk.registry.io.atomistic .. autoapi-nested-parse:: Register format adapters, readers, and writers implemented by :mod:`httk.atomistic`. Functions --------- .. autoapisummary:: httk.registry.io.atomistic.register_format_adapter httk.registry.io.atomistic.register_format_serializer httk.registry.io.atomistic.register_reader httk.registry.io.atomistic.register_writer Package Contents ---------------- .. py:function:: register_format_adapter(*, name, adapter, formats) Register one lazy adapter for each neutral payload format in ``formats``. ``adapter`` may be a callable or a lazy ``"module:callable"`` reference. A format tag has one owner: registering it again raises an error naming both the existing and attempted registrants. :param name: The registry name for the adapter. :param adapter: The adapter callable or lazy ``"module:callable"`` reference. :param formats: Neutral payload format tags served by the adapter. :raises ValueError: If a format tag is invalid, duplicated, or already owned. .. py:function:: register_format_serializer(*, format, serializer) Register one lazy serializer for a neutral payload format tag. :param format: The neutral payload format tag. :param serializer: The serializer callable or lazy reference. :raises ValueError: If ``format`` is invalid or already has another serializer. .. py:function:: register_reader(*, name, reader, extensions = (), filenames = ()) Register a reader 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``. :param name: The registry name for the reader. :param reader: A lazy ``"module:callable"`` reference to the reader. :param extensions: File suffixes that select the reader. :param filenames: Exact basenames that select the reader. .. py:function:: register_writer(*, name, writer, format, extensions = (), filenames = ()) Register a writer under one or more extensions and/or exact basenames. A format can have one writer owner; registering a conflicting writer raises an error. Extension and basename keys are matched case-insensitively. :param name: The registry name for the writer. :param writer: The writer callable or lazy ``"module:callable"`` reference. :param format: The neutral payload format emitted by the writer. :param extensions: File suffixes that select the writer. :param filenames: Exact basenames that select the writer. :raises ValueError: If ``format`` is invalid or conflicts with an existing writer.