Formatter¶
- class lsst.daf.butler.Formatter(fileDescriptor: FileDescriptor, *, dataId: DataCoordinate | None = None, writeParameters: Mapping[str, Any] | None = None, writeRecipes: Mapping[str, Any] | None = None, **kwargs: Any)¶
- 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. 
- dataIdDataCoordinate
- Data ID associated with this formatter. 
- writeParametersdict, optional
- Parameters to control how the dataset is serialized. 
- writeRecipesdict, optional
- Detailed write recipes indexed by recipe name. 
- **kwargs
- Additional parameters that can allow parameters from - FormatterV2to be provided.
 
- fileDescriptor
 - Notes - All Formatter subclasses should share the base class’s constructor signature. - Attributes Summary - Return Data ID associated with this formatter ( - DataCoordinate).- Default file extension to use for writing files. - 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 - can_accept(in_memory_dataset)- Indicate whether this formatter can accept the specified storage class directly. - 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.- make_updated_location(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. - Return the path that would be returned by write. - read([component])- Read a Dataset. - segregateParameters([parameters])- Segregate the supplied parameters. - segregate_parameters([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. - validate_extension(location)- Check the extension of the provided location for compatibility. - validate_write_recipes(recipes)- write(inMemoryDataset)- Write a Dataset. - Attributes Documentation - dataId¶
- Return Data ID associated with this formatter ( - DataCoordinate).
 - data_id¶
 - extension: str | None = None¶
- Default file extension to use for writing files. None means that no modifications will be made to the supplied file extension. ( - str)
 - fileDescriptor¶
- File descriptor associated with this formatter ( - FileDescriptor).
 - file_descriptor¶
 - supportedExtensions: ClassVar[Set[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[Set[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[Set[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 parameters should match those defined in the storage class definition. (- frozenset).
 - writeParameters¶
- Parameters to use when writing out datasets. 
 - writeRecipes¶
- Detailed write Recipes indexed by recipe name. 
 - write_parameters¶
 - write_recipes¶
 - Methods Documentation - can_accept(in_memory_dataset: Any) bool¶
- Indicate whether this formatter can accept the specified storage class directly. - Parameters:
- in_memory_datasetobject
- The dataset that is to be written. 
 
- in_memory_dataset
- Returns:
 - Notes - The base class checks that the given python type matches the python type specified for this formatter when constructed. 
 - 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.
 - make_updated_location(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.
 - predict_path() 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:
 
 - segregate_parameters(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.
 - classmethod validateWriteRecipes(recipes: Mapping[str, Any] | None) Mapping[str, Any] | None¶
- Validate supplied recipes for this formatter. - The recipes are supplemented with default values where appropriate. 
 - classmethod validate_extension(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.