Formatter¶
- class lsst.daf.butler.Formatter(fileDescriptor: FileDescriptor, dataId: DataCoordinate, writeParameters: Dict[str, Any] | None = None, writeRecipes: Dict[str, Any] | None = None)¶
- Bases: - object- Interface for reading and writing Datasets. - The formatters are associated with a particular - StorageClass.- Parameters:
- fileDescriptorFileDescriptor, 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.
- dataIdDataCoordinate
- Data ID associated with this formatter. 
- writeParametersdict, optional
- Any parameters to be hard-coded into this instance to control how the dataset is serialized. 
- writeRecipesdict, optional
- Detailed write Recipes indexed by recipe name. 
 
- fileDescriptor
 - Notes - All Formatter subclasses should share the base class’s constructor signature. - Attributes Summary - Return Data ID associated with this formatter ( - DataCoordinate).- File descriptor associated with this formatter ( - FileDescriptor).- Set of all extensions supported by this formatter. - Parameters understood by this formatter that can be used to control how a dataset is serialized. - Set of read parameters not understood by this - Formatter.- Parameters to use when writing out datasets. - Detailed write Recipes indexed by recipe name. - Methods Summary - 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. - Return the path that would be returned by write. - read([component])- Read a Dataset. - segregateParameters([parameters])- 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)- 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: ClassVar[AbstractSet[str]] = 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: ClassVar[AbstractSet[str] | None] = None¶
- Parameters understood by this formatter that can be used to control how a dataset is serialized. - Noneindicates that no parameters are supported.
 - unsupportedParameters: ClassVar[AbstractSet[str] | None] = 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 - fromBytes(serializedDataset: bytes, component: str | None = None) object¶
- Read serialized data into a Dataset or its component. - Parameters:
- serializedDatasetbytes
- Bytes object to unserialize. 
- componentstr, optional
- Component to read from the Dataset. Only used if the - StorageClassfor reading differed from the- StorageClassused to write the file.
 
- serializedDataset
- Returns:
- inMemoryDatasetobject
- The requested data as a Python object. The type of object is controlled by the specific formatter. 
 
- inMemoryDataset
 
 - makeUpdatedLocation(location: Location) Location¶
- Return a new - Locationupdated with this formatter’s extension.- Parameters:
- locationLocation
- The location to update. 
 
- location
- 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.
 - classmethod name() str¶
- Return the fully qualified name of the formatter. - Returns:
- namestr
- 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.
 - abstract read(component: str | None = None) Any¶
- Read a Dataset. - Parameters:
- componentstr, optional
- Component to read from the file. Only used if the - StorageClassfor reading differed from the- StorageClassused to write the file.
 
- component
- Returns:
- inMemoryDatasetobject
- The requested Dataset. 
 
- inMemoryDataset
 
 - segregateParameters(parameters: 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:
- parametersdict, 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.
 
- parameters
- Returns:
 
 - classmethod validateExtension(location: Location) None¶
- Check the extension of the provided location for compatibility. - Parameters:
- locationLocation
- Location from which to extract a file extension. 
 
- location
- 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.