Base classes and other methods#

class lnpy.extensions.AccessorMixin[source]#

Bases: object

Mixin for accessor.

Methods:

register_accessor(name, accessor[, ...])

Register a property name to class of type accessor(self)

decorate_accessor(name[, single_create])

Register a property name to class of type accessor(self).

classmethod register_accessor(name, accessor, single_create=False)[source]#

Register a property name to class of type accessor(self)

Examples

>>> class parent(AccessorMixin):
...     pass
>>> class hello(AccessorMixin):
...     def __init__(self, parent):
...         self._parent = parent
...
...     def there(self):
...         return f"{type(self._parent)}"
>>> parent.register_accessor("hello", hello)
>>> x = parent()
>>> x.hello.there()
"<class 'lnpy.extensions.parent'>"
classmethod decorate_accessor(name, single_create=False)[source]#

Register a property name to class of type accessor(self).

Examples

>>> class parent(AccessorMixin):
...     pass
>>> @parent.decorate_accessor("hello")
... class hello(AccessorMixin):
...     def __init__(self, parent):
...         self._parent = parent
...
...     def there(self):
...         return f"{type(self._parent)}"
>>> x = parent()
>>> x.hello.there()
"<class 'lnpy.extensions.parent'>"
class lnpy.core._attrs_utils.MyAttrsMixin[source]#

Bases: object

Baseclass for adding some sugar to attrs.derived classes.

Methods:

asdict()

Convert object to dictionary.

new_like(**kws)

Create a new object with optional parameters.

assign(**kws)

Alias to new_like().

asdict()[source]#

Convert object to dictionary.

new_like(**kws)[source]#

Create a new object with optional parameters.

Parameters:

**kwsattribute, value pairs.

assign(**kws)[source]#

Alias to new_like().

Typing definitions for lnpy#

Data:

InterpolationMethods

Interpolation methods

MaskConvention

Convention for boolean masks.

NDArrayAny

Alias for simple numpy.typing.NDArray[Any]

PhasesFactorySignature

Signature for phases_factory function.

TagPhasesSignature

Signature for tag_phases function.

lnpy.core.typing.InterpolationMethods(*args, **kwargs)#

Interpolation methods

alias of Literal[‘akima’, ‘barycentric’, ‘cubic’, ‘krogh’, ‘linear’, ‘makima’, ‘nearest’, ‘pchip’, ‘polynomial’, ‘quadratic’, ‘quintic’, ‘slinear’, ‘spline’, ‘zero’]

lnpy.core.typing.MaskConvention(*args, **kwargs)#

Convention for boolean masks.

alias of Literal[‘image’, ‘masked’] | bool

lnpy.core.typing.NDArrayAny(*args, **kwargs)#

Alias for simple numpy.typing.NDArray[Any]

alias of ndarray[tuple[Any, …], dtype[Any]]

lnpy.core.typing.PhasesFactorySignature(self, *args, **kwds)#

Signature for phases_factory function.

alias of Callable[[…], lnpy.lnpiseries.lnPiCollection]

lnpy.core.typing.TagPhasesSignature(self, *args, **kwds)#

Signature for tag_phases function.

alias of Callable[[Sequence[lnpy.lnpidata.lnPiMasked]], Sequence[int] | NDArrayAny]