vector 1.7.0__tar.gz → 1.8.1__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 (305) hide show
  1. {vector-1.7.0 → vector-1.8.1}/.github/workflows/cd.yml +3 -3
  2. {vector-1.7.0 → vector-1.8.1}/.github/workflows/ci.yml +12 -10
  3. {vector-1.7.0 → vector-1.8.1}/.github/workflows/notebooks.yml +1 -1
  4. {vector-1.7.0 → vector-1.8.1}/.pre-commit-config.yaml +4 -4
  5. {vector-1.7.0 → vector-1.8.1}/LICENSE +2 -1
  6. {vector-1.7.0 → vector-1.8.1}/PKG-INFO +5 -5
  7. {vector-1.7.0 → vector-1.8.1}/noxfile.py +8 -0
  8. {vector-1.7.0 → vector-1.8.1}/pyproject.toml +8 -8
  9. {vector-1.7.0 → vector-1.8.1}/src/vector/__init__.py +1 -1
  10. {vector-1.7.0/tests → vector-1.8.1/src/vector/_compute}/__init__.py +1 -1
  11. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/Et.py +1 -1
  12. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/Et2.py +1 -1
  13. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/Mt.py +1 -1
  14. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/Mt2.py +1 -1
  15. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/__init__.py +1 -1
  16. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/add.py +39 -4
  17. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/beta.py +1 -1
  18. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/boostX_beta.py +1 -1
  19. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/boostX_gamma.py +1 -1
  20. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/boostY_beta.py +1 -1
  21. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/boostY_gamma.py +1 -1
  22. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/boostZ_beta.py +1 -1
  23. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/boostZ_gamma.py +1 -1
  24. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/boost_beta3.py +1 -1
  25. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/boost_p4.py +1 -1
  26. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/deltaRapidityPhi.py +33 -2
  27. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/deltaRapidityPhi2.py +33 -2
  28. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/dot.py +34 -3
  29. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/equal.py +34 -3
  30. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/gamma.py +1 -1
  31. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/is_lightlike.py +23 -2
  32. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/is_spacelike.py +23 -2
  33. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/is_timelike.py +23 -2
  34. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/isclose.py +44 -6
  35. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/not_equal.py +34 -3
  36. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/rapidity.py +1 -1
  37. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/scale.py +1 -1
  38. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/subtract.py +39 -4
  39. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/t.py +1 -1
  40. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/t2.py +1 -1
  41. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/tau.py +1 -1
  42. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/tau2.py +1 -1
  43. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/to_beta3.py +1 -1
  44. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/transform4D.py +1 -1
  45. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/lorentz/unit.py +1 -1
  46. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/__init__.py +1 -1
  47. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/add.py +1 -1
  48. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/deltaphi.py +1 -1
  49. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/dot.py +1 -1
  50. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/equal.py +1 -1
  51. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/is_antiparallel.py +21 -2
  52. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/is_parallel.py +21 -2
  53. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/is_perpendicular.py +21 -2
  54. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/isclose.py +25 -5
  55. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/not_equal.py +1 -1
  56. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/phi.py +1 -1
  57. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/rho.py +1 -1
  58. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/rho2.py +1 -1
  59. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/rotateZ.py +1 -1
  60. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/scale.py +1 -1
  61. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/subtract.py +1 -1
  62. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/transform2D.py +1 -1
  63. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/unit.py +1 -1
  64. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/x.py +1 -1
  65. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/planar/y.py +1 -1
  66. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/__init__.py +1 -1
  67. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/add.py +1 -1
  68. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/costheta.py +1 -1
  69. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/cottheta.py +1 -1
  70. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/cross.py +1 -1
  71. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/deltaR.py +1 -1
  72. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/deltaR2.py +1 -1
  73. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/deltaangle.py +1 -1
  74. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/deltaeta.py +1 -1
  75. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/dot.py +1 -1
  76. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/equal.py +1 -1
  77. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/eta.py +13 -16
  78. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/is_antiparallel.py +24 -2
  79. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/is_parallel.py +24 -2
  80. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/is_perpendicular.py +24 -2
  81. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/isclose.py +19 -19
  82. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/mag.py +1 -1
  83. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/mag2.py +1 -1
  84. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/not_equal.py +1 -1
  85. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/rotateX.py +1 -1
  86. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/rotateY.py +1 -1
  87. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/rotate_axis.py +1 -1
  88. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/rotate_euler.py +1 -1
  89. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/rotate_quaternion.py +1 -1
  90. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/scale.py +1 -1
  91. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/subtract.py +1 -1
  92. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/theta.py +1 -1
  93. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/transform3D.py +1 -1
  94. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/unit.py +1 -1
  95. {vector-1.7.0 → vector-1.8.1}/src/vector/_compute/spatial/z.py +1 -1
  96. {vector-1.7.0 → vector-1.8.1}/src/vector/_methods.py +1 -1
  97. {vector-1.7.0 → vector-1.8.1}/src/vector/_typeutils.py +1 -1
  98. vector-1.8.1/src/vector/_version.py +24 -0
  99. {vector-1.7.0 → vector-1.8.1}/src/vector/backends/__init__.py +1 -1
  100. {vector-1.7.0 → vector-1.8.1}/src/vector/backends/_numba.py +1 -1
  101. {vector-1.7.0 → vector-1.8.1}/src/vector/backends/_numba_object.py +1 -31
  102. {vector-1.7.0 → vector-1.8.1}/src/vector/backends/awkward.py +30 -26
  103. {vector-1.7.0 → vector-1.8.1}/src/vector/backends/awkward_constructors.py +1 -1
  104. {vector-1.7.0 → vector-1.8.1}/src/vector/backends/numba_numpy.py +1 -1
  105. {vector-1.7.0 → vector-1.8.1}/src/vector/backends/numpy.py +60 -39
  106. {vector-1.7.0 → vector-1.8.1}/src/vector/backends/object.py +38 -19
  107. {vector-1.7.0 → vector-1.8.1}/src/vector/backends/sympy.py +40 -29
  108. {vector-1.7.0/src/vector/_compute → vector-1.8.1/tests}/__init__.py +1 -1
  109. {vector-1.7.0 → vector-1.8.1}/tests/backends/__init__.py +1 -1
  110. {vector-1.7.0 → vector-1.8.1}/tests/backends/test_awkward.py +1 -1
  111. {vector-1.7.0 → vector-1.8.1}/tests/backends/test_awkward_numba.py +1 -1
  112. {vector-1.7.0 → vector-1.8.1}/tests/backends/test_dask_awkward.py +1 -1
  113. {vector-1.7.0 → vector-1.8.1}/tests/backends/test_numba_numpy.py +1 -1
  114. {vector-1.7.0 → vector-1.8.1}/tests/backends/test_numba_object.py +67 -15
  115. {vector-1.7.0 → vector-1.8.1}/tests/backends/test_numpy.py +1 -1
  116. {vector-1.7.0 → vector-1.8.1}/tests/backends/test_object.py +1 -1
  117. {vector-1.7.0 → vector-1.8.1}/tests/backends/test_operators.py +1 -1
  118. {vector-1.7.0 → vector-1.8.1}/tests/backends/test_sympy.py +1 -1
  119. {vector-1.7.0 → vector-1.8.1}/tests/compute/__init__.py +1 -1
  120. vector-1.8.1/tests/compute/lorentz/__init__.py +4 -0
  121. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_Et.py +1 -1
  122. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_Et2.py +1 -1
  123. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_Mt.py +1 -1
  124. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_Mt2.py +1 -1
  125. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_beta.py +1 -1
  126. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_boostX_beta.py +1 -1
  127. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_boostX_gamma.py +1 -1
  128. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_boostY_beta.py +1 -1
  129. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_boostY_gamma.py +1 -1
  130. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_boostZ_beta.py +1 -1
  131. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_boostZ_gamma.py +1 -1
  132. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_boost_beta3.py +1 -1
  133. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_boost_p4.py +1 -1
  134. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_deltaRapidityPhi.py +1 -1
  135. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_deltaRapidityPhi2.py +1 -1
  136. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_gamma.py +1 -1
  137. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_is_lightlike.py +1 -1
  138. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_rapidity.py +1 -1
  139. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_t.py +1 -1
  140. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_t2.py +1 -1
  141. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_tau.py +1 -1
  142. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_tau2.py +1 -1
  143. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_to_beta3.py +1 -1
  144. vector-1.8.1/tests/compute/planar/__init__.py +4 -0
  145. {vector-1.7.0 → vector-1.8.1}/tests/compute/planar/test_deltaphi.py +1 -1
  146. {vector-1.7.0 → vector-1.8.1}/tests/compute/planar/test_phi.py +1 -1
  147. {vector-1.7.0 → vector-1.8.1}/tests/compute/planar/test_rho.py +1 -1
  148. {vector-1.7.0 → vector-1.8.1}/tests/compute/planar/test_rho2.py +1 -1
  149. {vector-1.7.0 → vector-1.8.1}/tests/compute/planar/test_rotateZ.py +1 -1
  150. {vector-1.7.0 → vector-1.8.1}/tests/compute/planar/test_x.py +1 -1
  151. {vector-1.7.0 → vector-1.8.1}/tests/compute/planar/test_y.py +1 -1
  152. vector-1.8.1/tests/compute/spatial/__init__.py +4 -0
  153. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_costheta.py +1 -1
  154. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_cottheta.py +1 -1
  155. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_cross.py +1 -1
  156. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_deltaR.py +1 -1
  157. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_deltaR2.py +1 -1
  158. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_deltaangle.py +1 -1
  159. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_deltaeta.py +1 -1
  160. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_eta.py +1 -1
  161. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_mag.py +1 -1
  162. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_mag2.py +1 -1
  163. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_rotateX.py +1 -1
  164. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_rotateY.py +1 -1
  165. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_rotate_axis.py +1 -1
  166. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_rotate_euler.py +1 -1
  167. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_rotate_quaternion.py +1 -1
  168. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_theta.py +1 -1
  169. {vector-1.7.0 → vector-1.8.1}/tests/compute/spatial/test_z.py +1 -1
  170. vector-1.8.1/tests/compute/sympy/lorentz/__init__.py +4 -0
  171. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_Et.py +1 -1
  172. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_Et2.py +1 -1
  173. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_Mt.py +1 -1
  174. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_Mt2.py +1 -1
  175. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_boostX_beta.py +1 -1
  176. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_boostX_gamma.py +1 -1
  177. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_boostY_beta.py +1 -1
  178. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_boostY_gamma.py +1 -1
  179. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_boostZ_beta.py +1 -1
  180. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_boostZ_gamma.py +1 -1
  181. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_boost_beta3.py +1 -1
  182. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_boost_p4.py +1 -1
  183. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_deltaRapidityPhi.py +1 -1
  184. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_deltaRapidityPhi2.py +1 -1
  185. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_is_lightlike.py +1 -1
  186. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_rapidity.py +1 -1
  187. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_t.py +1 -1
  188. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_t2.py +1 -1
  189. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_tau.py +1 -1
  190. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_tau2.py +1 -1
  191. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_to_beta3.py +1 -1
  192. vector-1.8.1/tests/compute/sympy/planar/__init__.py +4 -0
  193. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/planar/test_deltaphi.py +1 -1
  194. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/planar/test_phi.py +1 -1
  195. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/planar/test_rho.py +1 -1
  196. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/planar/test_rho2.py +1 -1
  197. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/planar/test_rotateZ.py +1 -1
  198. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/planar/test_x.py +1 -1
  199. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/planar/test_y.py +1 -1
  200. vector-1.8.1/tests/compute/sympy/spatial/__init__.py +4 -0
  201. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_costheta.py +1 -1
  202. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_cottheta.py +1 -1
  203. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_cross.py +1 -1
  204. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_deltaR.py +1 -1
  205. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_deltaR2.py +1 -1
  206. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_deltaangle.py +1 -1
  207. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_deltaeta.py +1 -1
  208. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_eta.py +1 -1
  209. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_mag.py +1 -1
  210. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_mag2.py +1 -1
  211. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_rotateX.py +1 -1
  212. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_rotateY.py +1 -1
  213. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_rotate_axis.py +1 -1
  214. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_rotate_euler.py +1 -1
  215. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_rotate_quaternion.py +1 -1
  216. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_theta.py +1 -1
  217. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/spatial/test_z.py +1 -1
  218. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/test_add.py +1 -1
  219. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/test_conversions.py +1 -1
  220. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/test_dot.py +1 -1
  221. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/test_equal.py +1 -1
  222. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/test_is_antiparallel.py +1 -1
  223. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/test_is_parallel.py +1 -1
  224. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/test_is_perpendicular.py +1 -1
  225. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/test_not_equal.py +1 -1
  226. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/test_scale.py +1 -1
  227. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/test_subtract.py +1 -1
  228. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/test_unit.py +1 -1
  229. {vector-1.7.0 → vector-1.8.1}/tests/compute/test_add.py +1 -1
  230. {vector-1.7.0 → vector-1.8.1}/tests/compute/test_conversions.py +1 -1
  231. {vector-1.7.0 → vector-1.8.1}/tests/compute/test_dot.py +1 -1
  232. {vector-1.7.0 → vector-1.8.1}/tests/compute/test_equal.py +1 -1
  233. {vector-1.7.0 → vector-1.8.1}/tests/compute/test_is_antiparallel.py +1 -1
  234. {vector-1.7.0 → vector-1.8.1}/tests/compute/test_is_parallel.py +1 -1
  235. {vector-1.7.0 → vector-1.8.1}/tests/compute/test_is_perpendicular.py +1 -1
  236. {vector-1.7.0 → vector-1.8.1}/tests/compute/test_isclose.py +1 -1
  237. {vector-1.7.0 → vector-1.8.1}/tests/compute/test_not_equal.py +1 -1
  238. {vector-1.7.0 → vector-1.8.1}/tests/compute/test_scale.py +1 -1
  239. {vector-1.7.0 → vector-1.8.1}/tests/compute/test_subtract.py +1 -1
  240. {vector-1.7.0 → vector-1.8.1}/tests/compute/test_unit.py +1 -1
  241. {vector-1.7.0 → vector-1.8.1}/tests/test_issues.py +126 -1
  242. {vector-1.7.0 → vector-1.8.1}/tests/test_methods.py +1 -1
  243. vector-1.7.0/src/vector/_version.py +0 -34
  244. vector-1.7.0/tests/compute/lorentz/__init__.py +0 -4
  245. vector-1.7.0/tests/compute/planar/__init__.py +0 -4
  246. vector-1.7.0/tests/compute/spatial/__init__.py +0 -4
  247. vector-1.7.0/tests/compute/sympy/lorentz/__init__.py +0 -4
  248. vector-1.7.0/tests/compute/sympy/planar/__init__.py +0 -4
  249. vector-1.7.0/tests/compute/sympy/spatial/__init__.py +0 -4
  250. {vector-1.7.0 → vector-1.8.1}/.all-contributorsrc +0 -0
  251. {vector-1.7.0 → vector-1.8.1}/.git_archival.txt +0 -0
  252. {vector-1.7.0 → vector-1.8.1}/.gitattributes +0 -0
  253. {vector-1.7.0 → vector-1.8.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  254. {vector-1.7.0 → vector-1.8.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  255. {vector-1.7.0 → vector-1.8.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  256. {vector-1.7.0 → vector-1.8.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  257. {vector-1.7.0 → vector-1.8.1}/.github/codecov.yml +0 -0
  258. {vector-1.7.0 → vector-1.8.1}/.github/dependabot.yml +0 -0
  259. {vector-1.7.0 → vector-1.8.1}/.github/matchers/pylint.json +0 -0
  260. {vector-1.7.0 → vector-1.8.1}/.gitignore +0 -0
  261. {vector-1.7.0 → vector-1.8.1}/.readthedocs.yml +0 -0
  262. {vector-1.7.0 → vector-1.8.1}/CITATION.cff +0 -0
  263. {vector-1.7.0 → vector-1.8.1}/CONTRIBUTING.md +0 -0
  264. {vector-1.7.0 → vector-1.8.1}/README.md +0 -0
  265. {vector-1.7.0 → vector-1.8.1}/docs/Makefile +0 -0
  266. {vector-1.7.0 → vector-1.8.1}/docs/_images/LogoSrc.svg +0 -0
  267. {vector-1.7.0 → vector-1.8.1}/docs/_images/coordinate-systems.png +0 -0
  268. {vector-1.7.0 → vector-1.8.1}/docs/_images/coordinate-systems.svg +0 -0
  269. {vector-1.7.0 → vector-1.8.1}/docs/_images/vector-logo.png +0 -0
  270. {vector-1.7.0 → vector-1.8.1}/docs/_static/css/awkward_output.css +0 -0
  271. {vector-1.7.0 → vector-1.8.1}/docs/conf.py +0 -0
  272. {vector-1.7.0 → vector-1.8.1}/docs/index.md +0 -0
  273. {vector-1.7.0 → vector-1.8.1}/docs/make.bat +0 -0
  274. {vector-1.7.0 → vector-1.8.1}/docs/src/awkward.ipynb +0 -0
  275. {vector-1.7.0 → vector-1.8.1}/docs/src/common.md +0 -0
  276. {vector-1.7.0 → vector-1.8.1}/docs/src/make_awkward.md +0 -0
  277. {vector-1.7.0 → vector-1.8.1}/docs/src/make_numpy.md +0 -0
  278. {vector-1.7.0 → vector-1.8.1}/docs/src/make_object.md +0 -0
  279. {vector-1.7.0 → vector-1.8.1}/docs/src/make_sympy.md +0 -0
  280. {vector-1.7.0 → vector-1.8.1}/docs/src/momentum2d.md +0 -0
  281. {vector-1.7.0 → vector-1.8.1}/docs/src/momentum3d.md +0 -0
  282. {vector-1.7.0 → vector-1.8.1}/docs/src/momentum4d.md +0 -0
  283. {vector-1.7.0 → vector-1.8.1}/docs/src/numba.ipynb +0 -0
  284. {vector-1.7.0 → vector-1.8.1}/docs/src/numpy.ipynb +0 -0
  285. {vector-1.7.0 → vector-1.8.1}/docs/src/object.ipynb +0 -0
  286. {vector-1.7.0 → vector-1.8.1}/docs/src/pytree.ipynb +0 -0
  287. {vector-1.7.0 → vector-1.8.1}/docs/src/pytree_api.md +0 -0
  288. {vector-1.7.0 → vector-1.8.1}/docs/src/sympy.ipynb +0 -0
  289. {vector-1.7.0 → vector-1.8.1}/docs/src/talks.md +0 -0
  290. {vector-1.7.0 → vector-1.8.1}/docs/src/vector2d.md +0 -0
  291. {vector-1.7.0 → vector-1.8.1}/docs/src/vector3d.md +0 -0
  292. {vector-1.7.0 → vector-1.8.1}/docs/src/vector4d.md +0 -0
  293. {vector-1.7.0 → vector-1.8.1}/environment.yml +0 -0
  294. {vector-1.7.0 → vector-1.8.1}/src/vector/_pytree.py +0 -0
  295. {vector-1.7.0 → vector-1.8.1}/src/vector/_version.pyi +0 -0
  296. {vector-1.7.0 → vector-1.8.1}/src/vector/py.typed +0 -0
  297. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_is_spacelike.py +0 -0
  298. {vector-1.7.0 → vector-1.8.1}/tests/compute/lorentz/test_is_timelike.py +0 -0
  299. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_beta.py +0 -0
  300. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_gamma.py +0 -0
  301. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_is_spacelike.py +0 -0
  302. {vector-1.7.0 → vector-1.8.1}/tests/compute/sympy/lorentz/test_is_timelike.py +0 -0
  303. {vector-1.7.0 → vector-1.8.1}/tests/samples/issue-161-v2.pkl +0 -0
  304. {vector-1.7.0 → vector-1.8.1}/tests/test_notebooks.py +0 -0
  305. {vector-1.7.0 → vector-1.8.1}/tests/test_pytree.py +0 -0
@@ -10,7 +10,7 @@ jobs:
10
10
  dist:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: actions/checkout@v5
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@v5
31
+ - uses: actions/download-artifact@v8
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@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
40
+ uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.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@v5
27
+ - uses: actions/checkout@v6
28
28
  - uses: actions/setup-python@v6
29
29
  with:
30
30
  python-version: 3.x
31
- - uses: astral-sh/setup-uv@v7
31
+ - uses: astral-sh/setup-uv@v8.1.0
32
32
  - name: PyLint
33
33
  run: uvx nox -s pylint -- --output-format=github
34
34
 
@@ -38,21 +38,22 @@ jobs:
38
38
  fail-fast: false
39
39
  matrix:
40
40
  python-version:
41
- - "3.9"
42
41
  - "3.10"
43
42
  - "3.11"
44
43
  - "3.12"
45
44
  - "3.13"
45
+ - "3.14"
46
+ - "3.14t"
46
47
  name: Python ${{ matrix.python-version }} - Lite
47
48
  steps:
48
- - uses: actions/checkout@v5
49
+ - uses: actions/checkout@v6
49
50
 
50
51
  - uses: actions/setup-python@v6
51
52
  with:
52
53
  python-version: ${{ matrix.python-version }}
53
54
  allow-prereleases: true
54
55
 
55
- - uses: astral-sh/setup-uv@v7
56
+ - uses: astral-sh/setup-uv@v8.1.0
56
57
 
57
58
  - name: Test lite package
58
59
  run: uvx nox -s lite-${{ matrix.python-version }} --verbose
@@ -64,21 +65,22 @@ jobs:
64
65
  fail-fast: false
65
66
  matrix:
66
67
  python-version:
67
- - "3.9"
68
68
  - "3.10"
69
69
  - "3.11"
70
70
  - "3.12"
71
71
  - "3.13"
72
+ - "3.14"
73
+ - "3.14t"
72
74
  name: Python ${{ matrix.python-version }} - Full
73
75
  steps:
74
- - uses: actions/checkout@v5
76
+ - uses: actions/checkout@v6
75
77
 
76
78
  - uses: actions/setup-python@v6
77
79
  with:
78
80
  python-version: ${{ matrix.python-version }}
79
81
  allow-prereleases: true
80
82
 
81
- - uses: astral-sh/setup-uv@v7
83
+ - uses: astral-sh/setup-uv@v8.1.0
82
84
 
83
85
  - name: Install nox
84
86
  run: uv tool install nox
@@ -91,7 +93,7 @@ jobs:
91
93
  run: nox -s coverage-${{ matrix.python-version }} --verbose
92
94
 
93
95
  - name: Upload coverage report
94
- uses: codecov/codecov-action@v5.5.1
96
+ uses: codecov/codecov-action@v6.0.0
95
97
  with:
96
98
  token: ${{ secrets.CODECOV_TOKEN }}
97
99
 
@@ -104,7 +106,7 @@ jobs:
104
106
  # root:
105
107
  # runs-on: ubuntu-latest
106
108
  # steps:
107
- # - uses: actions/checkout@v5
109
+ # - uses: actions/checkout@v6
108
110
 
109
111
  # - name: Get Conda
110
112
  # uses: conda-incubator/setup-miniconda@v2
@@ -21,7 +21,7 @@ jobs:
21
21
  runs-on: ubuntu-latest
22
22
 
23
23
  steps:
24
- - uses: actions/checkout@v5
24
+ - uses: actions/checkout@v6
25
25
 
26
26
  - name: Set up Python
27
27
  uses: actions/setup-python@v6
@@ -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.14.1"
22
+ rev: "v0.15.13"
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.18.2
29
+ rev: v2.1.0
30
30
  hooks:
31
31
  - id: mypy
32
32
  files: src
@@ -38,12 +38,12 @@ repos:
38
38
  - optree
39
39
 
40
40
  - repo: https://github.com/codespell-project/codespell
41
- rev: v2.4.1
41
+ rev: v2.4.2
42
42
  hooks:
43
43
  - id: codespell
44
44
 
45
45
  - repo: https://github.com/rbubley/mirrors-prettier
46
- rev: "v3.6.2"
46
+ rev: "v3.8.3"
47
47
  hooks:
48
48
  - id: prettier
49
49
  types_or: [yaml, markdown, html, css, scss, javascript, json]
@@ -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,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vector
3
- Version: 1.7.0
3
+ Version: 1.8.1
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
12
  License-Expression: BSD-3-Clause
13
13
  License-File: LICENSE
@@ -18,24 +18,24 @@ Classifier: Intended Audience :: Science/Research
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.9
22
21
  Classifier: Programming Language :: Python :: 3.10
23
22
  Classifier: Programming Language :: Python :: 3.11
24
23
  Classifier: Programming Language :: Python :: 3.12
25
24
  Classifier: Programming Language :: Python :: 3.13
26
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.9
32
+ Requires-Python: >=3.10
33
33
  Requires-Dist: numpy>=1.19.3
34
34
  Requires-Dist: packaging>=20
35
35
  Provides-Extra: awkward
36
36
  Requires-Dist: awkward>=2; extra == 'awkward'
37
37
  Provides-Extra: numba
38
- 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'
39
39
  Provides-Extra: sympy
40
40
  Requires-Dist: sympy; extra == 'sympy'
41
41
  Description-Content-Type: text/markdown
@@ -6,6 +6,9 @@
6
6
 
7
7
  from __future__ import annotations
8
8
 
9
+ import os
10
+ import sys
11
+ import sysconfig
9
12
  from pathlib import Path
10
13
 
11
14
  import nox
@@ -16,6 +19,7 @@ nox.options.default_venv_backend = "uv|virtualenv"
16
19
  DIR = Path(__file__).parent.resolve()
17
20
  PYPROJECT = nox.project.load_toml(DIR / "pyproject.toml")
18
21
  ALL_PYTHON = nox.project.python_versions(PYPROJECT)
22
+ ALL_PYTHON += ["3.14t"] # add free-threaded Python variant
19
23
 
20
24
 
21
25
  @nox.session(reuse_venv=True)
@@ -44,6 +48,10 @@ def lite(session: nox.Session) -> None:
44
48
  @nox.session(reuse_venv=True, python=ALL_PYTHON)
45
49
  def tests(session: nox.Session) -> None:
46
50
  """Run the unit and regular tests."""
51
+ if sys.version_info[:2] >= (3, 14) and bool(
52
+ sysconfig.get_config_var("Py_GIL_DISABLED")
53
+ ):
54
+ os.environ["PYTHON_GIL"] = "0"
47
55
  test_deps = nox.project.dependency_groups(PYPROJECT, "test-all")
48
56
  session.install("-e.", *test_deps)
49
57
  session.run(
@@ -17,9 +17,9 @@ maintainers = [
17
17
  { name = "The Scikit-HEP admins", email = "scikit-hep-admins@googlegroups.com" },
18
18
  ]
19
19
  authors = [
20
- { name = "Jim Pivarski, Henry Schreiner, Eduardo Rodrigues", email = "eduardo.rodrigues@cern.ch" },
20
+ { name = "Saransh Chopra, Jim Pivarski, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle", email = "eduardo.rodrigues@cern.ch" },
21
21
  ]
22
- requires-python = ">=3.9"
22
+ requires-python = ">=3.10"
23
23
  classifiers = [
24
24
  "Development Status :: 5 - Production/Stable",
25
25
  "Intended Audience :: Developers",
@@ -27,12 +27,12 @@ classifiers = [
27
27
  "Operating System :: OS Independent",
28
28
  "Programming Language :: Python",
29
29
  "Programming Language :: Python :: 3 :: Only",
30
- "Programming Language :: Python :: 3.9",
31
30
  "Programming Language :: Python :: 3.10",
32
31
  "Programming Language :: Python :: 3.11",
33
32
  "Programming Language :: Python :: 3.12",
34
33
  "Programming Language :: Python :: 3.13",
35
34
  "Programming Language :: Python :: 3.14",
35
+ "Programming Language :: Python :: Free Threading :: 3 - Stable",
36
36
  "Topic :: Scientific/Engineering",
37
37
  "Topic :: Scientific/Engineering :: Information Analysis",
38
38
  "Topic :: Scientific/Engineering :: Mathematics",
@@ -49,7 +49,7 @@ dependencies = [
49
49
 
50
50
  [project.optional-dependencies]
51
51
  awkward = ["awkward>=2"]
52
- numba = ["numba>=0.57; python_version<'3.14'"]
52
+ numba = ["numba>=0.62; python_version<'3.15'"]
53
53
  sympy = ["sympy"]
54
54
 
55
55
  [project.urls]
@@ -72,7 +72,7 @@ test = [
72
72
  ]
73
73
  test-optional = [
74
74
  "awkward>=2",
75
- "numba>=0.57; python_version<'3.14'",
75
+ "numba>=0.57; python_version<'3.15'",
76
76
  "sympy",
77
77
  ]
78
78
  test-extras = [
@@ -173,7 +173,7 @@ isort.required-imports = [
173
173
  ]
174
174
 
175
175
  [tool.pylint]
176
- master.py-version = "3.9"
176
+ master.py-version = "3.10"
177
177
  reports.output-format = "colorized"
178
178
  similarities.ignore-imports = "yes"
179
179
  master.jobs = "0"
@@ -251,7 +251,7 @@ markers = [
251
251
  "awkward",
252
252
  "sympy",
253
253
  ]
254
- log_cli_level = "DEBUG"
254
+ log_level = "DEBUG"
255
255
  filterwarnings = [
256
256
  "error",
257
257
  "ignore::DeprecationWarning",
@@ -262,7 +262,7 @@ filterwarnings = [
262
262
  files = [
263
263
  "src/vector",
264
264
  ]
265
- python_version = "3.9"
265
+ python_version = "3.10"
266
266
  strict = true
267
267
  warn_return_any = false
268
268
  enable_error_code = [
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -11,6 +11,7 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
+ import types
14
15
  import typing
15
16
 
16
17
  import numpy
@@ -18,11 +19,14 @@ import numpy
18
19
  from vector._compute.lorentz import t, tau
19
20
  from vector._compute.spatial import add
20
21
  from vector._methods import (
22
+ Azimuthal,
21
23
  AzimuthalRhoPhi,
22
24
  AzimuthalXY,
25
+ Longitudinal,
23
26
  LongitudinalEta,
24
27
  LongitudinalTheta,
25
28
  LongitudinalZ,
29
+ Temporal,
26
30
  TemporalT,
27
31
  TemporalTau,
28
32
  _aztype,
@@ -33,8 +37,39 @@ from vector._methods import (
33
37
  _ltype,
34
38
  _ttype,
35
39
  )
36
-
37
- dispatch_map = {}
40
+ from vector._typeutils import ScalarCollection
41
+
42
+ dispatch_map: dict[
43
+ tuple[
44
+ type[Azimuthal],
45
+ type[Longitudinal],
46
+ type[Temporal],
47
+ type[Azimuthal],
48
+ type[Longitudinal],
49
+ type[Temporal],
50
+ ],
51
+ tuple[
52
+ typing.Callable[
53
+ [
54
+ types.ModuleType,
55
+ ScalarCollection,
56
+ ScalarCollection,
57
+ ScalarCollection,
58
+ ScalarCollection,
59
+ ScalarCollection,
60
+ ScalarCollection,
61
+ ScalarCollection,
62
+ ScalarCollection,
63
+ ],
64
+ tuple[
65
+ ScalarCollection, ScalarCollection, ScalarCollection, ScalarCollection
66
+ ],
67
+ ],
68
+ type[Azimuthal],
69
+ type[Longitudinal],
70
+ type[Temporal],
71
+ ],
72
+ ] = {}
38
73
 
39
74
 
40
75
  def make_conversion(
@@ -164,7 +199,7 @@ def make_conversion(
164
199
  azimuthal,
165
200
  longitudinal,
166
201
  TemporalTau,
167
- ) # type: ignore[assignment]
202
+ )
168
203
 
169
204
 
170
205
  for azimuthal1 in (AzimuthalXY, AzimuthalRhoPhi):
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -11,17 +11,21 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
+ import types
14
15
  import typing
15
16
 
16
17
  import numpy
17
18
 
18
19
  from vector._compute.lorentz import deltaRapidityPhi2
19
20
  from vector._methods import (
21
+ Azimuthal,
20
22
  AzimuthalRhoPhi,
21
23
  AzimuthalXY,
24
+ Longitudinal,
22
25
  LongitudinalEta,
23
26
  LongitudinalTheta,
24
27
  LongitudinalZ,
28
+ Temporal,
25
29
  TemporalT,
26
30
  TemporalTau,
27
31
  _aztype,
@@ -32,8 +36,35 @@ from vector._methods import (
32
36
  _ltype,
33
37
  _ttype,
34
38
  )
39
+ from vector._typeutils import ScalarCollection
35
40
 
36
- dispatch_map = {}
41
+ dispatch_map: dict[
42
+ tuple[
43
+ type[Azimuthal],
44
+ type[Longitudinal],
45
+ type[Temporal],
46
+ type[Azimuthal],
47
+ type[Longitudinal],
48
+ type[Temporal],
49
+ ],
50
+ tuple[
51
+ typing.Callable[
52
+ [
53
+ types.ModuleType,
54
+ ScalarCollection,
55
+ ScalarCollection,
56
+ ScalarCollection,
57
+ ScalarCollection,
58
+ ScalarCollection,
59
+ ScalarCollection,
60
+ ScalarCollection,
61
+ ScalarCollection,
62
+ ],
63
+ ScalarCollection,
64
+ ],
65
+ type[float],
66
+ ],
67
+ ] = {}
37
68
 
38
69
 
39
70
  def make_conversion(
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2019-2025, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
1
+ # Copyright (c) 2019, Saransh Chopra, Henry Schreiner, Eduardo Rodrigues, Jonas Eschle, and Jim Pivarski.
2
2
  #
3
3
  # Distributed under the 3-clause BSD license, see accompanying file LICENSE
4
4
  # or https://github.com/scikit-hep/vector for details.
@@ -11,6 +11,7 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
+ import types
14
15
  import typing
15
16
 
16
17
  import numpy
@@ -18,11 +19,14 @@ import numpy
18
19
  from vector._compute.lorentz import rapidity
19
20
  from vector._compute.planar import deltaphi
20
21
  from vector._methods import (
22
+ Azimuthal,
21
23
  AzimuthalRhoPhi,
22
24
  AzimuthalXY,
25
+ Longitudinal,
23
26
  LongitudinalEta,
24
27
  LongitudinalTheta,
25
28
  LongitudinalZ,
29
+ Temporal,
26
30
  TemporalT,
27
31
  TemporalTau,
28
32
  _aztype,
@@ -33,8 +37,35 @@ from vector._methods import (
33
37
  _ltype,
34
38
  _ttype,
35
39
  )
40
+ from vector._typeutils import ScalarCollection
36
41
 
37
- dispatch_map = {}
42
+ dispatch_map: dict[
43
+ tuple[
44
+ type[Azimuthal],
45
+ type[Longitudinal],
46
+ type[Temporal],
47
+ type[Azimuthal],
48
+ type[Longitudinal],
49
+ type[Temporal],
50
+ ],
51
+ tuple[
52
+ typing.Callable[
53
+ [
54
+ types.ModuleType,
55
+ ScalarCollection,
56
+ ScalarCollection,
57
+ ScalarCollection,
58
+ ScalarCollection,
59
+ ScalarCollection,
60
+ ScalarCollection,
61
+ ScalarCollection,
62
+ ScalarCollection,
63
+ ],
64
+ ScalarCollection,
65
+ ],
66
+ type[float],
67
+ ],
68
+ ] = {}
38
69
 
39
70
 
40
71
  def make_conversion(