sasdata.data_backing module

class sasdata.data_backing.DataType

Sasdata metadata tree

alias of TypeVar(‘DataType’)

class sasdata.data_backing.Dataset(name: str, data: DataType, attributes: dict[str, Union[Self, str]])

Bases: Generic

__annotations__ = {'attributes': dict[str, typing.Union[typing.Self, str]], 'data': DataType, 'name': <class 'str'>}
__dataclass_fields__ = {'attributes': Field(name='attributes',type=dict[str, typing.Union[typing.Self, str]],default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'data': Field(name='data',type=DataType,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'name': Field(name='name',type=<class 'str'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False)
__dict__ = mappingproxy({'__module__': 'sasdata.data_backing', '__firstlineno__': 18, '__type_params__': (DataType,), '__annotations__': {'name': <class 'str'>, 'data': DataType, 'attributes': dict[str, typing.Union[typing.Self, str]]}, 'summary': <function Dataset.summary>, '__static_attributes__': (), '__orig_bases__': (typing.Generic[DataType],), '__dict__': <attribute '__dict__' of 'Dataset' objects>, '__weakref__': <attribute '__weakref__' of 'Dataset' objects>, '__doc__': 'Dataset(name: str, data: DataType, attributes: dict[str, typing.Union[typing.Self, str]])', '__parameters__': (DataType,), '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False), '__dataclass_fields__': {'name': Field(name='name',type=<class 'str'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'data': Field(name='data',type=DataType,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'attributes': Field(name='attributes',type=dict[str, typing.Union[typing.Self, str]],default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__replace__': <function _replace>, '__hash__': None, '__init__': <function Dataset.__init__>, '__repr__': <function Dataset.__repr__>, '__eq__': <function Dataset.__eq__>, '__match_args__': ('name', 'data', 'attributes')})
__doc__ = 'Dataset(name: str, data: DataType, attributes: dict[str, typing.Union[typing.Self, str]])'
__eq__(other)

Return self==value.

__firstlineno__ = 18
__hash__ = None
__init__(name: str, data: DataType, attributes: dict[str, Self | str]) None
__match_args__ = ('name', 'data', 'attributes')
__module__ = 'sasdata.data_backing'
__orig_bases__ = (typing.Generic[DataType],)
__parameters__ = (DataType,)
__replace__(**changes)
__repr__()

Return repr(self).

__static_attributes__ = ()
__type_params__ = (DataType,)
__weakref__

list of weak references to the object

attributes: dict[str, Self | str]
data: DataType
name: str
summary(indent_amount: int = 0, indent: str = '  ') str
class sasdata.data_backing.Function(abscissae: list[NamedQuantity], ordinate: NamedQuantity)

Bases: object

Representation of a (data driven) function, such as I vs Q

__dict__ = mappingproxy({'__module__': 'sasdata.data_backing', '__firstlineno__': 51, '__doc__': 'Representation of a (data driven) function, such as I vs Q ', '__init__': <function Function.__init__>, '__static_attributes__': ('abscissae', 'ordinate'), '__dict__': <attribute '__dict__' of 'Function' objects>, '__weakref__': <attribute '__weakref__' of 'Function' objects>, '__annotations__': {}})
__doc__ = 'Representation of a (data driven) function, such as I vs Q '
__firstlineno__ = 51
__init__(abscissae: list[NamedQuantity], ordinate: NamedQuantity)
__module__ = 'sasdata.data_backing'
__static_attributes__ = ('abscissae', 'ordinate')
__weakref__

list of weak references to the object

class sasdata.data_backing.FunctionType(*values)

Bases: Enum

What kind of function is this, should not be relied upon to be perfectly descriptive

The functions might be parametrised by more variables than the specification

CORRELATION_FUNCTION_1D = 32
CORRELATION_FUNCTION_2D = 33
CORRELATION_FUNCTION_3D = 34
INTERFACE_DISTRIBUTION_FUNCTION = 35
POLARISATION_EFFICIENCY = 22
PROBABILITY_DENSITY = 41
PROBABILITY_DISTRIBUTION = 40
SCATTERING_INTENSITY_VS_ANGLE = 4
SCATTERING_INTENSITY_VS_Q = 1
SCATTERING_INTENSITY_VS_Q_2D = 2
SCATTERING_INTENSITY_VS_Q_3D = 3
SESANS = 31
TRANSMISSION = 21
UNKNOWN = 0
UNKNOWN_METADATA = 20
UNKNOWN_REALSPACE = 30
__doc__ = 'What kind of function is this, should not be relied upon to be perfectly descriptive\n\nThe functions might be parametrised by more variables than the specification\n'
__module__ = 'sasdata.data_backing'
class sasdata.data_backing.Group(name: str, children: dict[str, Union[Self, sasdata.data_backing.Dataset]])

Bases: object

__annotations__ = {'children': dict[str, typing.Union[typing.Self, sasdata.data_backing.Dataset]], 'name': <class 'str'>}
__dataclass_fields__ = {'children': Field(name='children',type=dict[str, typing.Union[typing.Self, sasdata.data_backing.Dataset]],default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'name': Field(name='name',type=<class 'str'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False)
__dict__ = mappingproxy({'__module__': 'sasdata.data_backing', '__firstlineno__': 39, '__annotations__': {'name': <class 'str'>, 'children': dict[str, typing.Union[typing.Self, sasdata.data_backing.Dataset]]}, 'summary': <function Group.summary>, '__static_attributes__': (), '__dict__': <attribute '__dict__' of 'Group' objects>, '__weakref__': <attribute '__weakref__' of 'Group' objects>, '__doc__': 'Group(name: str, children: dict[str, typing.Union[typing.Self, sasdata.data_backing.Dataset]])', '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False), '__dataclass_fields__': {'name': Field(name='name',type=<class 'str'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'children': Field(name='children',type=dict[str, typing.Union[typing.Self, sasdata.data_backing.Dataset]],default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__replace__': <function _replace>, '__hash__': None, '__init__': <function Group.__init__>, '__repr__': <function Group.__repr__>, '__eq__': <function Group.__eq__>, '__match_args__': ('name', 'children')})
__doc__ = 'Group(name: str, children: dict[str, typing.Union[typing.Self, sasdata.data_backing.Dataset]])'
__eq__(other)

Return self==value.

__firstlineno__ = 39
__hash__ = None
__init__(name: str, children: dict[str, Self | Dataset]) None
__match_args__ = ('name', 'children')
__module__ = 'sasdata.data_backing'
__replace__(**changes)
__repr__()

Return repr(self).

__static_attributes__ = ()
__weakref__

list of weak references to the object

children: dict[str, Self | Dataset]
name: str
summary(indent_amount: int = 0, indent='  ')
sasdata.data_backing.build_main_data(data: list[NamedQuantity]) Function
sasdata.data_backing.function_type_identification_key(names)

Create a key from the names of data objects that can be used to assign a function type

sasdata.data_backing.key_tree(data: Group | Dataset, indent_amount=0, indent: str = '  ') str

Show a metadata tree, showing the names of they keys used to access them

sasdata.data_backing.shorten_string(string)