xbarray 0.0.1a8__py3-none-any.whl → 0.0.1a10__py3-none-any.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 xbarray might be problematic. Click here for more details.

Files changed (42) hide show
  1. xbarray/__init__.py +1 -1
  2. xbarray/backends/_cls_base.py +9 -0
  3. xbarray/{_src/implementations → backends/_implementations}/_common/implementations.py +32 -7
  4. xbarray/{_src/implementations → backends/_implementations}/jax/_extra.py +4 -1
  5. xbarray/{_src/implementations → backends/_implementations}/numpy/_extra.py +6 -2
  6. xbarray/{_src/implementations → backends/_implementations}/pytorch/_extra.py +5 -2
  7. xbarray/{base → backends}/base.py +11 -1
  8. xbarray/backends/jax.py +19 -0
  9. xbarray/backends/numpy.py +19 -0
  10. xbarray/backends/pytorch.py +22 -0
  11. xbarray/jax.py +4 -19
  12. xbarray/numpy.py +4 -19
  13. xbarray/pytorch.py +4 -19
  14. xbarray/transformations/pointcloud/__init__.py +1 -0
  15. xbarray/transformations/pointcloud/base.py +185 -0
  16. xbarray/transformations/pointcloud/jax.py +15 -0
  17. xbarray/transformations/pointcloud/numpy.py +15 -0
  18. xbarray/transformations/pointcloud/pytorch.py +15 -0
  19. xbarray/transformations/rotation_conversions/__init__.py +1 -0
  20. xbarray/transformations/rotation_conversions/base.py +712 -0
  21. xbarray/transformations/rotation_conversions/jax.py +41 -0
  22. xbarray/transformations/rotation_conversions/numpy.py +41 -0
  23. xbarray/transformations/rotation_conversions/pytorch.py +41 -0
  24. {xbarray-0.0.1a8.dist-info → xbarray-0.0.1a10.dist-info}/METADATA +6 -1
  25. xbarray-0.0.1a10.dist-info/RECORD +51 -0
  26. xbarray/_src/serialization/__init__.py +0 -1
  27. xbarray/_src/serialization/serialization_map.py +0 -31
  28. xbarray/base/__init__.py +0 -1
  29. xbarray/cls_impl/cls_base.py +0 -10
  30. xbarray-0.0.1a8.dist-info/RECORD +0 -41
  31. /xbarray/{_src/implementations → backends/_implementations}/jax/__init__.py +0 -0
  32. /xbarray/{_src/implementations → backends/_implementations}/jax/_typing.py +0 -0
  33. /xbarray/{_src/implementations → backends/_implementations}/jax/random.py +0 -0
  34. /xbarray/{_src/implementations → backends/_implementations}/numpy/__init__.py +0 -0
  35. /xbarray/{_src/implementations → backends/_implementations}/numpy/_typing.py +0 -0
  36. /xbarray/{_src/implementations → backends/_implementations}/numpy/random.py +0 -0
  37. /xbarray/{_src/implementations → backends/_implementations}/pytorch/__init__.py +0 -0
  38. /xbarray/{_src/implementations → backends/_implementations}/pytorch/_typing.py +0 -0
  39. /xbarray/{_src/implementations → backends/_implementations}/pytorch/random.py +0 -0
  40. {xbarray-0.0.1a8.dist-info → xbarray-0.0.1a10.dist-info}/WHEEL +0 -0
  41. {xbarray-0.0.1a8.dist-info → xbarray-0.0.1a10.dist-info}/licenses/LICENSE +0 -0
  42. {xbarray-0.0.1a8.dist-info → xbarray-0.0.1a10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,41 @@
1
+ from . import base as base_impl
2
+ from functools import partial
3
+ from xbarray.backends.jax import JaxComputeBackend as BindingBackend
4
+
5
+ __all__ = [
6
+ "quaternion_to_matrix",
7
+ "matrix_to_quaternion",
8
+ "euler_angles_to_matrix",
9
+ "matrix_to_euler_angles",
10
+ "random_quaternions",
11
+ "random_rotations",
12
+ "random_rotation",
13
+ "standardize_quaternion",
14
+ "quaternion_multiply",
15
+ "quaternion_invert",
16
+ "quaternion_apply",
17
+ "axis_angle_to_matrix",
18
+ "matrix_to_axis_angle",
19
+ "axis_angle_to_quaternion",
20
+ "quaternion_to_axis_angle",
21
+ "rotation_6d_to_matrix",
22
+ "matrix_to_rotation_6d",
23
+ ]
24
+
25
+ quaternion_to_matrix = partial(base_impl.quaternion_to_matrix, BindingBackend)
26
+ matrix_to_quaternion = partial(base_impl.matrix_to_quaternion, BindingBackend)
27
+ euler_angles_to_matrix = partial(base_impl.euler_angles_to_matrix, BindingBackend)
28
+ matrix_to_euler_angles = partial(base_impl.matrix_to_euler_angles, BindingBackend)
29
+ random_quaternions = partial(base_impl.random_quaternions, BindingBackend)
30
+ random_rotations = partial(base_impl.random_rotations, BindingBackend)
31
+ random_rotation = partial(base_impl.random_rotation, BindingBackend)
32
+ standardize_quaternion = partial(base_impl.standardize_quaternion, BindingBackend)
33
+ quaternion_multiply = partial(base_impl.quaternion_multiply, BindingBackend)
34
+ quaternion_invert = partial(base_impl.quaternion_invert, BindingBackend)
35
+ quaternion_apply = partial(base_impl.quaternion_apply, BindingBackend)
36
+ axis_angle_to_matrix = partial(base_impl.axis_angle_to_matrix, BindingBackend)
37
+ matrix_to_axis_angle = partial(base_impl.matrix_to_axis_angle, BindingBackend)
38
+ axis_angle_to_quaternion = partial(base_impl.axis_angle_to_quaternion, BindingBackend)
39
+ quaternion_to_axis_angle = partial(base_impl.quaternion_to_axis_angle, BindingBackend)
40
+ rotation_6d_to_matrix = partial(base_impl.rotation_6d_to_matrix, BindingBackend)
41
+ matrix_to_rotation_6d = partial(base_impl.matrix_to_rotation_6d, BindingBackend)
@@ -0,0 +1,41 @@
1
+ from . import base as base_impl
2
+ from functools import partial
3
+ from xbarray.backends.numpy import NumpyComputeBackend as BindingBackend
4
+
5
+ __all__ = [
6
+ "quaternion_to_matrix",
7
+ "matrix_to_quaternion",
8
+ "euler_angles_to_matrix",
9
+ "matrix_to_euler_angles",
10
+ "random_quaternions",
11
+ "random_rotations",
12
+ "random_rotation",
13
+ "standardize_quaternion",
14
+ "quaternion_multiply",
15
+ "quaternion_invert",
16
+ "quaternion_apply",
17
+ "axis_angle_to_matrix",
18
+ "matrix_to_axis_angle",
19
+ "axis_angle_to_quaternion",
20
+ "quaternion_to_axis_angle",
21
+ "rotation_6d_to_matrix",
22
+ "matrix_to_rotation_6d",
23
+ ]
24
+
25
+ quaternion_to_matrix = partial(base_impl.quaternion_to_matrix, BindingBackend)
26
+ matrix_to_quaternion = partial(base_impl.matrix_to_quaternion, BindingBackend)
27
+ euler_angles_to_matrix = partial(base_impl.euler_angles_to_matrix, BindingBackend)
28
+ matrix_to_euler_angles = partial(base_impl.matrix_to_euler_angles, BindingBackend)
29
+ random_quaternions = partial(base_impl.random_quaternions, BindingBackend)
30
+ random_rotations = partial(base_impl.random_rotations, BindingBackend)
31
+ random_rotation = partial(base_impl.random_rotation, BindingBackend)
32
+ standardize_quaternion = partial(base_impl.standardize_quaternion, BindingBackend)
33
+ quaternion_multiply = partial(base_impl.quaternion_multiply, BindingBackend)
34
+ quaternion_invert = partial(base_impl.quaternion_invert, BindingBackend)
35
+ quaternion_apply = partial(base_impl.quaternion_apply, BindingBackend)
36
+ axis_angle_to_matrix = partial(base_impl.axis_angle_to_matrix, BindingBackend)
37
+ matrix_to_axis_angle = partial(base_impl.matrix_to_axis_angle, BindingBackend)
38
+ axis_angle_to_quaternion = partial(base_impl.axis_angle_to_quaternion, BindingBackend)
39
+ quaternion_to_axis_angle = partial(base_impl.quaternion_to_axis_angle, BindingBackend)
40
+ rotation_6d_to_matrix = partial(base_impl.rotation_6d_to_matrix, BindingBackend)
41
+ matrix_to_rotation_6d = partial(base_impl.matrix_to_rotation_6d, BindingBackend)
@@ -0,0 +1,41 @@
1
+ from . import base as base_impl
2
+ from functools import partial
3
+ from xbarray.backends.pytorch import PytorchComputeBackend as BindingBackend
4
+
5
+ __all__ = [
6
+ "quaternion_to_matrix",
7
+ "matrix_to_quaternion",
8
+ "euler_angles_to_matrix",
9
+ "matrix_to_euler_angles",
10
+ "random_quaternions",
11
+ "random_rotations",
12
+ "random_rotation",
13
+ "standardize_quaternion",
14
+ "quaternion_multiply",
15
+ "quaternion_invert",
16
+ "quaternion_apply",
17
+ "axis_angle_to_matrix",
18
+ "matrix_to_axis_angle",
19
+ "axis_angle_to_quaternion",
20
+ "quaternion_to_axis_angle",
21
+ "rotation_6d_to_matrix",
22
+ "matrix_to_rotation_6d",
23
+ ]
24
+
25
+ quaternion_to_matrix = partial(base_impl.quaternion_to_matrix, BindingBackend)
26
+ matrix_to_quaternion = partial(base_impl.matrix_to_quaternion, BindingBackend)
27
+ euler_angles_to_matrix = partial(base_impl.euler_angles_to_matrix, BindingBackend)
28
+ matrix_to_euler_angles = partial(base_impl.matrix_to_euler_angles, BindingBackend)
29
+ random_quaternions = partial(base_impl.random_quaternions, BindingBackend)
30
+ random_rotations = partial(base_impl.random_rotations, BindingBackend)
31
+ random_rotation = partial(base_impl.random_rotation, BindingBackend)
32
+ standardize_quaternion = partial(base_impl.standardize_quaternion, BindingBackend)
33
+ quaternion_multiply = partial(base_impl.quaternion_multiply, BindingBackend)
34
+ quaternion_invert = partial(base_impl.quaternion_invert, BindingBackend)
35
+ quaternion_apply = partial(base_impl.quaternion_apply, BindingBackend)
36
+ axis_angle_to_matrix = partial(base_impl.axis_angle_to_matrix, BindingBackend)
37
+ matrix_to_axis_angle = partial(base_impl.matrix_to_axis_angle, BindingBackend)
38
+ axis_angle_to_quaternion = partial(base_impl.axis_angle_to_quaternion, BindingBackend)
39
+ quaternion_to_axis_angle = partial(base_impl.quaternion_to_axis_angle, BindingBackend)
40
+ rotation_6d_to_matrix = partial(base_impl.rotation_6d_to_matrix, BindingBackend)
41
+ matrix_to_rotation_6d = partial(base_impl.matrix_to_rotation_6d, BindingBackend)
@@ -1,7 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xbarray
3
- Version: 0.0.1a8
3
+ Version: 0.0.1a10
4
4
  Summary: Cross-backend Python array library based on the Array API Standard.
5
+ Project-URL: Homepage, https://github.com/UniEnvOrg/XBArray
6
+ Project-URL: Documentation, https://github.com/UniEnvOrg/XBArray
7
+ Project-URL: Repository, https://github.com/UniEnvOrg/XBArray
8
+ Project-URL: Issues, https://github.com/UniEnvOrg/XBArray/issues
9
+ Project-URL: Changelog, https://github.com/UniEnvOrg/XBArray/blob/main/CHANGELOG.md
5
10
  Requires-Python: >=3.10
6
11
  License-File: LICENSE
7
12
  Requires-Dist: typing_extensions>=4.5
@@ -0,0 +1,51 @@
1
+ array_api_typing/__init__.py,sha256=5vcE63PsZ_utc7j2VmLK5evUhar-942p95HyjTiLOc0,179
2
+ array_api_typing/typing_2024_12/__init__.py,sha256=JuD2yojHl3eQI74U75tFhSX5rSy32TR5nKyi714ZfX4,347
3
+ array_api_typing/typing_2024_12/_api_constant.py,sha256=tahdzdi7vAZ3UnM8oDcUqvx2FFsMTAyUbuwgarU6K9U,676
4
+ array_api_typing/typing_2024_12/_api_fft_typing.py,sha256=i48S-9trw3s72xiCJmeCNGlJLwwOVq0kJC4lD9se_co,38641
5
+ array_api_typing/typing_2024_12/_api_linalg_typing.py,sha256=Dt5fDTwYb-GAmP7duajwPqH3zaJmwvxDEOOzdl5X0LE,48950
6
+ array_api_typing/typing_2024_12/_api_return_typing.py,sha256=rIygF4PAr7G1PK3cVOwQNrev_kGCuMcfIJ9i8L0u1tI,2462
7
+ array_api_typing/typing_2024_12/_api_typing.py,sha256=rFuF7E6b2RrijzQBrZx6_dYEn9Yslq8FqI31L1Ccrf4,294255
8
+ array_api_typing/typing_2024_12/_array_typing.py,sha256=GMqs5LgshujRIh7i0mGtZy4Vt56FSXqBmNlBGidFRnc,57403
9
+ array_api_typing/typing_compat/__init__.py,sha256=JuD2yojHl3eQI74U75tFhSX5rSy32TR5nKyi714ZfX4,347
10
+ array_api_typing/typing_compat/_api_typing.py,sha256=RnGZFD8AEIqOCurcI68xyw7y9W9hm4yWUGf7NlJkNk0,930
11
+ array_api_typing/typing_compat/_array_typing.py,sha256=CVv91wDjjG-8kSofkqgA85qpM-3x34Zh_SNuBFegW9o,1182
12
+ array_api_typing/typing_extra/__init__.py,sha256=YfdhD-Sfk3SCfI9lHmA-PbVLzms1OFF5x0ekzI3aafk,323
13
+ array_api_typing/typing_extra/_api_typing.py,sha256=Jj_E61r35EgecWmBvAzpASV4qub5aQI_O4aL-ngEvQ8,23028
14
+ array_api_typing/typing_extra/_at.py,sha256=S7_YjOwR3a8olZWgwpLDFEfnekRufRqrtfiMLwrWjgo,2202
15
+ xbarray/__init__.py,sha256=KgXKAKk4obhlDaydQmjePwYqAAj_4Ag4JBJbfcc303M,54
16
+ xbarray/jax.py,sha256=IeMSMi0TQ4A1kho1cyNOXtB0XeaxTKaO_2ymwhW_h3U,174
17
+ xbarray/numpy.py,sha256=5EcCJ8q8AU9r58eZSAJPgA63-RCqjxaWwaHrQp7XN9I,178
18
+ xbarray/pytorch.py,sha256=L_ZLPKKqg8KrqgFILmzkGLtjafec0aza52R3TW4wniw,182
19
+ xbarray/backends/_cls_base.py,sha256=O-99tV_9DxfqFfMNC7ZslPS4tGeIilpN6JGtxqbFCPY,312
20
+ xbarray/backends/base.py,sha256=rvdqcJIXKHeGFRo7CqIp6BGNXehTU-PZNWU7Xbq10eo,6405
21
+ xbarray/backends/jax.py,sha256=68Tda5mWVucoviZUzYEqS9V4BELKA1hapKaFuWKr_ZE,633
22
+ xbarray/backends/numpy.py,sha256=Dfdu3fHt8YhU1tdOwd3xmtzdZXOXs0fzxnd2LjaqJXU,663
23
+ xbarray/backends/pytorch.py,sha256=1Dfy5XLxagK3sjRgt57Q8ppE1-dOhF0T2HipLHRoCVg,758
24
+ xbarray/backends/_implementations/_common/implementations.py,sha256=YEd7_84-514ZAxWJbzFp9DLnIvPKMJgiJbz83WPq5S4,3792
25
+ xbarray/backends/_implementations/jax/__init__.py,sha256=vOtCkwe98vNI1qQOu0Xv9OIaVucaJp6bEI9_mzicBH0,1014
26
+ xbarray/backends/_implementations/jax/_extra.py,sha256=55NWsR5QE_wARWQNrZidvNEKtY0u9GxCfsTX8D4BPCQ,2584
27
+ xbarray/backends/_implementations/jax/_typing.py,sha256=U9BUxHNEjFB0LHF1KMrFLbh6E5kVvpAF8bZUbLNf25E,278
28
+ xbarray/backends/_implementations/jax/random.py,sha256=bIyGV0Nc1PF4PaU0F-paOG4bAENm8ngJFr20voMaYsg,3316
29
+ xbarray/backends/_implementations/numpy/__init__.py,sha256=hJEcFR86pb1G72MFS1X15qwI_-BuPxy5SS5PXB0alQI,792
30
+ xbarray/backends/_implementations/numpy/_extra.py,sha256=3PI-w88yc77xq764BNJH-awRO_R3EWtuiWLmRSrwAtQ,2003
31
+ xbarray/backends/_implementations/numpy/_typing.py,sha256=pgjLLAipwFsIk0QdgrAA4PEvjF_ugHbzfSTbLpA__6o,241
32
+ xbarray/backends/_implementations/numpy/random.py,sha256=C1z2-pMcDMRa7nKhKNTuY5LtTlu9nXvDpH1wY8mdIug,2630
33
+ xbarray/backends/_implementations/pytorch/__init__.py,sha256=s2mF3jWI356oedPZevKYARCFhlXH0hqS9OgBzxMSgHQ,795
34
+ xbarray/backends/_implementations/pytorch/_extra.py,sha256=I_KI0hW0heD9Hi_yxobkmXLkqRRTpOq59sbfru-Aauo,2887
35
+ xbarray/backends/_implementations/pytorch/_typing.py,sha256=qSnNZD3IpgSoOTl3TBRBv2ifSAHOw0aR9uyzfV5KYVw,204
36
+ xbarray/backends/_implementations/pytorch/random.py,sha256=p4ZDsTc--z5XslVzel-iEVDtoKizrv39_1tfR4-469o,2657
37
+ xbarray/transformations/pointcloud/__init__.py,sha256=GLdMGsm5_CnATyh19At20Hmb1MsXZvPxNvg70bHYChk,19
38
+ xbarray/transformations/pointcloud/base.py,sha256=Ftc3hbHNFOhzurqtnyMGn7f9hOCpjfyi4tstbtF36l4,7689
39
+ xbarray/transformations/pointcloud/jax.py,sha256=Qn5oYPsZ4nT-WI3ShSoqPQyoL_sva-H0UCzshZU7nic,646
40
+ xbarray/transformations/pointcloud/numpy.py,sha256=j9UxAdh7xLm5eOxLFWiVwlLENPZ_egz1naT6_nykttQ,650
41
+ xbarray/transformations/pointcloud/pytorch.py,sha256=GFvI4kaVcSKuvMQ4zVZViymAEv49Zq5HQTsI7mKxrRk,654
42
+ xbarray/transformations/rotation_conversions/__init__.py,sha256=GLdMGsm5_CnATyh19At20Hmb1MsXZvPxNvg70bHYChk,19
43
+ xbarray/transformations/rotation_conversions/base.py,sha256=nbeThpkgS3_OjK1btuMIXOqsKlmRt7xIFdJAlMDiW-w,26806
44
+ xbarray/transformations/rotation_conversions/jax.py,sha256=0BmQ_B_eqedqXntWjgNcioNfFuecy4LZNRf347kltsU,1956
45
+ xbarray/transformations/rotation_conversions/numpy.py,sha256=j-44lmMydo8lMhvGLMWMEmUFZlDtEa3VrgxAPLIIbDg,1960
46
+ xbarray/transformations/rotation_conversions/pytorch.py,sha256=Eu2kOolvQqm56NPiVYpuBzQ3MUc1ANREw3J4AftXoxM,1964
47
+ xbarray-0.0.1a10.dist-info/licenses/LICENSE,sha256=6P0HCOancSfch0dNycuDIe8_qwS0Id97Ih_8hjJ2PFI,1067
48
+ xbarray-0.0.1a10.dist-info/METADATA,sha256=K8tVAx_f3Q1YVZZ6F2RuOKcg58woN3xIuDtYw6ZDTKc,773
49
+ xbarray-0.0.1a10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
50
+ xbarray-0.0.1a10.dist-info/top_level.txt,sha256=VriXuFyU48Du4HQMzROSArhwqB6EZYY0n0mipgUqB9A,25
51
+ xbarray-0.0.1a10.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- from .serialization_map import *
@@ -1,31 +0,0 @@
1
- from typing import Type, Dict, Any, Optional, List, Callable
2
- from types import ModuleType
3
- import importlib
4
-
5
- __all__ = [
6
- "implementation_module_to_name",
7
- "name_to_implementation_module",
8
- ]
9
-
10
- def implementation_module_to_name(module : ModuleType) -> str:
11
- """
12
- Convert a backend module to its simplified name.
13
- """
14
- full_name = module.__name__
15
- if not full_name.startswith("xbarray.implementations."):
16
- raise ValueError(f"Module {full_name} is not a valid xbarray backend module.")
17
-
18
- submodule_name = full_name[len("xbarray.implementations"):]
19
- if '.' in submodule_name:
20
- raise ValueError(f"Module {full_name} is not a valid xbarray backend module.")
21
- return submodule_name
22
-
23
- def name_to_implementation_module(name: str) -> Type[ModuleType]:
24
- """
25
- Convert a simplified backend name to its module.
26
- """
27
- try:
28
- return importlib.import_module(f"xbarray.implementations.{name}")
29
- except ImportError as e:
30
- raise ImportError(f"Could not import backend module '{name}'.") from e
31
-
xbarray/base/__init__.py DELETED
@@ -1 +0,0 @@
1
- from .base import *
@@ -1,10 +0,0 @@
1
- from types import ModuleType
2
- from typing import Type
3
- from xbarray._src.serialization import implementation_module_to_name, name_to_implementation_module
4
-
5
- class ComputeBackendImplCls(Type):
6
- def __str__(self):
7
- return self.simplified_name
8
-
9
- def __repr__(self):
10
- return self.simplified_name
@@ -1,41 +0,0 @@
1
- array_api_typing/__init__.py,sha256=5vcE63PsZ_utc7j2VmLK5evUhar-942p95HyjTiLOc0,179
2
- array_api_typing/typing_2024_12/__init__.py,sha256=JuD2yojHl3eQI74U75tFhSX5rSy32TR5nKyi714ZfX4,347
3
- array_api_typing/typing_2024_12/_api_constant.py,sha256=tahdzdi7vAZ3UnM8oDcUqvx2FFsMTAyUbuwgarU6K9U,676
4
- array_api_typing/typing_2024_12/_api_fft_typing.py,sha256=i48S-9trw3s72xiCJmeCNGlJLwwOVq0kJC4lD9se_co,38641
5
- array_api_typing/typing_2024_12/_api_linalg_typing.py,sha256=Dt5fDTwYb-GAmP7duajwPqH3zaJmwvxDEOOzdl5X0LE,48950
6
- array_api_typing/typing_2024_12/_api_return_typing.py,sha256=rIygF4PAr7G1PK3cVOwQNrev_kGCuMcfIJ9i8L0u1tI,2462
7
- array_api_typing/typing_2024_12/_api_typing.py,sha256=rFuF7E6b2RrijzQBrZx6_dYEn9Yslq8FqI31L1Ccrf4,294255
8
- array_api_typing/typing_2024_12/_array_typing.py,sha256=GMqs5LgshujRIh7i0mGtZy4Vt56FSXqBmNlBGidFRnc,57403
9
- array_api_typing/typing_compat/__init__.py,sha256=JuD2yojHl3eQI74U75tFhSX5rSy32TR5nKyi714ZfX4,347
10
- array_api_typing/typing_compat/_api_typing.py,sha256=RnGZFD8AEIqOCurcI68xyw7y9W9hm4yWUGf7NlJkNk0,930
11
- array_api_typing/typing_compat/_array_typing.py,sha256=CVv91wDjjG-8kSofkqgA85qpM-3x34Zh_SNuBFegW9o,1182
12
- array_api_typing/typing_extra/__init__.py,sha256=YfdhD-Sfk3SCfI9lHmA-PbVLzms1OFF5x0ekzI3aafk,323
13
- array_api_typing/typing_extra/_api_typing.py,sha256=Jj_E61r35EgecWmBvAzpASV4qub5aQI_O4aL-ngEvQ8,23028
14
- array_api_typing/typing_extra/_at.py,sha256=S7_YjOwR3a8olZWgwpLDFEfnekRufRqrtfiMLwrWjgo,2202
15
- xbarray/__init__.py,sha256=k4Ipp7IoODqHWZ-eeBhcU7Ch8FudF8rag6KbeIurrgY,45
16
- xbarray/jax.py,sha256=nEdufdTHGXsQSYBbCUwgLikR7saAoZ0zL1a4vrs4I2w,569
17
- xbarray/numpy.py,sha256=1EaT-RVrJEsrgXE-JmbrKfH6nTVLi9sjQ3D81rWhd4Y,591
18
- xbarray/pytorch.py,sha256=4j1UOD6wC29zIAFOR6s0tV2vY2bqKCiiJfua_k_jHKs,613
19
- xbarray/_src/implementations/_common/implementations.py,sha256=ba6fyoHMrawrrjTULSqt073-aMw7abqFWh5YnzeOHMU,2688
20
- xbarray/_src/implementations/jax/__init__.py,sha256=vOtCkwe98vNI1qQOu0Xv9OIaVucaJp6bEI9_mzicBH0,1014
21
- xbarray/_src/implementations/jax/_extra.py,sha256=QmPL7Syp-6y2NUbMYsTlI8uER0Gh5xjBbrNeyTIGZsc,2515
22
- xbarray/_src/implementations/jax/_typing.py,sha256=U9BUxHNEjFB0LHF1KMrFLbh6E5kVvpAF8bZUbLNf25E,278
23
- xbarray/_src/implementations/jax/random.py,sha256=bIyGV0Nc1PF4PaU0F-paOG4bAENm8ngJFr20voMaYsg,3316
24
- xbarray/_src/implementations/numpy/__init__.py,sha256=hJEcFR86pb1G72MFS1X15qwI_-BuPxy5SS5PXB0alQI,792
25
- xbarray/_src/implementations/numpy/_extra.py,sha256=JJs0_HNsnEkBPlXsomRjX5Jh254iXuw_o_3ZXK5c83s,1993
26
- xbarray/_src/implementations/numpy/_typing.py,sha256=pgjLLAipwFsIk0QdgrAA4PEvjF_ugHbzfSTbLpA__6o,241
27
- xbarray/_src/implementations/numpy/random.py,sha256=C1z2-pMcDMRa7nKhKNTuY5LtTlu9nXvDpH1wY8mdIug,2630
28
- xbarray/_src/implementations/pytorch/__init__.py,sha256=s2mF3jWI356oedPZevKYARCFhlXH0hqS9OgBzxMSgHQ,795
29
- xbarray/_src/implementations/pytorch/_extra.py,sha256=HwytMuHZ0iyYKmYCj6QaTUKukMRWb47pme6xJ07LLjY,2878
30
- xbarray/_src/implementations/pytorch/_typing.py,sha256=qSnNZD3IpgSoOTl3TBRBv2ifSAHOw0aR9uyzfV5KYVw,204
31
- xbarray/_src/implementations/pytorch/random.py,sha256=p4ZDsTc--z5XslVzel-iEVDtoKizrv39_1tfR4-469o,2657
32
- xbarray/_src/serialization/__init__.py,sha256=xnfYis9UhhvrCGtzzo7dRLb22MEpaNPAJrpljjP1YUU,32
33
- xbarray/_src/serialization/serialization_map.py,sha256=05zfqip8qPCt-LgM_cx_zLc4y0I4DoUT7_rbU4seNhw,1048
34
- xbarray/base/__init__.py,sha256=ERmmOxz_9mUkIuccNbzUa5Y6gVLLVDdyc4cCxbCCUbY,20
35
- xbarray/base/base.py,sha256=V1yAXu2wUu6q50okX7JQ8onkGhHIQ0lkPkYOolwc45A,5928
36
- xbarray/cls_impl/cls_base.py,sha256=MUvJeMm4UVW4jXwfVP02GiCzqftrAND-JYvThge4PUw,312
37
- xbarray-0.0.1a8.dist-info/licenses/LICENSE,sha256=6P0HCOancSfch0dNycuDIe8_qwS0Id97Ih_8hjJ2PFI,1067
38
- xbarray-0.0.1a8.dist-info/METADATA,sha256=pUZo5IP6WNuu_8gI67InORiPHfH1bclRHuEeNYHHdCs,436
39
- xbarray-0.0.1a8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
- xbarray-0.0.1a8.dist-info/top_level.txt,sha256=VriXuFyU48Du4HQMzROSArhwqB6EZYY0n0mipgUqB9A,25
41
- xbarray-0.0.1a8.dist-info/RECORD,,