src.backend package

Submodules

src.backend.backend module

class src.backend.backend.Backend(*args, **kwargs)

Bases: Protocol[Data]

Protocol describing the Array API standard subset. Backends like numpy, jax.numpy, cupy, torch (with array-api mode) can be typed against this.

static abs(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static absolute_value(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static add(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

static add_at(x, /, *, indices, out=None)
Parameters:
  • x (Data)

  • indices (Data)

  • out (Data | None)

Return type:

Data

static arange(*, start, stop, step=None, dtype=None)
Parameters:
  • start (int)

  • stop (int)

  • step (int | None)

  • dtype (type | None)

Return type:

Data

static as_data(x, /, *, dtype=None, copy=False)
Parameters:
  • x (Any)

  • dtype (type | None)

  • copy (bool)

Return type:

Data

static as_type(x, /, *, dtype, copy=False)
Parameters:
  • x (Data)

  • dtype (type)

  • copy (bool)

Return type:

Data

static bin_count(x, /, *, nbins=0)
Parameters:
  • x (Data)

  • nbins (int)

Return type:

Data

bool_dtype: type
static broadcast_to(x, /, *, shape)
Parameters:
  • x (Data)

  • shape (int | Sequence[int])

Return type:

Data

static compress_axis(x, /, *, keep, axis=0, out=None)
Parameters:
  • x (Data)

  • keep (Any)

  • axis (int | None)

  • out (Data | None)

Return type:

Data

static concat(xs, /, *, axis=0)
Parameters:
  • xs (Sequence[Data])

  • axis (int)

Return type:

Data

static copy(x)
Parameters:

x (Data)

Return type:

Data

static cos(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static count_nonzero(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (Data)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

Data

counting_dtype: type
static cumsum(x, /, *, axis=None, dtype=None, out=None)
Parameters:
  • x (Data)

  • axis (int | None)

  • dtype (type | None)

  • out (Data | None)

Return type:

Data

data_type: type[Data]
static diagonal(x, /)
Parameters:

x (Data)

Return type:

Data

static diff(x, /, *, n=1, axis=-1)
Parameters:
  • x (Data)

  • n (int)

  • axis (int)

Return type:

Data

static distance(x, y, /, *, dist_type)
Parameters:
  • x (Data)

  • y (Data)

  • dist_type (str)

Return type:

Data

static distance_lazy(x, y, /, *, dist_type)
Parameters:
  • x (Data)

  • y (Data)

  • dist_type (str)

Return type:

Iterator[Data]

static divide(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

static equal(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

static exp(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static expand_dims(x, /, *, axis)
Parameters:
  • x (Data)

  • axis (int | Sequence[int])

Return type:

Data

static fill_diagonal(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

static flat_nonzero(x, /)
Parameters:

x (Data)

Return type:

Data

static floor_divide(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

static full(x, /, *, shape, dtype=None)
Parameters:
  • x (Any)

  • shape (int | Sequence[int])

  • dtype (type | None)

Return type:

Data

static greater(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

static greater_equal(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

index_dtype: type
static invert(x, /)
Parameters:

x (Data)

Return type:

Data

static less(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

static less_equal(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

static log(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static max(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (Data)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

Data

static mean(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (Data)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

Data

static min(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (Data)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

Data

static mod(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

static multiply(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

name: Literal['numpy']
static not_equal(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

static ones(*, shape, dtype=None)
Parameters:
  • shape (int | Sequence[int])

  • dtype (type | None)

Return type:

Data

static power(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

real_dtype: type
static repeat(x, /, *, repeats, axis=None)
Parameters:
  • x (Data)

  • repeats (Any)

  • axis (int | None)

Return type:

Data

static reshape(x, /, *, shape)
Parameters:
  • x (Data)

  • shape (int | Sequence[int])

Return type:

Data

static segment_max(x, /, *, indices, are_slices=False, axis=0, nbins=None)
Parameters:
  • x (Data)

  • indices (Any)

  • are_slices (bool)

  • axis (int | None)

  • nbins (int | None)

Return type:

Data

static segment_mean(x, /, *, indices, are_slices=False, axis=0, nbins=None)
Parameters:
  • x (Data)

  • indices (Any)

  • are_slices (bool)

  • axis (int | None)

  • nbins (int | None)

Return type:

Data

static segment_min(x, /, *, indices, are_slices=False, axis=0, nbins=None)
Parameters:
  • x (Data)

  • indices (Any)

  • are_slices (bool)

  • axis (int | None)

  • nbins (int | None)

Return type:

Data

static segment_sum(x, /, *, indices, are_slices=False, axis=0, nbins=None)
Parameters:
  • x (Data)

  • indices (Any)

  • are_slices (bool)

  • axis (int | None)

  • nbins (int | None)

Return type:

Data

static sin(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static sqrt(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static squeeze(x, /, *, axis)
Parameters:
  • x (Data)

  • axis (int | Sequence[int])

Return type:

Data

static stack(xs, /, *, axis=0)
Parameters:
  • xs (Sequence[Data])

  • axis (int)

Return type:

Data

static subtract(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

static sum(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (Data)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

Data

static zeros(*, shape, dtype=None)
Parameters:
  • shape (int | Sequence[int])

  • dtype (type | None)

Return type:

Data

src.backend.numpy module

class src.backend.numpy.NumpyBackend(*args, **kwargs)

Bases: Backend[ndarray]

static abs(x, /, *, out=None)
Parameters:
  • x (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static absolute_value(x, /, *, out=None)
Parameters:
  • x (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static add(x, y, /, *, out=None)
Parameters:
  • x (ndarray)

  • y (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static add_at(x, /, *, indices, out=None)
Parameters:
  • x (ndarray)

  • indices (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static add_between(x, /, *, start, stop, out=None)
Parameters:
  • x (ndarray)

  • start (ndarray)

  • stop (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static arange(*, start, stop, step=None, dtype=None)
Parameters:
  • start (int)

  • stop (int)

  • step (int | None)

  • dtype (type | None)

Return type:

ndarray

static as_data(x, /, *, dtype=None, copy=False)
Parameters:
  • x (Any)

  • dtype (type | None)

  • copy (bool)

Return type:

ndarray

static as_type(x, /, *, dtype, copy=False)
Parameters:
  • x (ndarray)

  • dtype (type)

  • copy (bool)

Return type:

ndarray

static bin_count(x, /, *, nbins=0)
Parameters:
  • x (ndarray)

  • nbins (int)

Return type:

ndarray

bool_dtype

alias of bool

static broadcast_to(x, /, *, shape)
Parameters:
  • x (ndarray)

  • shape (int | Sequence[int])

Return type:

ndarray

static compress_axis(x, /, *, keep, axis=None, out=0)
Parameters:
  • x (ndarray)

  • keep (Any)

  • axis (int | None)

  • out (ndarray | None)

Return type:

ndarray

static concat(xs, /, *, axis=0)
Parameters:
  • xs (Sequence[ndarray])

  • axis (int)

Return type:

ndarray

static copy(x)
Parameters:

x (ndarray)

Return type:

ndarray

static cos(x, /, *, out=None)
Parameters:
  • x (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static count_nonzero(x, /, axis=None, keepdims=False)
Parameters:
  • x (ndarray)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

ndarray

counting_dtype

alias of int32

static cumsum(x, /, *, axis=None, dtype=None, out=None)
Parameters:
  • x (ndarray)

  • axis (int | None)

  • dtype (type | None)

  • out (ndarray | None)

Return type:

ndarray

data_type

alias of ndarray

static diagonal(x, /)
Parameters:

x (ndarray)

Return type:

ndarray

static diff(x, /, *, n=1, axis=-1)
Parameters:
  • x (ndarray)

  • n (int)

  • axis (int)

Return type:

ndarray

static distance(x, y, /, *, dist_type)
Parameters:
  • x (ndarray)

  • y (ndarray)

  • dist_type (str)

Return type:

ndarray

static distance_lazy(x, y, /, *, dist_type)
Parameters:
  • x (ndarray)

  • y (ndarray)

  • dist_type (str)

Return type:

Iterator[ndarray]

static divide(x, y, /, *, out=None)
Parameters:
  • x (ndarray)

  • y (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static equal(x, y, /)
Parameters:
  • x (ndarray)

  • y (ndarray)

Return type:

ndarray

static exp(x, /, *, out=None)
Parameters:
  • x (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static expand_dims(x, /, *, axis)
Parameters:
  • x (ndarray)

  • axis (int | Sequence[int])

Return type:

ndarray

static fill_diagonal(x, y, /)
Parameters:
  • x (ndarray)

  • y (ndarray)

Return type:

ndarray

static flat_nonzero(x, /)
Parameters:

x (ndarray)

Return type:

ndarray

static floor_divide(x, y, /, *, out=None)
Parameters:
  • x (ndarray)

  • y (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static full(x, /, *, shape, dtype=None)
Parameters:
  • x (Any)

  • shape (int | Sequence[int])

  • dtype (type | None)

Return type:

ndarray

static greater(x, y, /)
Parameters:
  • x (ndarray)

  • y (ndarray)

Return type:

ndarray

static greater_equal(x, y, /)
Parameters:
  • x (ndarray)

  • y (ndarray)

Return type:

ndarray

index_dtype

alias of int32

static invert(x, /)
Parameters:

x (ndarray)

Return type:

ndarray

static less(x, y, /)
Parameters:
  • x (ndarray)

  • y (ndarray)

Return type:

ndarray

static less_equal(x, y, /)
Parameters:
  • x (ndarray)

  • y (ndarray)

Return type:

ndarray

static log(x, /, *, out=None)
Parameters:
  • x (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static max(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (ndarray)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

ndarray

static mean(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (ndarray)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

ndarray

static min(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (ndarray)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

ndarray

static mod(x, y, /, *, out=None)
Parameters:
  • x (ndarray)

  • y (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static multiply(x, y, /, *, out=None)
Parameters:
  • x (ndarray)

  • y (ndarray)

  • out (ndarray | None)

Return type:

ndarray

name: BackendStr = 'numpy'
static not_equal(x, y, /)
Parameters:
  • x (ndarray)

  • y (ndarray)

Return type:

ndarray

static ones(*, shape, dtype=None)
Parameters:
  • shape (int | Sequence[int])

  • dtype (type | None)

Return type:

ndarray

static power(x, y, /, *, out=None)
Parameters:
  • x (ndarray)

  • y (ndarray)

  • out (ndarray | None)

Return type:

ndarray

real_dtype

alias of float64

static repeat(x, /, *, repeats, axis=None)
Parameters:
  • x (ndarray)

  • repeats (Any)

  • axis (int | None)

Return type:

ndarray

static reshape(x, /, *, shape)
Parameters:
  • x (ndarray)

  • shape (int | Sequence[int])

Return type:

ndarray

static segment_max(x, /, *, indices, are_slices=False, axis=0, nbins=None)
Parameters:
  • x (ndarray)

  • indices (Any)

  • are_slices (bool)

  • axis (int | None)

  • nbins (int | None)

Return type:

ndarray

static segment_mean(x, /, *, indices, are_slices=False, axis=0, nbins=None)
Parameters:
  • x (ndarray)

  • indices (Any)

  • are_slices (bool)

  • axis (int | None)

  • nbins (int | None)

Return type:

ndarray

static segment_min(x, /, *, indices, are_slices=False, axis=0, nbins=None)
Parameters:
  • x (ndarray)

  • indices (Any)

  • are_slices (bool)

  • axis (int | None)

  • nbins (int | None)

Return type:

ndarray

static segment_sum(x, /, *, indices, are_slices=False, axis=0, nbins=None)
Parameters:
  • x (ndarray)

  • indices (Any)

  • are_slices (bool)

  • axis (int | None)

  • nbins (int | None)

Return type:

ndarray

static sin(x, /, *, out=None)
Parameters:
  • x (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static sqrt(x, /, *, out=None)
Parameters:
  • x (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static squeeze(x, /, *, axis)
Parameters:
  • x (ndarray)

  • axis (int | Sequence[int])

Return type:

ndarray

static stack(xs, /, *, axis=0)
Parameters:
  • xs (Sequence[ndarray])

  • axis (int)

Return type:

ndarray

static subtract(x, y, /, *, out=None)
Parameters:
  • x (ndarray)

  • y (ndarray)

  • out (ndarray | None)

Return type:

ndarray

static sum(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (ndarray)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

ndarray

static zeros(*, shape, dtype=None)
Parameters:
  • shape (int | Sequence[int])

  • dtype (type | None)

Return type:

ndarray

Module contents

src.backend.BACKEND

alias of NumpyBackend

class src.backend.Backend(*args, **kwargs)

Bases: Protocol[Data]

Protocol describing the Array API standard subset. Backends like numpy, jax.numpy, cupy, torch (with array-api mode) can be typed against this.

static abs(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static absolute_value(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static add(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

static add_at(x, /, *, indices, out=None)
Parameters:
  • x (Data)

  • indices (Data)

  • out (Data | None)

Return type:

Data

static arange(*, start, stop, step=None, dtype=None)
Parameters:
  • start (int)

  • stop (int)

  • step (int | None)

  • dtype (type | None)

Return type:

Data

static as_data(x, /, *, dtype=None, copy=False)
Parameters:
  • x (Any)

  • dtype (type | None)

  • copy (bool)

Return type:

Data

static as_type(x, /, *, dtype, copy=False)
Parameters:
  • x (Data)

  • dtype (type)

  • copy (bool)

Return type:

Data

static bin_count(x, /, *, nbins=0)
Parameters:
  • x (Data)

  • nbins (int)

Return type:

Data

bool_dtype: type
static broadcast_to(x, /, *, shape)
Parameters:
  • x (Data)

  • shape (int | Sequence[int])

Return type:

Data

static compress_axis(x, /, *, keep, axis=0, out=None)
Parameters:
  • x (Data)

  • keep (Any)

  • axis (int | None)

  • out (Data | None)

Return type:

Data

static concat(xs, /, *, axis=0)
Parameters:
  • xs (Sequence[Data])

  • axis (int)

Return type:

Data

static copy(x)
Parameters:

x (Data)

Return type:

Data

static cos(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static count_nonzero(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (Data)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

Data

counting_dtype: type
static cumsum(x, /, *, axis=None, dtype=None, out=None)
Parameters:
  • x (Data)

  • axis (int | None)

  • dtype (type | None)

  • out (Data | None)

Return type:

Data

data_type: type[Data]
static diagonal(x, /)
Parameters:

x (Data)

Return type:

Data

static diff(x, /, *, n=1, axis=-1)
Parameters:
  • x (Data)

  • n (int)

  • axis (int)

Return type:

Data

static distance(x, y, /, *, dist_type)
Parameters:
  • x (Data)

  • y (Data)

  • dist_type (str)

Return type:

Data

static distance_lazy(x, y, /, *, dist_type)
Parameters:
  • x (Data)

  • y (Data)

  • dist_type (str)

Return type:

Iterator[Data]

static divide(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

static equal(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

static exp(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static expand_dims(x, /, *, axis)
Parameters:
  • x (Data)

  • axis (int | Sequence[int])

Return type:

Data

static fill_diagonal(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

static flat_nonzero(x, /)
Parameters:

x (Data)

Return type:

Data

static floor_divide(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

static full(x, /, *, shape, dtype=None)
Parameters:
  • x (Any)

  • shape (int | Sequence[int])

  • dtype (type | None)

Return type:

Data

static greater(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

static greater_equal(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

index_dtype: type
static invert(x, /)
Parameters:

x (Data)

Return type:

Data

static less(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

static less_equal(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

static log(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static max(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (Data)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

Data

static mean(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (Data)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

Data

static min(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (Data)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

Data

static mod(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

static multiply(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

name: Literal['numpy']
static not_equal(x, y, /)
Parameters:
  • x (Data)

  • y (Data)

Return type:

Data

static ones(*, shape, dtype=None)
Parameters:
  • shape (int | Sequence[int])

  • dtype (type | None)

Return type:

Data

static power(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

real_dtype: type
static repeat(x, /, *, repeats, axis=None)
Parameters:
  • x (Data)

  • repeats (Any)

  • axis (int | None)

Return type:

Data

static reshape(x, /, *, shape)
Parameters:
  • x (Data)

  • shape (int | Sequence[int])

Return type:

Data

static segment_max(x, /, *, indices, are_slices=False, axis=0, nbins=None)
Parameters:
  • x (Data)

  • indices (Any)

  • are_slices (bool)

  • axis (int | None)

  • nbins (int | None)

Return type:

Data

static segment_mean(x, /, *, indices, are_slices=False, axis=0, nbins=None)
Parameters:
  • x (Data)

  • indices (Any)

  • are_slices (bool)

  • axis (int | None)

  • nbins (int | None)

Return type:

Data

static segment_min(x, /, *, indices, are_slices=False, axis=0, nbins=None)
Parameters:
  • x (Data)

  • indices (Any)

  • are_slices (bool)

  • axis (int | None)

  • nbins (int | None)

Return type:

Data

static segment_sum(x, /, *, indices, are_slices=False, axis=0, nbins=None)
Parameters:
  • x (Data)

  • indices (Any)

  • are_slices (bool)

  • axis (int | None)

  • nbins (int | None)

Return type:

Data

static sin(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static sqrt(x, /, *, out=None)
Parameters:
  • x (Data)

  • out (Data | None)

Return type:

Data

static squeeze(x, /, *, axis)
Parameters:
  • x (Data)

  • axis (int | Sequence[int])

Return type:

Data

static stack(xs, /, *, axis=0)
Parameters:
  • xs (Sequence[Data])

  • axis (int)

Return type:

Data

static subtract(x, y, /, *, out=None)
Parameters:
  • x (Data)

  • y (Data)

  • out (Data | None)

Return type:

Data

static sum(x, /, *, axis=None, keepdims=False)
Parameters:
  • x (Data)

  • axis (int | Sequence[int] | None)

  • keepdims (bool)

Return type:

Data

static zeros(*, shape, dtype=None)
Parameters:
  • shape (int | Sequence[int])

  • dtype (type | None)

Return type:

Data