vector 1.6.3__tar.gz → 1.8.0__tar.gz

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 (306) hide show
  1. {vector-1.6.3 → vector-1.8.0}/.github/workflows/cd.yml +3 -3
  2. {vector-1.6.3 → vector-1.8.0}/.github/workflows/ci.yml +16 -31
  3. {vector-1.6.3 → vector-1.8.0}/.github/workflows/notebooks.yml +2 -2
  4. {vector-1.6.3 → vector-1.8.0}/.gitignore +3 -0
  5. {vector-1.6.3 → vector-1.8.0}/.pre-commit-config.yaml +6 -7
  6. vector-1.8.0/.readthedocs.yml +27 -0
  7. {vector-1.6.3 → vector-1.8.0}/CONTRIBUTING.md +0 -1
  8. {vector-1.6.3 → vector-1.8.0}/LICENSE +2 -1
  9. {vector-1.6.3 → vector-1.8.0}/PKG-INFO +19 -39
  10. {vector-1.6.3 → vector-1.8.0}/README.md +10 -0
  11. {vector-1.6.3 → vector-1.8.0}/docs/conf.py +1 -0
  12. {vector-1.6.3 → vector-1.8.0}/docs/index.md +13 -0
  13. {vector-1.6.3 → vector-1.8.0}/docs/src/awkward.ipynb +71 -91
  14. vector-1.8.0/docs/src/pytree.ipynb +292 -0
  15. vector-1.8.0/docs/src/pytree_api.md +5 -0
  16. {vector-1.6.3 → vector-1.8.0}/docs/src/talks.md +1 -1
  17. {vector-1.6.3 → vector-1.8.0}/environment.yml +1 -1
  18. {vector-1.6.3 → vector-1.8.0}/noxfile.py +35 -16
  19. {vector-1.6.3 → vector-1.8.0}/pyproject.toml +66 -41
  20. {vector-1.6.3 → vector-1.8.0}/src/vector/__init__.py +3 -2
  21. {vector-1.6.3/tests → vector-1.8.0/src/vector/_compute}/__init__.py +1 -1
  22. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/Et.py +1 -1
  23. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/Et2.py +1 -1
  24. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/Mt.py +1 -1
  25. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/Mt2.py +1 -1
  26. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/__init__.py +1 -1
  27. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/add.py +1 -1
  28. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/beta.py +1 -1
  29. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/boostX_beta.py +1 -1
  30. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/boostX_gamma.py +1 -1
  31. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/boostY_beta.py +1 -1
  32. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/boostY_gamma.py +1 -1
  33. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/boostZ_beta.py +1 -1
  34. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/boostZ_gamma.py +1 -1
  35. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/boost_beta3.py +1 -1
  36. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/boost_p4.py +1 -1
  37. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/deltaRapidityPhi.py +1 -1
  38. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/deltaRapidityPhi2.py +1 -1
  39. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/dot.py +1 -1
  40. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/equal.py +1 -1
  41. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/gamma.py +1 -1
  42. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/is_lightlike.py +1 -1
  43. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/is_spacelike.py +1 -1
  44. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/is_timelike.py +1 -1
  45. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/isclose.py +9 -5
  46. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/not_equal.py +1 -1
  47. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/rapidity.py +1 -1
  48. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/scale.py +1 -1
  49. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/subtract.py +1 -1
  50. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/t.py +1 -1
  51. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/t2.py +1 -1
  52. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/tau.py +1 -1
  53. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/tau2.py +1 -1
  54. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/to_beta3.py +1 -1
  55. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/transform4D.py +1 -1
  56. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/lorentz/unit.py +1 -1
  57. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/__init__.py +1 -1
  58. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/add.py +1 -1
  59. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/deltaphi.py +1 -1
  60. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/dot.py +1 -1
  61. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/equal.py +1 -1
  62. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/is_antiparallel.py +1 -1
  63. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/is_parallel.py +1 -1
  64. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/is_perpendicular.py +1 -1
  65. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/isclose.py +25 -5
  66. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/not_equal.py +1 -1
  67. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/phi.py +1 -1
  68. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/rho.py +1 -1
  69. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/rho2.py +1 -1
  70. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/rotateZ.py +1 -1
  71. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/scale.py +1 -1
  72. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/subtract.py +1 -1
  73. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/transform2D.py +1 -1
  74. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/unit.py +1 -1
  75. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/x.py +1 -1
  76. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/planar/y.py +1 -1
  77. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/__init__.py +1 -1
  78. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/add.py +1 -1
  79. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/costheta.py +1 -1
  80. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/cottheta.py +1 -1
  81. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/cross.py +1 -1
  82. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/deltaR.py +1 -1
  83. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/deltaR2.py +1 -1
  84. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/deltaangle.py +1 -1
  85. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/deltaeta.py +1 -1
  86. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/dot.py +1 -1
  87. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/equal.py +1 -1
  88. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/eta.py +1 -1
  89. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/is_antiparallel.py +1 -1
  90. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/is_parallel.py +1 -1
  91. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/is_perpendicular.py +1 -1
  92. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/isclose.py +19 -19
  93. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/mag.py +1 -1
  94. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/mag2.py +1 -1
  95. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/not_equal.py +1 -1
  96. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/rotateX.py +1 -1
  97. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/rotateY.py +1 -1
  98. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/rotate_axis.py +1 -1
  99. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/rotate_euler.py +1 -1
  100. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/rotate_quaternion.py +1 -1
  101. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/scale.py +1 -1
  102. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/subtract.py +1 -1
  103. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/theta.py +1 -1
  104. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/transform3D.py +1 -1
  105. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/unit.py +1 -1
  106. {vector-1.6.3 → vector-1.8.0}/src/vector/_compute/spatial/z.py +1 -1
  107. {vector-1.6.3 → vector-1.8.0}/src/vector/_methods.py +1 -1
  108. vector-1.8.0/src/vector/_pytree.py +218 -0
  109. {vector-1.6.3 → vector-1.8.0}/src/vector/_typeutils.py +1 -1
  110. {vector-1.6.3 → vector-1.8.0}/src/vector/_version.py +16 -3
  111. {vector-1.6.3 → vector-1.8.0}/src/vector/backends/__init__.py +1 -1
  112. {vector-1.6.3 → vector-1.8.0}/src/vector/backends/_numba.py +1 -1
  113. {vector-1.6.3 → vector-1.8.0}/src/vector/backends/_numba_object.py +9 -39
  114. {vector-1.6.3 → vector-1.8.0}/src/vector/backends/awkward.py +11 -12
  115. {vector-1.6.3 → vector-1.8.0}/src/vector/backends/awkward_constructors.py +1 -1
  116. {vector-1.6.3 → vector-1.8.0}/src/vector/backends/numba_numpy.py +1 -1
  117. {vector-1.6.3 → vector-1.8.0}/src/vector/backends/numpy.py +57 -36
  118. {vector-1.6.3 → vector-1.8.0}/src/vector/backends/object.py +38 -19
  119. {vector-1.6.3 → vector-1.8.0}/src/vector/backends/sympy.py +40 -18
  120. {vector-1.6.3/src/vector/_compute → vector-1.8.0/tests}/__init__.py +1 -1
  121. {vector-1.6.3 → vector-1.8.0}/tests/backends/__init__.py +1 -1
  122. {vector-1.6.3 → vector-1.8.0}/tests/backends/test_awkward.py +1 -1
  123. {vector-1.6.3 → vector-1.8.0}/tests/backends/test_awkward_numba.py +1 -1
  124. {vector-1.6.3 → vector-1.8.0}/tests/backends/test_dask_awkward.py +1 -1
  125. {vector-1.6.3 → vector-1.8.0}/tests/backends/test_numba_numpy.py +1 -1
  126. {vector-1.6.3 → vector-1.8.0}/tests/backends/test_numba_object.py +58 -15
  127. {vector-1.6.3 → vector-1.8.0}/tests/backends/test_numpy.py +1 -1
  128. {vector-1.6.3 → vector-1.8.0}/tests/backends/test_object.py +1 -1
  129. {vector-1.6.3 → vector-1.8.0}/tests/backends/test_operators.py +1 -1
  130. {vector-1.6.3 → vector-1.8.0}/tests/backends/test_sympy.py +1 -1
  131. {vector-1.6.3 → vector-1.8.0}/tests/compute/__init__.py +1 -1
  132. vector-1.8.0/tests/compute/lorentz/__init__.py +4 -0
  133. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_Et.py +1 -1
  134. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_Et2.py +1 -1
  135. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_Mt.py +1 -1
  136. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_Mt2.py +1 -1
  137. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_beta.py +1 -1
  138. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_boostX_beta.py +1 -1
  139. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_boostX_gamma.py +1 -1
  140. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_boostY_beta.py +1 -1
  141. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_boostY_gamma.py +1 -1
  142. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_boostZ_beta.py +1 -1
  143. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_boostZ_gamma.py +1 -1
  144. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_boost_beta3.py +1 -1
  145. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_boost_p4.py +1 -1
  146. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_deltaRapidityPhi.py +1 -1
  147. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_deltaRapidityPhi2.py +1 -1
  148. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_gamma.py +1 -1
  149. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_is_lightlike.py +1 -1
  150. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_rapidity.py +1 -1
  151. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_t.py +1 -1
  152. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_t2.py +1 -1
  153. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_tau.py +1 -1
  154. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_tau2.py +1 -1
  155. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_to_beta3.py +1 -1
  156. vector-1.8.0/tests/compute/planar/__init__.py +4 -0
  157. {vector-1.6.3 → vector-1.8.0}/tests/compute/planar/test_deltaphi.py +1 -1
  158. {vector-1.6.3 → vector-1.8.0}/tests/compute/planar/test_phi.py +1 -1
  159. {vector-1.6.3 → vector-1.8.0}/tests/compute/planar/test_rho.py +1 -1
  160. {vector-1.6.3 → vector-1.8.0}/tests/compute/planar/test_rho2.py +1 -1
  161. {vector-1.6.3 → vector-1.8.0}/tests/compute/planar/test_rotateZ.py +1 -1
  162. {vector-1.6.3 → vector-1.8.0}/tests/compute/planar/test_x.py +1 -1
  163. {vector-1.6.3 → vector-1.8.0}/tests/compute/planar/test_y.py +1 -1
  164. vector-1.8.0/tests/compute/spatial/__init__.py +4 -0
  165. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_costheta.py +1 -1
  166. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_cottheta.py +1 -1
  167. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_cross.py +1 -1
  168. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_deltaR.py +1 -1
  169. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_deltaR2.py +1 -1
  170. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_deltaangle.py +1 -1
  171. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_deltaeta.py +1 -1
  172. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_eta.py +1 -1
  173. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_mag.py +1 -1
  174. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_mag2.py +1 -1
  175. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_rotateX.py +1 -1
  176. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_rotateY.py +1 -1
  177. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_rotate_axis.py +1 -1
  178. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_rotate_euler.py +1 -1
  179. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_rotate_quaternion.py +1 -1
  180. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_theta.py +1 -1
  181. {vector-1.6.3 → vector-1.8.0}/tests/compute/spatial/test_z.py +1 -1
  182. vector-1.8.0/tests/compute/sympy/lorentz/__init__.py +4 -0
  183. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_Et.py +1 -1
  184. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_Et2.py +1 -1
  185. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_Mt.py +1 -1
  186. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_Mt2.py +1 -1
  187. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_boostX_beta.py +1 -1
  188. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_boostX_gamma.py +1 -1
  189. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_boostY_beta.py +1 -1
  190. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_boostY_gamma.py +1 -1
  191. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_boostZ_beta.py +1 -1
  192. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_boostZ_gamma.py +1 -1
  193. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_boost_beta3.py +1 -1
  194. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_boost_p4.py +1 -1
  195. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_deltaRapidityPhi.py +1 -1
  196. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_deltaRapidityPhi2.py +1 -1
  197. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_is_lightlike.py +1 -1
  198. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_rapidity.py +1 -1
  199. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_t.py +1 -1
  200. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_t2.py +1 -1
  201. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_tau.py +1 -1
  202. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_tau2.py +1 -1
  203. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_to_beta3.py +1 -1
  204. vector-1.8.0/tests/compute/sympy/planar/__init__.py +4 -0
  205. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/planar/test_deltaphi.py +1 -1
  206. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/planar/test_phi.py +1 -1
  207. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/planar/test_rho.py +1 -1
  208. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/planar/test_rho2.py +1 -1
  209. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/planar/test_rotateZ.py +1 -1
  210. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/planar/test_x.py +1 -1
  211. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/planar/test_y.py +1 -1
  212. vector-1.8.0/tests/compute/sympy/spatial/__init__.py +4 -0
  213. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_costheta.py +1 -1
  214. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_cottheta.py +1 -1
  215. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_cross.py +1 -1
  216. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_deltaR.py +1 -1
  217. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_deltaR2.py +1 -1
  218. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_deltaangle.py +1 -1
  219. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_deltaeta.py +1 -1
  220. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_eta.py +1 -1
  221. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_mag.py +1 -1
  222. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_mag2.py +1 -1
  223. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_rotateX.py +1 -1
  224. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_rotateY.py +1 -1
  225. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_rotate_axis.py +1 -1
  226. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_rotate_euler.py +1 -1
  227. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_rotate_quaternion.py +1 -1
  228. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_theta.py +1 -1
  229. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/spatial/test_z.py +1 -1
  230. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/test_add.py +1 -1
  231. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/test_conversions.py +1 -1
  232. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/test_dot.py +1 -1
  233. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/test_equal.py +1 -1
  234. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/test_is_antiparallel.py +1 -1
  235. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/test_is_parallel.py +1 -1
  236. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/test_is_perpendicular.py +1 -1
  237. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/test_not_equal.py +1 -1
  238. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/test_scale.py +1 -1
  239. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/test_subtract.py +1 -1
  240. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/test_unit.py +1 -1
  241. {vector-1.6.3 → vector-1.8.0}/tests/compute/test_add.py +1 -1
  242. {vector-1.6.3 → vector-1.8.0}/tests/compute/test_conversions.py +1 -1
  243. {vector-1.6.3 → vector-1.8.0}/tests/compute/test_dot.py +1 -1
  244. {vector-1.6.3 → vector-1.8.0}/tests/compute/test_equal.py +1 -1
  245. {vector-1.6.3 → vector-1.8.0}/tests/compute/test_is_antiparallel.py +1 -1
  246. {vector-1.6.3 → vector-1.8.0}/tests/compute/test_is_parallel.py +1 -1
  247. {vector-1.6.3 → vector-1.8.0}/tests/compute/test_is_perpendicular.py +1 -1
  248. {vector-1.6.3 → vector-1.8.0}/tests/compute/test_isclose.py +1 -1
  249. {vector-1.6.3 → vector-1.8.0}/tests/compute/test_not_equal.py +1 -1
  250. {vector-1.6.3 → vector-1.8.0}/tests/compute/test_scale.py +1 -1
  251. {vector-1.6.3 → vector-1.8.0}/tests/compute/test_subtract.py +1 -1
  252. {vector-1.6.3 → vector-1.8.0}/tests/compute/test_unit.py +1 -1
  253. {vector-1.6.3 → vector-1.8.0}/tests/test_issues.py +114 -1
  254. {vector-1.6.3 → vector-1.8.0}/tests/test_methods.py +1 -1
  255. vector-1.8.0/tests/test_pytree.py +173 -0
  256. vector-1.6.3/.readthedocs.yml +0 -24
  257. vector-1.6.3/tests/compute/lorentz/__init__.py +0 -4
  258. vector-1.6.3/tests/compute/planar/__init__.py +0 -4
  259. vector-1.6.3/tests/compute/spatial/__init__.py +0 -4
  260. vector-1.6.3/tests/compute/sympy/lorentz/__init__.py +0 -4
  261. vector-1.6.3/tests/compute/sympy/planar/__init__.py +0 -4
  262. vector-1.6.3/tests/compute/sympy/spatial/__init__.py +0 -4
  263. vector-1.6.3/tests/test_compute_features.py +0 -376
  264. {vector-1.6.3 → vector-1.8.0}/.all-contributorsrc +0 -0
  265. {vector-1.6.3 → vector-1.8.0}/.git_archival.txt +0 -0
  266. {vector-1.6.3 → vector-1.8.0}/.gitattributes +0 -0
  267. {vector-1.6.3 → vector-1.8.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  268. {vector-1.6.3 → vector-1.8.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  269. {vector-1.6.3 → vector-1.8.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  270. {vector-1.6.3 → vector-1.8.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  271. {vector-1.6.3 → vector-1.8.0}/.github/codecov.yml +0 -0
  272. {vector-1.6.3 → vector-1.8.0}/.github/dependabot.yml +0 -0
  273. {vector-1.6.3 → vector-1.8.0}/.github/matchers/pylint.json +0 -0
  274. {vector-1.6.3 → vector-1.8.0}/CITATION.cff +0 -0
  275. {vector-1.6.3 → vector-1.8.0}/docs/Makefile +0 -0
  276. {vector-1.6.3 → vector-1.8.0}/docs/_images/LogoSrc.svg +0 -0
  277. {vector-1.6.3 → vector-1.8.0}/docs/_images/coordinate-systems.png +0 -0
  278. {vector-1.6.3 → vector-1.8.0}/docs/_images/coordinate-systems.svg +0 -0
  279. {vector-1.6.3 → vector-1.8.0}/docs/_images/vector-logo.png +0 -0
  280. {vector-1.6.3 → vector-1.8.0}/docs/_static/css/awkward_output.css +0 -0
  281. {vector-1.6.3 → vector-1.8.0}/docs/make.bat +0 -0
  282. {vector-1.6.3 → vector-1.8.0}/docs/src/common.md +0 -0
  283. {vector-1.6.3 → vector-1.8.0}/docs/src/make_awkward.md +0 -0
  284. {vector-1.6.3 → vector-1.8.0}/docs/src/make_numpy.md +0 -0
  285. {vector-1.6.3 → vector-1.8.0}/docs/src/make_object.md +0 -0
  286. {vector-1.6.3 → vector-1.8.0}/docs/src/make_sympy.md +0 -0
  287. {vector-1.6.3 → vector-1.8.0}/docs/src/momentum2d.md +0 -0
  288. {vector-1.6.3 → vector-1.8.0}/docs/src/momentum3d.md +0 -0
  289. {vector-1.6.3 → vector-1.8.0}/docs/src/momentum4d.md +0 -0
  290. {vector-1.6.3 → vector-1.8.0}/docs/src/numba.ipynb +0 -0
  291. {vector-1.6.3 → vector-1.8.0}/docs/src/numpy.ipynb +0 -0
  292. {vector-1.6.3 → vector-1.8.0}/docs/src/object.ipynb +0 -0
  293. {vector-1.6.3 → vector-1.8.0}/docs/src/sympy.ipynb +0 -0
  294. {vector-1.6.3 → vector-1.8.0}/docs/src/vector2d.md +0 -0
  295. {vector-1.6.3 → vector-1.8.0}/docs/src/vector3d.md +0 -0
  296. {vector-1.6.3 → vector-1.8.0}/docs/src/vector4d.md +0 -0
  297. {vector-1.6.3 → vector-1.8.0}/src/vector/_version.pyi +0 -0
  298. {vector-1.6.3 → vector-1.8.0}/src/vector/py.typed +0 -0
  299. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_is_spacelike.py +0 -0
  300. {vector-1.6.3 → vector-1.8.0}/tests/compute/lorentz/test_is_timelike.py +0 -0
  301. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_beta.py +0 -0
  302. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_gamma.py +0 -0
  303. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_is_spacelike.py +0 -0
  304. {vector-1.6.3 → vector-1.8.0}/tests/compute/sympy/lorentz/test_is_timelike.py +0 -0
  305. {vector-1.6.3 → vector-1.8.0}/tests/samples/issue-161-v2.pkl +0 -0
  306. {vector-1.6.3 → vector-1.8.0}/tests/test_notebooks.py +0 -0
@@ -10,7 +10,7 @@ jobs:
10
10
  dist:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: actions/checkout@v4
13
+ - uses: actions/checkout@v6
14
14
  with:
15
15
  fetch-depth: 0
16
16
 
@@ -28,7 +28,7 @@ jobs:
28
28
  attestations: write
29
29
 
30
30
  steps:
31
- - uses: actions/download-artifact@v4
31
+ - uses: actions/download-artifact@v7
32
32
  with:
33
33
  name: Packages
34
34
  path: dist
@@ -37,7 +37,7 @@ jobs:
37
37
  run: ls -l dist/
38
38
 
39
39
  - name: Generate artifact attestation for sdist and wheel
40
- uses: actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be # v2.4.0
40
+ uses: actions/attest-build-provenance@96278af6caaf10aea03fd8d33a09a777ca52d62f # v3.2.0
41
41
  with:
42
42
  subject-path: "dist/vector-*"
43
43
 
@@ -24,11 +24,11 @@ jobs:
24
24
  runs-on: ubuntu-latest
25
25
  name: Check SDist
26
26
  steps:
27
- - uses: actions/checkout@v4
28
- - uses: actions/setup-python@v5
27
+ - uses: actions/checkout@v6
28
+ - uses: actions/setup-python@v6
29
29
  with:
30
30
  python-version: 3.x
31
- - uses: astral-sh/setup-uv@v6
31
+ - uses: astral-sh/setup-uv@v7
32
32
  - name: PyLint
33
33
  run: uvx nox -s pylint -- --output-format=github
34
34
 
@@ -38,22 +38,22 @@ jobs:
38
38
  fail-fast: false
39
39
  matrix:
40
40
  python-version:
41
- - "3.8"
42
- - "3.9"
43
41
  - "3.10"
44
42
  - "3.11"
45
43
  - "3.12"
46
44
  - "3.13"
45
+ - "3.14"
46
+ - "3.14t"
47
47
  name: Python ${{ matrix.python-version }} - Lite
48
48
  steps:
49
- - uses: actions/checkout@v4
49
+ - uses: actions/checkout@v6
50
50
 
51
- - uses: actions/setup-python@v5
51
+ - uses: actions/setup-python@v6
52
52
  with:
53
53
  python-version: ${{ matrix.python-version }}
54
54
  allow-prereleases: true
55
55
 
56
- - uses: astral-sh/setup-uv@v6
56
+ - uses: astral-sh/setup-uv@v7
57
57
 
58
58
  - name: Test lite package
59
59
  run: uvx nox -s lite-${{ matrix.python-version }} --verbose
@@ -65,22 +65,22 @@ jobs:
65
65
  fail-fast: false
66
66
  matrix:
67
67
  python-version:
68
- - "3.8"
69
- - "3.9"
70
68
  - "3.10"
71
69
  - "3.11"
72
70
  - "3.12"
73
71
  - "3.13"
72
+ - "3.14"
73
+ - "3.14t"
74
74
  name: Python ${{ matrix.python-version }} - Full
75
75
  steps:
76
- - uses: actions/checkout@v4
76
+ - uses: actions/checkout@v6
77
77
 
78
- - uses: actions/setup-python@v5
78
+ - uses: actions/setup-python@v6
79
79
  with:
80
80
  python-version: ${{ matrix.python-version }}
81
81
  allow-prereleases: true
82
82
 
83
- - uses: astral-sh/setup-uv@v6
83
+ - uses: astral-sh/setup-uv@v7
84
84
 
85
85
  - name: Install nox
86
86
  run: uv tool install nox
@@ -93,27 +93,12 @@ jobs:
93
93
  run: nox -s coverage-${{ matrix.python-version }} --verbose
94
94
 
95
95
  - name: Upload coverage report
96
- uses: codecov/codecov-action@v5.4.3
96
+ uses: codecov/codecov-action@v5.5.2
97
97
  with:
98
98
  token: ${{ secrets.CODECOV_TOKEN }}
99
99
 
100
- discheck:
101
- runs-on: ubuntu-latest
102
- name: Disassemble check
103
- steps:
104
- - uses: actions/checkout@v4
105
-
106
- - uses: actions/setup-python@v5
107
- with:
108
- python-version: 3.8.13
109
-
110
- - uses: astral-sh/setup-uv@v6
111
-
112
- - name: Test compute features
113
- run: uvx nox -s disassemble --verbose
114
-
115
100
  pass:
116
- needs: [pre-commit, check-lite, check-full, discheck]
101
+ needs: [pre-commit, check-lite, check-full]
117
102
  runs-on: ubuntu-latest
118
103
  steps:
119
104
  - run: echo "All jobs passed"
@@ -121,7 +106,7 @@ jobs:
121
106
  # root:
122
107
  # runs-on: ubuntu-latest
123
108
  # steps:
124
- # - uses: actions/checkout@v4
109
+ # - uses: actions/checkout@v6
125
110
 
126
111
  # - name: Get Conda
127
112
  # uses: conda-incubator/setup-miniconda@v2
@@ -21,10 +21,10 @@ jobs:
21
21
  runs-on: ubuntu-latest
22
22
 
23
23
  steps:
24
- - uses: actions/checkout@v4
24
+ - uses: actions/checkout@v6
25
25
 
26
26
  - name: Set up Python
27
- uses: actions/setup-python@v5
27
+ uses: actions/setup-python@v6
28
28
  with:
29
29
  python-version: "3.10"
30
30
 
@@ -132,6 +132,9 @@ dmypy.json
132
132
  .vscode
133
133
  /.idea/*
134
134
 
135
+ # Lock files
136
+ uv.lock
137
+
135
138
  # Version file
136
139
  /src/vector/_version.py
137
140
 
@@ -4,7 +4,7 @@ ci:
4
4
 
5
5
  repos:
6
6
  - repo: https://github.com/pre-commit/pre-commit-hooks
7
- rev: v5.0.0
7
+ rev: v6.0.0
8
8
  hooks:
9
9
  - id: check-added-large-files
10
10
  - id: check-case-conflict
@@ -19,14 +19,14 @@ repos:
19
19
  - id: trailing-whitespace
20
20
 
21
21
  - repo: https://github.com/astral-sh/ruff-pre-commit
22
- rev: "v0.12.3"
22
+ rev: "v0.14.14"
23
23
  hooks:
24
24
  - id: ruff-check
25
25
  args: ["--fix", "--show-fixes"]
26
26
  - id: ruff-format
27
27
 
28
28
  - repo: https://github.com/pre-commit/mirrors-mypy
29
- rev: v1.16.1
29
+ rev: v1.19.1
30
30
  hooks:
31
31
  - id: mypy
32
32
  files: src
@@ -35,23 +35,22 @@ repos:
35
35
  - numpy
36
36
  - packaging
37
37
  - sympy
38
+ - optree
38
39
 
39
40
  - repo: https://github.com/codespell-project/codespell
40
41
  rev: v2.4.1
41
42
  hooks:
42
43
  - id: codespell
43
- args: ["-LHEP"]
44
- exclude: ^docs/usage/intro.ipynb$
45
44
 
46
45
  - repo: https://github.com/rbubley/mirrors-prettier
47
- rev: "v3.6.2"
46
+ rev: "v3.8.1"
48
47
  hooks:
49
48
  - id: prettier
50
49
  types_or: [yaml, markdown, html, css, scss, javascript, json]
51
50
  exclude: assets/js/webapp\.js
52
51
 
53
52
  - repo: https://github.com/adamchainz/blacken-docs
54
- rev: 1.19.1
53
+ rev: 1.20.0
55
54
  hooks:
56
55
  - id: blacken-docs
57
56
  args: ["-E"]
@@ -0,0 +1,27 @@
1
+ # .readthedocs.yml
2
+ # Read the Docs configuration file
3
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4
+
5
+ # Required
6
+ version: 2
7
+ build:
8
+ os: ubuntu-24.04
9
+ tools:
10
+ python: latest
11
+ jobs:
12
+ pre_create_environment:
13
+ - asdf plugin add uv
14
+ - asdf install uv latest
15
+ - asdf global uv latest
16
+ create_environment:
17
+ - uv venv $READTHEDOCS_VIRTUALENV_PATH
18
+ install:
19
+ # Optimize cache location on readthedocs
20
+ - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH uv pip install --cache-dir $READTHEDOCS_VIRTUALENV_PATH/../../uv_cache -e. --group docs
21
+
22
+ # Build documentation in the docs/ directory with Sphinx
23
+ sphinx:
24
+ configuration: docs/conf.py
25
+
26
+ # Include PDF and ePub
27
+ formats: all
@@ -207,7 +207,6 @@ nox -s tests # test with all extra dependencies on all available Python v
207
207
  nox -s tests # run doctests on all available Python versions
208
208
  nox -s coverage # run the tests session and generate a coverage report on all available Python versions
209
209
  nox -s notebooks # test notebooks on the default Python version
210
- nox -s disassemble # check compute functions on Python 3.8
211
210
  ```
212
211
 
213
212
  ### Building documentation with nox
@@ -1,6 +1,7 @@
1
1
  BSD 3-Clause License
2
2
 
3
- Copyright (c) 2019-2024, Jonas Eschle, Jim Pivarski, Eduardo Rodrigues, and Henry Schreiner.
3
+ Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues,
4
+ Jonas Eschle, and Jim Pivarski.
4
5
  All rights reserved.
5
6
 
6
7
  Redistribution and use in source and binary forms, with or without
@@ -1,73 +1,43 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vector
3
- Version: 1.6.3
3
+ Version: 1.8.0
4
4
  Summary: Vector classes and utilities
5
5
  Project-URL: Bug Tracker, https://github.com/scikit-hep/vector/issues
6
6
  Project-URL: Changelog, https://vector.readthedocs.io/en/latest/changelog.html
7
7
  Project-URL: Discussions, https://github.com/scikit-hep/vector/discussions
8
8
  Project-URL: Documentation, https://vector.readthedocs.io/
9
9
  Project-URL: Homepage, https://github.com/scikit-hep/vector
10
- Author-email: "Jim Pivarski, Henry Schreiner, Eduardo Rodrigues" <eduardo.rodrigues@cern.ch>
10
+ Author-email: "Saransh Chopra, Jim Pivarski, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle" <eduardo.rodrigues@cern.ch>
11
11
  Maintainer-email: The Scikit-HEP admins <scikit-hep-admins@googlegroups.com>
12
+ License-Expression: BSD-3-Clause
12
13
  License-File: LICENSE
13
14
  Keywords: vector
14
15
  Classifier: Development Status :: 5 - Production/Stable
15
16
  Classifier: Intended Audience :: Developers
16
17
  Classifier: Intended Audience :: Science/Research
17
- Classifier: License :: OSI Approved :: BSD License
18
18
  Classifier: Operating System :: OS Independent
19
19
  Classifier: Programming Language :: Python
20
20
  Classifier: Programming Language :: Python :: 3 :: Only
21
- Classifier: Programming Language :: Python :: 3.8
22
- Classifier: Programming Language :: Python :: 3.9
23
21
  Classifier: Programming Language :: Python :: 3.10
24
22
  Classifier: Programming Language :: Python :: 3.11
25
23
  Classifier: Programming Language :: Python :: 3.12
26
24
  Classifier: Programming Language :: Python :: 3.13
25
+ Classifier: Programming Language :: Python :: 3.14
26
+ Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
27
27
  Classifier: Topic :: Scientific/Engineering
28
28
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
29
29
  Classifier: Topic :: Scientific/Engineering :: Mathematics
30
30
  Classifier: Topic :: Scientific/Engineering :: Physics
31
31
  Classifier: Typing :: Typed
32
- Requires-Python: >=3.8
33
- Requires-Dist: numpy>=1.13.3
34
- Requires-Dist: packaging>=19
32
+ Requires-Python: >=3.10
33
+ Requires-Dist: numpy>=1.19.3
34
+ Requires-Dist: packaging>=20
35
35
  Provides-Extra: awkward
36
36
  Requires-Dist: awkward>=2; extra == 'awkward'
37
- Provides-Extra: dev
38
- Requires-Dist: awkward>=2; extra == 'dev'
39
- Requires-Dist: dask-awkward; extra == 'dev'
40
- Requires-Dist: nox; extra == 'dev'
41
- Requires-Dist: numba>=0.57; (python_version < '3.14') and extra == 'dev'
42
- Requires-Dist: papermill>=2.4; extra == 'dev'
43
- Requires-Dist: pytest-cov>=3; extra == 'dev'
44
- Requires-Dist: pytest-doctestplus; extra == 'dev'
45
- Requires-Dist: pytest>=6; extra == 'dev'
46
- Requires-Dist: sympy; extra == 'dev'
47
- Provides-Extra: docs
48
- Requires-Dist: awkward>=2; extra == 'docs'
49
- Requires-Dist: ipykernel; extra == 'docs'
50
- Requires-Dist: myst-parser>0.13; extra == 'docs'
51
- Requires-Dist: nbsphinx; extra == 'docs'
52
- Requires-Dist: sphinx-book-theme>=0.0.42; extra == 'docs'
53
- Requires-Dist: sphinx-copybutton; extra == 'docs'
54
- Requires-Dist: sphinx-math-dollar; extra == 'docs'
55
- Requires-Dist: sphinx>=4; extra == 'docs'
56
- Requires-Dist: sympy; extra == 'docs'
57
37
  Provides-Extra: numba
58
- Requires-Dist: numba>=0.57; (python_version < '3.14') and extra == 'numba'
38
+ Requires-Dist: numba>=0.62; (python_version < '3.15') and extra == 'numba'
59
39
  Provides-Extra: sympy
60
40
  Requires-Dist: sympy; extra == 'sympy'
61
- Provides-Extra: test
62
- Requires-Dist: nox; extra == 'test'
63
- Requires-Dist: papermill>=2.4; extra == 'test'
64
- Requires-Dist: pytest-cov>=3; extra == 'test'
65
- Requires-Dist: pytest-doctestplus; extra == 'test'
66
- Requires-Dist: pytest>=6; extra == 'test'
67
- Provides-Extra: test-extras
68
- Requires-Dist: dask-awkward; extra == 'test-extras'
69
- Requires-Dist: spark-parser; extra == 'test-extras'
70
- Requires-Dist: uncompyle6; (python_version == '3.8') and extra == 'test-extras'
71
41
  Description-Content-Type: text/markdown
72
42
 
73
43
  <img alt="Vector logo" width="50%" src="https://raw.githubusercontent.com/scikit-hep/vector/main/docs/_images/LogoSrc.svg"/>
@@ -129,6 +99,12 @@ Vectors may be included in any of these data types:
129
99
 
130
100
  Each of these "backends" provides the same suite of properties and methods, through a common "compute" library.
131
101
 
102
+ ### Integrations
103
+
104
+ Optionally, the vector package provides integration with other libraries. Currently, this includes:
105
+
106
+ - [PyTree integrations](https://vector.readthedocs.io/en/latest/src/pytree.html) using the [optree](https://github.com/metaopt/optree) package.
107
+
132
108
  ### Geometric versus momentum
133
109
 
134
110
  Finally, vectors come in two flavors:
@@ -206,6 +182,10 @@ journal = {Journal of Open Source Software}
206
182
  - [Interface for 3D momentum](https://vector.readthedocs.io/en/latest/src/momentum3d.html)
207
183
  - [Interface for 4D momentum](https://vector.readthedocs.io/en/latest/src/momentum4d.html)
208
184
 
185
+ ### Integrations
186
+
187
+ - [PyTree integration API](https://vector.readthedocs.io/en/latest/src/pytree_api.html)
188
+
209
189
  ### More ways to learn
210
190
 
211
191
  - [Papers and talks](https://vector.readthedocs.io/en/latest/src/talks.html)
@@ -57,6 +57,12 @@ Vectors may be included in any of these data types:
57
57
 
58
58
  Each of these "backends" provides the same suite of properties and methods, through a common "compute" library.
59
59
 
60
+ ### Integrations
61
+
62
+ Optionally, the vector package provides integration with other libraries. Currently, this includes:
63
+
64
+ - [PyTree integrations](https://vector.readthedocs.io/en/latest/src/pytree.html) using the [optree](https://github.com/metaopt/optree) package.
65
+
60
66
  ### Geometric versus momentum
61
67
 
62
68
  Finally, vectors come in two flavors:
@@ -134,6 +140,10 @@ journal = {Journal of Open Source Software}
134
140
  - [Interface for 3D momentum](https://vector.readthedocs.io/en/latest/src/momentum3d.html)
135
141
  - [Interface for 4D momentum](https://vector.readthedocs.io/en/latest/src/momentum4d.html)
136
142
 
143
+ ### Integrations
144
+
145
+ - [PyTree integration API](https://vector.readthedocs.io/en/latest/src/pytree_api.html)
146
+
137
147
  ### More ways to learn
138
148
 
139
149
  - [Papers and talks](https://vector.readthedocs.io/en/latest/src/talks.html)
@@ -85,6 +85,7 @@ html_theme_options = {
85
85
  "use_repository_button": True,
86
86
  "use_issues_button": True,
87
87
  "use_edit_page_button": True,
88
+ "path_to_docs": "docs/",
88
89
  }
89
90
 
90
91
  # Add any paths that contain custom static files (such as style sheets) here,
@@ -57,6 +57,12 @@ Vectors may be included in any of these data types:
57
57
 
58
58
  Each of these "backends" provides the same suite of properties and methods, through a common "compute" library.
59
59
 
60
+ ### Integrations
61
+
62
+ Optionally, the vector package provides integration with other libraries. Currently, this includes:
63
+
64
+ - [PyTree integrations](https://vector.readthedocs.io/en/latest/src/pytree.html) using the [optree](https://github.com/metaopt/optree) package.
65
+
60
66
  ### Geometric versus momentum
61
67
 
62
68
  Finally, vectors come in two flavors:
@@ -133,6 +139,7 @@ src/numpy.ipynb
133
139
  src/awkward.ipynb
134
140
  src/numba.ipynb
135
141
  src/sympy.ipynb
142
+ src/pytree.ipynb
136
143
  ```
137
144
 
138
145
  ```{toctree}
@@ -156,6 +163,12 @@ src/momentum3d.md
156
163
  src/momentum4d.md
157
164
  ```
158
165
 
166
+ ```{toctree}
167
+ :maxdepth: 1
168
+ :caption: Integrations
169
+ src/pytree_api.md
170
+ ```
171
+
159
172
  ```{toctree}
160
173
  :maxdepth: 1
161
174
  :caption: More ways to learn