Formatter¶
- 
class lsst.daf.butler.Formatter(fileDescriptor: FileDescriptor, dataId: DataCoordinate, writeParameters: Optional[Dict[str, Any]] = None, writeRecipes: Optional[Dict[str, Any]] = None)¶
- Bases: - object- Interface for reading and writing Datasets. - The formatters are associated with a particular - StorageClass.- Parameters: - fileDescriptor : FileDescriptor, optional
- Identifies the file to read or write, and the associated storage classes and parameter information. Its value can be - Noneif the caller will never call- Formatter.reador- Formatter.write.
- dataId : DataCoordinate
- Data ID associated with this formatter. 
- writeParameters : dict, optional
- Any parameters to be hard-coded into this instance to control how the dataset is serialized. 
- writeRecipes : dict, optional
- Detailed write Recipes indexed by recipe name. 
 - Notes - All Formatter subclasses should share the base class’s constructor signature. - Attributes Summary - dataId- Return Data ID associated with this formatter ( - DataCoordinate).- fileDescriptor- File descriptor associated with this formatter ( - FileDescriptor).- supportedExtensions- Set of all extensions supported by this formatter. - supportedWriteParameters- Parameters understood by this formatter that can be used to control how a dataset is serialized. - unsupportedParameters- Set of read parameters not understood by this - Formatter.- writeParameters- Parameters to use when writing out datasets. - writeRecipes- Detailed write Recipes indexed by recipe name. - Methods Summary - can_read_bytes()- Indicate if this formatter can format from bytes. - fromBytes(serializedDataset, component, …)- Read serialized data into a Dataset or its component. - makeUpdatedLocation(location)- Return a new - Locationupdated with this formatter’s extension.- name()- Return the fully qualified name of the formatter. - predictPath()- Return the path that would be returned by write. - read(component, None] = None)- Read a Dataset. - segregateParameters(parameters, Any], …)- Segregate the supplied parameters. - toBytes(inMemoryDataset)- Serialize the Dataset to bytes based on formatter. - validateExtension(location)- Check the extension of the provided location for compatibility. - validateWriteRecipes(recipes, Any], None])- Validate supplied recipes for this formatter. - write(inMemoryDataset)- Write a Dataset. - Attributes Documentation - 
dataId¶
- Return Data ID associated with this formatter ( - DataCoordinate).
 - 
fileDescriptor¶
- File descriptor associated with this formatter ( - FileDescriptor).- Read-only property. 
 - 
supportedExtensions= frozenset()¶
- Set of all extensions supported by this formatter. - Only expected to be populated by Formatters that write files. Any extension assigned to the - extensionproperty will be automatically included in the list of supported extensions.
 - 
supportedWriteParameters= None¶
- Parameters understood by this formatter that can be used to control how a dataset is serialized. - Noneindicates that no parameters are supported.
 - 
unsupportedParameters= frozenset()¶
- Set of read parameters not understood by this - Formatter. An empty set means all parameters are supported.- Noneindicates that no parameters are supported. These param (- frozenset).
 - 
writeParameters¶
- Parameters to use when writing out datasets. 
 - 
writeRecipes¶
- Detailed write Recipes indexed by recipe name. 
 - Methods Documentation - 
classmethod can_read_bytes() → bool¶
- Indicate if this formatter can format from bytes. - Returns: 
 - 
fromBytes(serializedDataset: bytes, component: Optional[str, None] = None) → object¶
- Read serialized data into a Dataset or its component. - Parameters: - serializedDataset : bytes
- Bytes object to unserialize. 
- component : str, optional
- Component to read from the Dataset. Only used if the - StorageClassfor reading differed from the- StorageClassused to write the file.
 - Returns: - inMemoryDataset : object
- The requested data as a Python object. The type of object is controlled by the specific formatter. 
 
- serializedDataset : 
 - 
makeUpdatedLocation(location: lsst.daf.butler.core.location.Location) → lsst.daf.butler.core.location.Location¶
- Return a new - Locationupdated with this formatter’s extension.- Parameters: - location : Location
- The location to update. 
 - Returns: - Raises: - NotImplementedError
- Raised if there is no - extensionattribute associated with this formatter.
 - Notes - This method is available to all Formatters but might not be implemented by all formatters. It requires that a formatter set an - extensionattribute containing the file extension used when writing files. If- extensionis- Nonethe supplied file will not be updated. Not all formatters write files so this is not defined in the base class.
- location : 
 - 
classmethod name() → str¶
- Return the fully qualified name of the formatter. - Returns: - name : str
- Fully-qualified name of formatter class. 
 
- name : 
 - 
predictPath() → str¶
- Return the path that would be returned by write. - Does not write any data file. - Uses the - FileDescriptorassociated with the instance.- Returns: 
 - 
read(component: Optional[str, None] = None) → Any¶
- Read a Dataset. - Parameters: - component : str, optional
- Component to read from the file. Only used if the - StorageClassfor reading differed from the- StorageClassused to write the file.
 - Returns: - inMemoryDataset : object
- The requested Dataset. 
 
- component : 
 - 
segregateParameters(parameters: Optional[Dict[str, Any], None] = None) → Tuple[Dict, Dict]¶
- Segregate the supplied parameters. - This splits the parameters into those understood by the formatter and those not understood by the formatter. - Any unsupported parameters are assumed to be usable by associated assemblers. - Parameters: - parameters : dict, optional
- Parameters with values that have been supplied by the caller and which might be relevant for the formatter. If - Noneparameters will be read from the registered- FileDescriptor.
 - Returns: 
- parameters : 
 - 
toBytes(inMemoryDataset: Any) → bytes¶
- Serialize the Dataset to bytes based on formatter. - Parameters: - inMemoryDataset : object
- The Python object to serialize. 
 - Returns: - serializedDataset : bytes
- Bytes representing the serialized dataset. 
 
- inMemoryDataset : 
 - 
classmethod validateExtension(location: lsst.daf.butler.core.location.Location) → None¶
- Check the extension of the provided location for compatibility. - Parameters: - location : Location
- Location from which to extract a file extension. 
 - Raises: - NotImplementedError
- Raised if file extensions are a concept not understood by this formatter. 
- ValueError
- Raised if the formatter does not understand this extension. 
 - Notes - This method is available to all Formatters but might not be implemented by all formatters. It requires that a formatter set an - extensionattribute containing the file extension used when writing files. If- extensionis- Noneonly the set of supported extensions will be examined.
- location : 
 - 
classmethod validateWriteRecipes(recipes: Optional[collections.abc.Mapping[str, Any], None]) → Optional[collections.abc.Mapping[str, Any], None]¶
- Validate supplied recipes for this formatter. - The recipes are supplemented with default values where appropriate. - Parameters: - recipes : dict
- Recipes to validate. 
 - Returns: - validated : dict
- Validated recipes. 
 - Raises: - RuntimeError
- Raised if validation fails. The default implementation raises if any recipes are given. 
 
- recipes : 
 
- fileDescriptor :