Skip to content

backends

Classes:

PyBackend

Bases: CustomIntEnum

Methods:

Attributes:

CUDA class-attribute instance-attribute

CUDA = 2

CUPY class-attribute instance-attribute

CUPY = 1

CYTHON class-attribute instance-attribute

CYTHON = 3

NONE class-attribute instance-attribute

NONE = -1

NUMPY class-attribute instance-attribute

NUMPY = 0

dependencies property

dependencies: dict[str, str]

import_error property

import_error: ModuleNotFoundError | None

is_available property

is_available: bool

is_cli

is_cli() -> bool
Source code
50
51
52
53
54
55
@classproperty
def is_cli(cls) -> bool:
    try:
        return os.environ['vspyplugin_is_cli'] == 'True'
    except KeyError:
        return False

set_available

set_available(
    is_available: bool, e: ModuleNotFoundError | None = None
) -> None
Source code
19
20
21
22
23
24
25
26
27
def set_available(self, is_available: bool, e: ModuleNotFoundError | None = None) -> None:
    if not is_available:
        _unavailable_backends.add((self, e))
    elif not self.is_available:
        unav_backs = _unavailable_backends.copy()
        _unavailable_backends.clear()
        _unavailable_backends.update({
            (backend, error) for backend, error in unav_backs if backend is not self
        })

set_dependencies

set_dependencies(deps: dict[str, str], *backend_deps: PyBackend) -> None
Source code
46
47
48
def set_dependencies(self, deps: dict[str, str], *backend_deps: PyBackend) -> None:
    _dependecies_backends[self] = {**deps}
    _dependecies_back_back[self] = backend_deps