fastlisaresponse 1.1.4__cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fastlisaresponse might be problematic. Click here for more details.

@@ -0,0 +1,63 @@
1
+ """FastLISAResponse."""
2
+
3
+ # ruff: noqa: E402
4
+ try:
5
+ from fastlisaresponse._version import ( # pylint: disable=E0401,E0611
6
+ __version__,
7
+ __version_tuple__,
8
+ )
9
+
10
+ except ModuleNotFoundError:
11
+ from importlib.metadata import PackageNotFoundError, version # pragma: no cover
12
+
13
+ try:
14
+ __version__ = version(__name__)
15
+ __version_tuple__ = tuple(__version__.split("."))
16
+ except PackageNotFoundError: # pragma: no cover
17
+ __version__ = "unknown"
18
+ __version_tuple__ = (0, 0, 0, "unknown")
19
+ finally:
20
+ del version, PackageNotFoundError
21
+
22
+ _is_editable: bool
23
+ try:
24
+ from . import _editable
25
+
26
+ _is_editable = True
27
+ del _editable
28
+ except (ModuleNotFoundError, ImportError):
29
+ _is_editable = False
30
+
31
+ from . import cutils, utils
32
+ from .cutils import KNOWN_BACKENDS
33
+
34
+ from gpubackendtools import Globals
35
+ from .cutils import FastLISAResponseCpuBackend, FastLISAResponseCuda11xBackend, FastLISAResponseCuda12xBackend
36
+
37
+
38
+ add_backends = {
39
+ "fastlisaresponse_cpu": FastLISAResponseCpuBackend,
40
+ "fastlisaresponse_cuda11x": FastLISAResponseCuda11xBackend,
41
+ "fastlisaresponse_cuda12x": FastLISAResponseCuda12xBackend,
42
+ }
43
+
44
+ Globals().backends_manager.add_backends(add_backends)
45
+
46
+
47
+ from gpubackendtools import get_backend, has_backend, get_first_backend
48
+
49
+ from .response import pyResponseTDI, ResponseWrapper
50
+
51
+ __all__ = [
52
+ "__version__",
53
+ "__version_tuple__",
54
+ "_is_editable",
55
+ "pyResponseTDI",
56
+ "ResponseWrapper",
57
+ "get_logger",
58
+ "get_config",
59
+ "get_config_setter",
60
+ "get_backend",
61
+ "get_file_manager",
62
+ "has_backend",
63
+ ]
@@ -0,0 +1,34 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
12
+
13
+ TYPE_CHECKING = False
14
+ if TYPE_CHECKING:
15
+ from typing import Tuple
16
+ from typing import Union
17
+
18
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
20
+ else:
21
+ VERSION_TUPLE = object
22
+ COMMIT_ID = object
23
+
24
+ version: str
25
+ __version__: str
26
+ __version_tuple__: VERSION_TUPLE
27
+ version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
30
+
31
+ __version__ = version = '1.1.4'
32
+ __version_tuple__ = version_tuple = (1, 1, 4)
33
+
34
+ __commit_id__ = commit_id = None
@@ -0,0 +1,136 @@
1
+ from __future__ import annotations
2
+ import dataclasses
3
+ import enum
4
+ import types
5
+ import typing
6
+ import abc
7
+ from typing import Optional, Sequence, TypeVar, Union
8
+ from ..utils.exceptions import *
9
+
10
+ from gpubackendtools.gpubackendtools import BackendMethods, CpuBackend, Cuda11xBackend, Cuda12xBackend
11
+ from gpubackendtools.exceptions import *
12
+
13
+ @dataclasses.dataclass
14
+ class FastLISAResponseBackendMethods(BackendMethods):
15
+ get_response_wrap: typing.Callable[(...), None]
16
+ get_tdi_delays_wrap: typing.Callable[(...), None]
17
+
18
+
19
+ class FastLISAResponseBackend:
20
+ get_response_wrap: typing.Callable[(...), None]
21
+ get_tdi_delays_wrap: typing.Callable[(...), None]
22
+
23
+ def __init__(self, fastlisaresponse_backend_methods):
24
+
25
+ # set direct fastlisaresponse methods
26
+ # pass rest to general backend
27
+ assert isinstance(fastlisaresponse_backend_methods, FastLISAResponseBackendMethods)
28
+
29
+ self.get_response_wrap = fastlisaresponse_backend_methods.get_response_wrap
30
+ self.get_tdi_delays_wrap = fastlisaresponse_backend_methods.get_tdi_delays_wrap
31
+
32
+
33
+ class FastLISAResponseCpuBackend(CpuBackend, FastLISAResponseBackend):
34
+ """Implementation of the CPU backend"""
35
+
36
+ _backend_name = "fastlisaresponse_backend_cpu"
37
+ _name = "fastlisaresponse_cpu"
38
+ def __init__(self, *args, **kwargs):
39
+ CpuBackend.__init__(self, *args, **kwargs)
40
+ FastLISAResponseBackend.__init__(self, self.cpu_methods_loader())
41
+
42
+ @staticmethod
43
+ def cpu_methods_loader() -> FastLISAResponseBackendMethods:
44
+ try:
45
+ import fastlisaresponse_backend_cpu.responselisa
46
+
47
+ except (ModuleNotFoundError, ImportError) as e:
48
+ raise BackendUnavailableException(
49
+ "'cpu' backend could not be imported."
50
+ ) from e
51
+
52
+ numpy = FastLISAResponseCpuBackend.check_numpy()
53
+
54
+ return FastLISAResponseBackendMethods(
55
+ get_response_wrap=fastlisaresponse_backend_cpu.responselisa.get_response_wrap,
56
+ get_tdi_delays_wrap=fastlisaresponse_backend_cpu.responselisa.get_tdi_delays_wrap,
57
+ xp=numpy,
58
+ )
59
+
60
+
61
+ class FastLISAResponseCuda11xBackend(Cuda11xBackend, FastLISAResponseBackend):
62
+
63
+ """Implementation of CUDA 11.x backend"""
64
+ _backend_name : str = "fastlisaresponse_backend_cuda11x"
65
+ _name = "fastlisaresponse_cuda11x"
66
+
67
+ def __init__(self, *args, **kwargs):
68
+ Cuda11xBackend.__init__(self, *args, **kwargs)
69
+ FastLISAResponseBackend.__init__(self, self.cuda11x_module_loader())
70
+
71
+ @staticmethod
72
+ def cuda11x_module_loader():
73
+ try:
74
+ import fastlisaresponse_backend_cuda11x.responselisa
75
+
76
+ except (ModuleNotFoundError, ImportError) as e:
77
+ raise BackendUnavailableException(
78
+ "'cuda11x' backend could not be imported."
79
+ ) from e
80
+
81
+ try:
82
+ import cupy
83
+ except (ModuleNotFoundError, ImportError) as e:
84
+ raise MissingDependencies(
85
+ "'cuda11x' backend requires cupy", pip_deps=["cupy-cuda11x"]
86
+ ) from e
87
+
88
+ return FastLISAResponseBackendMethods(
89
+ get_response_wrap=fastlisaresponse_backend_cuda11x.responselisa.get_response_wrap,
90
+ get_tdi_delays_wrap=fastlisaresponse_backend_cuda11x.responselisa.get_tdi_delays_wrap,
91
+ xp=cupy,
92
+ )
93
+
94
+ class FastLISAResponseCuda12xBackend(Cuda12xBackend, FastLISAResponseBackend):
95
+ """Implementation of CUDA 12.x backend"""
96
+ _backend_name : str = "fastlisaresponse_backend_cuda12x"
97
+ _name = "fastlisaresponse_cuda12x"
98
+
99
+ def __init__(self, *args, **kwargs):
100
+ Cuda12xBackend.__init__(self, *args, **kwargs)
101
+ FastLISAResponseBackend.__init__(self, self.cuda12x_module_loader())
102
+
103
+ @staticmethod
104
+ def cuda12x_module_loader():
105
+ try:
106
+ import fastlisaresponse_backend_cuda12x.responselisa
107
+
108
+ except (ModuleNotFoundError, ImportError) as e:
109
+ raise BackendUnavailableException(
110
+ "'cuda12x' backend could not be imported."
111
+ ) from e
112
+
113
+ try:
114
+ import cupy
115
+ except (ModuleNotFoundError, ImportError) as e:
116
+ raise MissingDependencies(
117
+ "'cuda12x' backend requires cupy", pip_deps=["cupy-cuda12x"]
118
+ ) from e
119
+
120
+ return FastLISAResponseBackendMethods(
121
+ get_response_wrap=fastlisaresponse_backend_cuda12x.responselisa.get_response_wrap,
122
+ get_tdi_delays_wrap=fastlisaresponse_backend_cuda12x.responselisa.get_tdi_delays_wrap,
123
+ xp=cupy,
124
+ )
125
+
126
+
127
+ KNOWN_BACKENDS = {
128
+ "cuda12x": FastLISAResponseCuda12xBackend,
129
+ "cuda11x": FastLISAResponseCuda11xBackend,
130
+ "cpu": FastLISAResponseCpuBackend,
131
+ }
132
+
133
+ """List of existing backends, per default order of preference."""
134
+ # TODO: __all__ ?
135
+
136
+
@@ -0,0 +1,7 @@
1
+ """Metadata deduced from git at build time."""
2
+
3
+ id: str
4
+ short_id: str
5
+
6
+ id = "fc57dfe9046150a7cfc185abdf4c675e76fd316e"
7
+ short_id = "fc57dfe"
@@ -0,0 +1,7 @@
1
+ """Metadata deduced from git at build time."""
2
+
3
+ id: str
4
+ short_id: str
5
+
6
+ id = "@FASTLISA_GIT_COMMIT_ID@"
7
+ short_id = "@FASTLISA_GIT_COMMIT_SHORT_ID@"