httk.core.register.io

Reader, writer, adapter, and serializer registries.

Attributes

Functions

has_reader_for(name)

Return whether name matches a registered reader key.

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

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

known_extensions()

Return the registered reader extensions.

known_filenames()

Return the registered reader basenames.

register_format_adapter(*, name, adapter, formats)

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

known_format_adapters()

Return format tags mapped to their registered adapter names.

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

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

known_writers()

Return the registered writer extension and basename dispatch keys.

known_writer_formats()

Return registered writer format tags.

register_format_serializer(*, format, serializer)

Register one lazy serializer for a neutral payload format tag.

Module Contents

httk.core.register.io.has_reader_for(name)[source]

Return whether name matches a registered reader key.

Parameters:

name (str) – Filename or URL path whose reader registration is checked.

Returns:

Whether the name matches a registered extension or exact basename.

Return type:

bool

httk.core.register.io.readers[source]
httk.core.register.io.reader_filenames[source]
httk.core.register.io.format_adapters[source]
httk.core.register.io.writers[source]
httk.core.register.io.writer_filenames[source]
httk.core.register.io.writer_formats[source]
httk.core.register.io.format_serializers[source]
httk.core.register.io.register_reader(*, name, reader, extensions=(), filenames=())[source]

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.core.register.io.known_extensions()[source]

Return the registered reader extensions.

Returns:

Lower-case reader suffixes.

Return type:

list[str]

httk.core.register.io.known_filenames()[source]

Return the registered reader basenames.

Returns:

Lower-case reader basenames.

Return type:

list[str]

httk.core.register.io.register_format_adapter(*, name, adapter, formats)[source]

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.core.register.io.known_format_adapters()[source]

Return format tags mapped to their registered adapter names.

Returns:

Format tags mapped to registry names.

Return type:

dict[str, str]

httk.core.register.io.register_writer(*, name, writer, format, extensions=(), filenames=())[source]

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.

httk.core.register.io.known_writers()[source]

Return the registered writer extension and basename dispatch keys.

Returns:

Writer keys selected by extensions or exact basenames.

Return type:

list[str]

httk.core.register.io.known_writer_formats()[source]

Return registered writer format tags.

Returns:

Registered neutral payload format tags.

Return type:

list[str]

httk.core.register.io.register_format_serializer(*, format, serializer)[source]

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.