httk.registry.io.atomistic

Register format adapters, readers, and writers implemented by httk.atomistic.

Functions

register_format_adapter(*, name, adapter, formats)

Register one lazy adapter for each neutral payload format in formats.

register_format_serializer(*, format, serializer)

Register one lazy serializer for a neutral payload format tag.

register_reader(*, name, reader[, extensions, filenames])

Register a reader under one or more file extensions and/or filenames.

register_writer(*, name, writer, format[, extensions, ...])

Register a writer under one or more extensions and/or exact basenames.

Package Contents

httk.registry.io.atomistic.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.

Parameters:
Raises:

ValueError – If a format tag is invalid, duplicated, or already owned.

httk.registry.io.atomistic.register_format_serializer(*, format, serializer)

Register one lazy serializer for a neutral payload format tag.

Parameters:
  • format (str) – The neutral payload format tag.

  • serializer (str | collections.abc.Callable[Ellipsis, Any]) – The serializer callable or lazy reference.

Raises:

ValueError – If format is invalid or already has another serializer.

httk.registry.io.atomistic.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.

Parameters:
  • name (str) – The registry name for the reader.

  • reader (str) – A lazy "module:callable" reference to the reader.

  • extensions (tuple[str, Ellipsis]) – File suffixes that select the reader.

  • filenames (tuple[str, Ellipsis]) – Exact basenames that select the reader.

httk.registry.io.atomistic.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.

Parameters:
  • name (str) – The registry name for the writer.

  • writer (str | collections.abc.Callable[Ellipsis, Any]) – The writer callable or lazy "module:callable" reference.

  • format (str) – The neutral payload format emitted by the writer.

  • extensions (tuple[str, Ellipsis]) – File suffixes that select the writer.

  • filenames (tuple[str, Ellipsis]) – Exact basenames that select the writer.

Raises:

ValueError – If format is invalid or conflicts with an existing writer.