UnifiedInputRegistry#
- class astropy.io.registry.UnifiedInputRegistry[source]#
 Bases:
_UnifiedIORegistryBaseRead-only Unified Registry.
Added in version 5.0.
Examples
First let’s start by creating a read-only registry.
>>> from astropy.io.registry import UnifiedInputRegistry >>> read_reg = UnifiedInputRegistry()
There is nothing in this registry. Let’s make a reader for the
Tableclass:from astropy.table import Table def my_table_reader(filename, some_option=1): # Read in the table by any means necessary return table # should be an instance of Table
Such a function can then be registered with the I/O registry:
read_reg.register_reader('my-table-format', Table, my_table_reader)
Note that we CANNOT then read in a table with:
d = Table.read('my_table_file.mtf', format='my-table-format')
Why? because
Table.readuses Astropy’s default global registry and this is a separate registry. Instead we can read by the read method on the registry:d = read_reg.read(Table, 'my_table_file.mtf', format='my-table-format')
Methods Summary
get_reader(data_format, data_class)Get reader for
data_format.read(cls, *args[, format, cache])Read in data.
register_reader(data_format, data_class, ...)Register a reader function.
unregister_reader(data_format, data_class)Unregister a reader function.
Methods Documentation
- get_reader(data_format, data_class)[source]#
 Get reader for
data_format.- Parameters:
 - data_format
python:str The data format identifier. This is the string that is used to specify the data type when reading/writing.
- data_classclass
 The class of the object that can be written.
- data_format
 - Returns:
 - reader
python:callable() The registered reader function for this format and class.
- reader
 
- read(cls, *args, format=None, cache=False, **kwargs)[source]#
 Read in data.
- Parameters:
 - clsclass
 - *args
 The arguments passed to this method depend on the format.
- format
python:strorpython:None - cachebool
 Whether to cache the results of reading in the data.
- **kwargs
 The arguments passed to this method depend on the format.
- Returns:
 objectorpython:NoneThe output of the registered reader.
- register_reader(data_format, data_class, function, force=False, priority=0)[source]#
 Register a reader function.
- Parameters:
 - data_format
python:str The data format identifier. This is the string that will be used to specify the data type when reading.
- data_classclass
 The class of the object that the reader produces.
- functionpython:function
 The function to read in a data object.
- forcebool, optional
 Whether to override any existing function if already present. Default is
False.- priority
python:int, optional The priority of the reader, used to compare possible formats when trying to determine the best reader to use. Higher priorities are preferred over lower priorities, with the default priority being 0 (negative numbers are allowed though).
- data_format