UniqueSnap

class PlasmaCalcs.dimensions.snaps.UniqueSnap(name, repr=None, module_name=None, unique_includes_module=False)

Bases: UniqueDimensionValue, Snap

unique snap; Sentinel value with Snap type.

Methods

__init_subclass__(*[, _serial_typename])

register cls as a subclass of XarrayIoSerializable.

__new__(cls, name[, repr, module_name, ...])

return new Sentinel object.

copy(**kw__None)

return self; self is a Sentinel so there is only 1 instance.

copy_add_t(_t_add)

return self, unchanged; self is a Sentinel so there is only 1 instance.

deserialize(serial)

creates an XarrayIoSerializable object from a serialized representation.

equal_except_i(v)

returns whether self == v (another DimensionValue), ignoring i.

exists_for(calculator)

returns whether this snap exists for this calculator.

file_path(calculator)

returns the abspath to the file associated with this snap for this calculator.

file_s(calculator)

returns the str used when determining file related to this snap.

file_snap(calculator)

returns the snap used when determining file related to this snap.

from_dict(d, *[, ignore_dt])

return cls from dict d.

getter(dlist)

get the value from dlist specified by self.

lookup_dict()

returns dict for looking up self within a DimensionValueList, given int, str, or self.

register_type(cls_to_register[, ...])

register cls_to_register as a serializable subclass of XarrayIoSerializable.

serialize()

return dict of info about self, including 'typename' key.

to_dict()

return dictionary of info about self.

with_i(i)

return copy of self with i=i, or self if self.i==i already.

_getter_as_str()

returns str representation of self.getter.

_getter_from_str(dlist)

get the value from dlist specified by str self.getter.

_iseler_as_str()

returns str representation of self.iseler.

_iseler_from_str(dvals)

get the indexes from dlist specified by str self.iseler.

_iseler_when_none(dvals)

crash, because self was passed to xarray_isel or xarray_sel but self.iseler is None.

_repr_contents()

contents for repr; used by __repr__.

_repr_simple()

return simple repr for self: Classname(s, i).

Attributes

SERIAL_TYPES

i

name

ndim

s

alias to name

size

classmethod __init_subclass__(*, _serial_typename=None, **kw)

register cls as a subclass of XarrayIoSerializable.

_serial_typename: None or str
name to use for this type, for serialization purposes.
None –> use cls.__name__.
This method also sets cls._serial_typename = _serial_typename.
static __new__(cls, name, repr=None, module_name=None, unique_includes_module=False)

return new Sentinel object.

_getter_as_str()

returns str representation of self.getter.

Use self.init_getter if it exists, else self.getter if it exists, else ‘UNKNOWN_GETTER’.
_getter_from_str(dlist)

get the value from dlist specified by str self.getter.

_iseler_as_str()

returns str representation of self.iseler.

Use self.init_iseler if it exists, else self.iseler if it exists, else ‘UNKNOWN_ISELER’.
_iseler_from_str(dvals)

get the indexes from dlist specified by str self.iseler.

_iseler_when_none(dvals)

crash, because self was passed to xarray_isel or xarray_sel but self.iseler is None.

_repr_contents()

contents for repr; used by __repr__.

_repr_simple()

return simple repr for self: Classname(s, i).

if s is None, use Classname(i) instead.
if i is None, use Classname(s, i=None) instead.
Called when using PlasmaCalcs.tools.repr_simple.
copy(**kw__None)

return self; self is a Sentinel so there is only 1 instance.

copy_add_t(_t_add)

return self, unchanged; self is a Sentinel so there is only 1 instance.

static deserialize(serial)

creates an XarrayIoSerializable object from a serialized representation.

serial: dict or str
str –> convert to dict via ast.literal_eval.
dict must contain ‘typename’ key.
The output here will be an instance of XarrayIoSerializable.SERIAL_TYPES[typename]
equal_except_i(v)

returns whether self == v (another DimensionValue), ignoring i.

equal if v is an instance of type(self) and
all kw from both self._kw_eq and v._kw_eq have the same values.
(any kw missing attrs will be treated as UNSET.)
For DimensionValue: self.s==v.s and self.i==v.i. Subclasses may add more.
exists_for(calculator)

returns whether this snap exists for this calculator.

Here, just return self is not MISSING_SNAP. subclass should override if desired.
file_path(calculator)

returns the abspath to the file associated with this snap for this calculator.

Here, just return calculator.snap_filepath(self).
file_s(calculator)

returns the str used when determining file related to this snap.

Here, just return str(self). subclass should override if desired.
file_snap(calculator)

returns the snap used when determining file related to this snap.

Here, just returns self. Subclasses might override.
classmethod from_dict(d, *, ignore_dt=True)

return cls from dict d. d should NOT have ‘typename’ key.

Use cls.deserialize(d) instead if d has ‘typname’ key.
ignore_dt: bool
whether to ignore ‘dt’ key from d.
This exists for backwards compatibility when reading older files;
Snap previously accepted ‘dt’ key but doesn’t anymore.
getter(dlist)

get the value from dlist specified by self.

(Here, just returns self, the SpecialDimensionValue)
lookup_dict()

returns dict for looking up self within a DimensionValueList, given int, str, or self.

(used by DimensionValueList.lookup_dict)
static register_type(cls_to_register, _serial_typename=None)

register cls_to_register as a serializable subclass of XarrayIoSerializable.

_serial_typename: str or None
name to use for serialization. if None, use cls_to_register.__name__.
property s

alias to name

serialize()

return dict of info about self, including ‘typename’ key.

to_dict()

return dictionary of info about self. Attribute values for keys in self._kw_def.

e.g. if _kw_def={‘s’, ‘i’}: result = {‘s’: self.s, ‘i’: self.i}
with_i(i)

return copy of self with i=i, or self if self.i==i already.