Unified I/O Registry (gwpy.io.registry)#

I/O registry extensions on top of astropy.io.registry.

This module imports a subset of the useful functions from astropy.io.registry for convenience.

Functions#

identify_factory(*extensions)

Return an Astropy Unified I/O identify function for a set of extensions.

inherit_unified_io(klass)

Re-register all Unified I/O readers/writers/identifiers from a parent to a child.

Classes#

GetExceptionGroup

Exception group raised by Klass.get() when all sources fail.

UnifiedFetch(instance, cls, registry)

Base Class.fetch() implementation.

UnifiedFetchRegistry()

UnifiedInputRegistry hacked to support a .fetch() method.

UnifiedGet(instance, cls, registry, module)

Unified I/O .get() implementation.

UnifiedGetRegistry()

Unified I/O registry for providing a multi-source .get() method.

UnifiedIORegistry()

UnifiedIORegistry that can handle reading files in parallel.

UnifiedRead(instance, cls, registry)

Base Class.read() implementation that handles parallel reads.

UnifiedWrite(instance, cls, registry)

Base Class.write() implementation.

Variables#

default_registry

The default unified I/O registry instance.

Class Inheritance Diagram#

digraph inheritanceba4f71244e { bgcolor=transparent; rankdir=TB; size="8.0, 12.0"; "ABC" [URL="https://docs.python.org/3/library/abc.html#abc.ABC",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Helper class that provides a standard way to create an ABC using"]; "Generic" [URL="https://docs.python.org/3/library/typing.html#typing.Generic",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract base class for generic types."]; "GetExceptionGroup" [URL="../gwpy.io.registry.GetExceptionGroup/#gwpy.io.registry.GetExceptionGroup",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Exception group raised by ``Klass.get()`` when all sources fail."]; "UnifiedFetch" [URL="../gwpy.io.registry.UnifiedFetch/#gwpy.io.registry.UnifiedFetch",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base ``Class.fetch()`` implementation."]; "UnifiedRead" -> "UnifiedFetch" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Generic" -> "UnifiedFetch" [arrowsize=0.5,style="setlinewidth(0.5)"]; "UnifiedFetchRegistry" [URL="../gwpy.io.registry.UnifiedFetchRegistry/#gwpy.io.registry.UnifiedFetchRegistry",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="`UnifiedInputRegistry` hacked to support a ``.fetch()`` method."]; "UnifiedInputRegistry" -> "UnifiedFetchRegistry" [arrowsize=0.5,style="setlinewidth(0.5)"]; "UnifiedGet" [URL="../gwpy.io.registry.UnifiedGet/#gwpy.io.registry.UnifiedGet",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Unified I/O ``.get()`` implementation."]; "UnifiedFetch" -> "UnifiedGet" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Generic" -> "UnifiedGet" [arrowsize=0.5,style="setlinewidth(0.5)"]; "UnifiedGetRegistry" [URL="../gwpy.io.registry.UnifiedGetRegistry/#gwpy.io.registry.UnifiedGetRegistry",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Unified I/O registry for providing a multi-source ``.get()`` method."]; "UnifiedFetchRegistry" -> "UnifiedGetRegistry" [arrowsize=0.5,style="setlinewidth(0.5)"]; "UnifiedIORegistry" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Unified I/O Registry."]; "UnifiedInputRegistry" -> "UnifiedIORegistry" [arrowsize=0.5,style="setlinewidth(0.5)"]; "UnifiedOutputRegistry" -> "UnifiedIORegistry" [arrowsize=0.5,style="setlinewidth(0.5)"]; "UnifiedIORegistry" [URL="../gwpy.io.registry.UnifiedIORegistry/#gwpy.io.registry.UnifiedIORegistry",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="UnifiedIORegistry that can handle reading files in parallel."]; "UnifiedIORegistry" -> "UnifiedIORegistry" [arrowsize=0.5,style="setlinewidth(0.5)"]; "UnifiedInputRegistry" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Read-only Unified Registry."]; "_UnifiedIORegistryBase" -> "UnifiedInputRegistry" [arrowsize=0.5,style="setlinewidth(0.5)"]; "UnifiedOutputRegistry" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Write-only Registry."]; "_UnifiedIORegistryBase" -> "UnifiedOutputRegistry" [arrowsize=0.5,style="setlinewidth(0.5)"]; "UnifiedRead" [URL="../gwpy.io.registry.UnifiedRead/#gwpy.io.registry.UnifiedRead",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base ``Class.read()`` implementation that handles parallel reads."]; "UnifiedReadWrite" -> "UnifiedRead" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "UnifiedRead" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Generic" -> "UnifiedRead" [arrowsize=0.5,style="setlinewidth(0.5)"]; "UnifiedReadWrite" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class for the worker object used in unified read() or write() methods."]; "UnifiedWrite" [URL="../gwpy.io.registry.UnifiedWrite/#gwpy.io.registry.UnifiedWrite",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base ``Class.write()`` implementation."]; "UnifiedReadWrite" -> "UnifiedWrite" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Generic" -> "UnifiedWrite" [arrowsize=0.5,style="setlinewidth(0.5)"]; "_UnifiedIORegistryBase" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class for registries in Astropy's Unified IO."]; }