xbarray 0.0.1a13__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.
Files changed (51) hide show
  1. array_api_typing/__init__.py +9 -0
  2. array_api_typing/typing_2024_12/__init__.py +12 -0
  3. array_api_typing/typing_2024_12/_api_constant.py +32 -0
  4. array_api_typing/typing_2024_12/_api_fft_typing.py +717 -0
  5. array_api_typing/typing_2024_12/_api_linalg_typing.py +897 -0
  6. array_api_typing/typing_2024_12/_api_return_typing.py +103 -0
  7. array_api_typing/typing_2024_12/_api_typing.py +5855 -0
  8. array_api_typing/typing_2024_12/_array_typing.py +1265 -0
  9. array_api_typing/typing_compat/__init__.py +12 -0
  10. array_api_typing/typing_compat/_api_typing.py +27 -0
  11. array_api_typing/typing_compat/_array_typing.py +36 -0
  12. array_api_typing/typing_extra/__init__.py +12 -0
  13. array_api_typing/typing_extra/_api_typing.py +651 -0
  14. array_api_typing/typing_extra/_at.py +87 -0
  15. xbarray/__init__.py +1 -0
  16. xbarray/backends/_cls_base.py +9 -0
  17. xbarray/backends/_implementations/_common/implementations.py +87 -0
  18. xbarray/backends/_implementations/jax/__init__.py +33 -0
  19. xbarray/backends/_implementations/jax/_extra.py +127 -0
  20. xbarray/backends/_implementations/jax/_typing.py +15 -0
  21. xbarray/backends/_implementations/jax/random.py +115 -0
  22. xbarray/backends/_implementations/numpy/__init__.py +25 -0
  23. xbarray/backends/_implementations/numpy/_extra.py +98 -0
  24. xbarray/backends/_implementations/numpy/_typing.py +14 -0
  25. xbarray/backends/_implementations/numpy/random.py +105 -0
  26. xbarray/backends/_implementations/pytorch/__init__.py +26 -0
  27. xbarray/backends/_implementations/pytorch/_extra.py +135 -0
  28. xbarray/backends/_implementations/pytorch/_typing.py +13 -0
  29. xbarray/backends/_implementations/pytorch/random.py +101 -0
  30. xbarray/backends/base.py +218 -0
  31. xbarray/backends/jax.py +19 -0
  32. xbarray/backends/numpy.py +19 -0
  33. xbarray/backends/pytorch.py +22 -0
  34. xbarray/jax.py +4 -0
  35. xbarray/numpy.py +4 -0
  36. xbarray/pytorch.py +4 -0
  37. xbarray/transformations/pointcloud/__init__.py +1 -0
  38. xbarray/transformations/pointcloud/base.py +449 -0
  39. xbarray/transformations/pointcloud/jax.py +24 -0
  40. xbarray/transformations/pointcloud/numpy.py +23 -0
  41. xbarray/transformations/pointcloud/pytorch.py +23 -0
  42. xbarray/transformations/rotation_conversions/__init__.py +1 -0
  43. xbarray/transformations/rotation_conversions/base.py +713 -0
  44. xbarray/transformations/rotation_conversions/jax.py +41 -0
  45. xbarray/transformations/rotation_conversions/numpy.py +41 -0
  46. xbarray/transformations/rotation_conversions/pytorch.py +41 -0
  47. xbarray-0.0.1a13.dist-info/METADATA +20 -0
  48. xbarray-0.0.1a13.dist-info/RECORD +51 -0
  49. xbarray-0.0.1a13.dist-info/WHEEL +5 -0
  50. xbarray-0.0.1a13.dist-info/licenses/LICENSE +21 -0
  51. xbarray-0.0.1a13.dist-info/top_level.txt +2 -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)
@@ -0,0 +1,20 @@
1
+ Metadata-Version: 2.4
2
+ Name: xbarray
3
+ Version: 0.0.1a13
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
10
+ Requires-Python: >=3.10
11
+ License-File: LICENSE
12
+ Requires-Dist: typing_extensions>=4.5
13
+ Requires-Dist: array_api_compat
14
+ Requires-Dist: array_api_extra
15
+ Requires-Dist: numpy
16
+ Provides-Extra: torch
17
+ Requires-Dist: torch; extra == "torch"
18
+ Provides-Extra: jax
19
+ Requires-Dist: jax; extra == "jax"
20
+ Dynamic: license-file
@@ -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=zoABR4WXHFGyqhiUW8Tnv1PnScwEFxz-G2J86-WBshQ,6768
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=Ra1-wGN_ZBxIFe4tuR-vCHYLgwkeeFoQtKwVEUwn_To,3834
25
+ xbarray/backends/_implementations/jax/__init__.py,sha256=vOtCkwe98vNI1qQOu0Xv9OIaVucaJp6bEI9_mzicBH0,1014
26
+ xbarray/backends/_implementations/jax/_extra.py,sha256=_E1vXolN86-zOdbN60S_YnQ8lePqPwB7l-EKB_T4KNE,3515
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=DEDWkoK-rTKemMa7Lh3b-FSGPsdnfBA6i-6CWiIlV-M,2379
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=mVRnxYQg-1pNtUTsb-4YV25Wvhh908awsKKT1B7P_2Y,3638
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=g63dLmkhzEWOEpKjK3yZe7KW09yQ5YNSA_whDyH6L1A,20413
39
+ xbarray/transformations/pointcloud/jax.py,sha256=GUq6pHt0pn6r8PpY6mpMjGSa7zyT13sePEDup7yo6dI,1081
40
+ xbarray/transformations/pointcloud/numpy.py,sha256=ZwWb0LTmz7jfMmWQqFq--S0jyRyK2f3sySnQCA8EZPw,1084
41
+ xbarray/transformations/pointcloud/pytorch.py,sha256=PVCkB-ZpLu1rieD0Xpt_9jAG6qDtJjN6IviXcMbxnIg,1088
42
+ xbarray/transformations/rotation_conversions/__init__.py,sha256=GLdMGsm5_CnATyh19At20Hmb1MsXZvPxNvg70bHYChk,19
43
+ xbarray/transformations/rotation_conversions/base.py,sha256=L578W9mLgAdGnsnOOU-RYUxSqZLk0VTJdHANNepDAcU,26909
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.1a13.dist-info/licenses/LICENSE,sha256=6P0HCOancSfch0dNycuDIe8_qwS0Id97Ih_8hjJ2PFI,1067
48
+ xbarray-0.0.1a13.dist-info/METADATA,sha256=1y3gwpjzZ4sFKMDFJnhXyH08ryF5xUWLSMQA1whXC-0,773
49
+ xbarray-0.0.1a13.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
50
+ xbarray-0.0.1a13.dist-info/top_level.txt,sha256=VriXuFyU48Du4HQMzROSArhwqB6EZYY0n0mipgUqB9A,25
51
+ xbarray-0.0.1a13.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Yunhao Cao
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,2 @@
1
+ array_api_typing
2
+ xbarray