vector 1.4.1__tar.gz → 1.4.2__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 (379) hide show
  1. {vector-1.4.1 → vector-1.4.2}/.github/workflows/cd.yml +1 -1
  2. {vector-1.4.1 → vector-1.4.2}/.github/workflows/ci.yml +5 -14
  3. {vector-1.4.1 → vector-1.4.2}/.pre-commit-config.yaml +5 -5
  4. {vector-1.4.1 → vector-1.4.2}/PKG-INFO +28 -16
  5. {vector-1.4.1 → vector-1.4.2}/README.md +26 -14
  6. {vector-1.4.1 → vector-1.4.2}/docs/changelog.md +17 -0
  7. {vector-1.4.1 → vector-1.4.2}/docs/index.rst +6 -6
  8. {vector-1.4.1 → vector-1.4.2}/docs/usage/intro.ipynb +299 -195
  9. {vector-1.4.1 → vector-1.4.2}/noxfile.py +6 -1
  10. {vector-1.4.1 → vector-1.4.2}/pyproject.toml +4 -1
  11. {vector-1.4.1 → vector-1.4.2}/src/vector/__init__.py +2 -2
  12. {vector-1.4.1 → vector-1.4.2}/src/vector/_lib.py +5 -5
  13. {vector-1.4.1 → vector-1.4.2}/src/vector/_version.py +2 -2
  14. {vector-1.4.1 → vector-1.4.2}/src/vector/backends/object.py +3 -3
  15. {vector-1.4.1 → vector-1.4.2}/src/vector/backends/sympy.py +4 -4
  16. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_Et.py +12 -18
  17. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_Et2.py +2 -2
  18. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_beta.py +11 -19
  19. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/test_unit.py +19 -15
  20. {vector-1.4.1 → vector-1.4.2}/tests/compute/test_unit.py +24 -24
  21. {vector-1.4.1 → vector-1.4.2}/tests/test_compute_features.py +1 -1
  22. {vector-1.4.1 → vector-1.4.2}/tests/test_notebooks.py +1 -1
  23. {vector-1.4.1 → vector-1.4.2}/.all-contributorsrc +0 -0
  24. {vector-1.4.1 → vector-1.4.2}/.git_archival.txt +0 -0
  25. {vector-1.4.1 → vector-1.4.2}/.gitattributes +0 -0
  26. {vector-1.4.1 → vector-1.4.2}/.github/CONTRIBUTING.md +0 -0
  27. {vector-1.4.1 → vector-1.4.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  28. {vector-1.4.1 → vector-1.4.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  29. {vector-1.4.1 → vector-1.4.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  30. {vector-1.4.1 → vector-1.4.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  31. {vector-1.4.1 → vector-1.4.2}/.github/codecov.yml +0 -0
  32. {vector-1.4.1 → vector-1.4.2}/.github/dependabot.yml +0 -0
  33. {vector-1.4.1 → vector-1.4.2}/.github/matchers/pylint.json +0 -0
  34. {vector-1.4.1 → vector-1.4.2}/.github/workflows/notebooks.yml +0 -0
  35. {vector-1.4.1 → vector-1.4.2}/.gitignore +0 -0
  36. {vector-1.4.1 → vector-1.4.2}/.readthedocs.yml +0 -0
  37. {vector-1.4.1 → vector-1.4.2}/CITATION.cff +0 -0
  38. {vector-1.4.1 → vector-1.4.2}/LICENSE +0 -0
  39. {vector-1.4.1 → vector-1.4.2}/docs/Makefile +0 -0
  40. {vector-1.4.1 → vector-1.4.2}/docs/_images/LogoSrc.svg +0 -0
  41. {vector-1.4.1 → vector-1.4.2}/docs/_images/vector-logo.png +0 -0
  42. {vector-1.4.1 → vector-1.4.2}/docs/api/backends/vector.backends._numba.rst +0 -0
  43. {vector-1.4.1 → vector-1.4.2}/docs/api/backends/vector.backends._numba_object.rst +0 -0
  44. {vector-1.4.1 → vector-1.4.2}/docs/api/backends/vector.backends.awkward.rst +0 -0
  45. {vector-1.4.1 → vector-1.4.2}/docs/api/backends/vector.backends.awkward_constructors.rst +0 -0
  46. {vector-1.4.1 → vector-1.4.2}/docs/api/backends/vector.backends.numba_numpy.rst +0 -0
  47. {vector-1.4.1 → vector-1.4.2}/docs/api/backends/vector.backends.numpy.rst +0 -0
  48. {vector-1.4.1 → vector-1.4.2}/docs/api/backends/vector.backends.object.rst +0 -0
  49. {vector-1.4.1 → vector-1.4.2}/docs/api/backends/vector.backends.rst +0 -0
  50. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.Et.rst +0 -0
  51. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.Et2.rst +0 -0
  52. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.Mt.rst +0 -0
  53. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.Mt2.rst +0 -0
  54. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.add.rst +0 -0
  55. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.beta.rst +0 -0
  56. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.boostX_beta.rst +0 -0
  57. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.boostX_gamma.rst +0 -0
  58. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.boostY_beta.rst +0 -0
  59. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.boostY_gamma.rst +0 -0
  60. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.boostZ_beta.rst +0 -0
  61. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.boostZ_gamma.rst +0 -0
  62. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.boost_beta3.rst +0 -0
  63. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.boost_p4.rst +0 -0
  64. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.deltaRapidityPhi.rst +0 -0
  65. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.deltaRapidityPhi2.rst +0 -0
  66. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.dot.rst +0 -0
  67. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.equal.rst +0 -0
  68. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.gamma.rst +0 -0
  69. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.is_lightlike.rst +0 -0
  70. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.is_spacelike.rst +0 -0
  71. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.is_timelike.rst +0 -0
  72. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.isclose.rst +0 -0
  73. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.not_equal.rst +0 -0
  74. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.rapidity.rst +0 -0
  75. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.rst +0 -0
  76. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.scale.rst +0 -0
  77. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.subtract.rst +0 -0
  78. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.t.rst +0 -0
  79. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.t2.rst +0 -0
  80. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.tau.rst +0 -0
  81. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.tau2.rst +0 -0
  82. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.to_beta3.rst +0 -0
  83. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.transform4D.rst +0 -0
  84. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/lorentz/vector._compute.lorentz.unit.rst +0 -0
  85. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.add.rst +0 -0
  86. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.deltaphi.rst +0 -0
  87. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.dot.rst +0 -0
  88. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.equal.rst +0 -0
  89. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.is_antiparallel.rst +0 -0
  90. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.is_parallel.rst +0 -0
  91. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.is_perpendicular.rst +0 -0
  92. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.isclose.rst +0 -0
  93. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.not_equal.rst +0 -0
  94. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.phi.rst +0 -0
  95. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.rho.rst +0 -0
  96. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.rho2.rst +0 -0
  97. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.rotateZ.rst +0 -0
  98. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.rst +0 -0
  99. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.scale.rst +0 -0
  100. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.subtract.rst +0 -0
  101. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.transform2D.rst +0 -0
  102. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.unit.rst +0 -0
  103. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.x.rst +0 -0
  104. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/planar/vector._compute.planar.y.rst +0 -0
  105. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.add.rst +0 -0
  106. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.costheta.rst +0 -0
  107. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.cottheta.rst +0 -0
  108. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.cross.rst +0 -0
  109. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.deltaR.rst +0 -0
  110. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.deltaR2.rst +0 -0
  111. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.deltaangle.rst +0 -0
  112. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.deltaeta.rst +0 -0
  113. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.dot.rst +0 -0
  114. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.equal.rst +0 -0
  115. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.eta.rst +0 -0
  116. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.is_antiparallel.rst +0 -0
  117. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.is_parallel.rst +0 -0
  118. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.is_perpendicular.rst +0 -0
  119. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.isclose.rst +0 -0
  120. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.mag.rst +0 -0
  121. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.mag2.rst +0 -0
  122. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.not_equal.rst +0 -0
  123. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.rotateX.rst +0 -0
  124. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.rotateY.rst +0 -0
  125. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.rotate_axis.rst +0 -0
  126. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.rotate_euler.rst +0 -0
  127. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.rotate_quaternion.rst +0 -0
  128. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.rst +0 -0
  129. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.scale.rst +0 -0
  130. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.subtract.rst +0 -0
  131. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.theta.rst +0 -0
  132. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.transform3D.rst +0 -0
  133. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.unit.rst +0 -0
  134. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/spatial/vector._compute.spatial.z.rst +0 -0
  135. {vector-1.4.1 → vector-1.4.2}/docs/api/compute/vector._compute.rst +0 -0
  136. {vector-1.4.1 → vector-1.4.2}/docs/api/inheritance.svg +0 -0
  137. {vector-1.4.1 → vector-1.4.2}/docs/api/modules.rst +0 -0
  138. {vector-1.4.1 → vector-1.4.2}/docs/api/vector._methods.rst +0 -0
  139. {vector-1.4.1 → vector-1.4.2}/docs/api/vector._typeutils.rst +0 -0
  140. {vector-1.4.1 → vector-1.4.2}/docs/api/vector.rst +0 -0
  141. {vector-1.4.1 → vector-1.4.2}/docs/conf.py +0 -0
  142. {vector-1.4.1 → vector-1.4.2}/docs/make.bat +0 -0
  143. {vector-1.4.1 → vector-1.4.2}/docs/usage/structure.md +0 -0
  144. {vector-1.4.1 → vector-1.4.2}/environment.yml +0 -0
  145. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/__init__.py +0 -0
  146. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/Et.py +0 -0
  147. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/Et2.py +0 -0
  148. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/Mt.py +0 -0
  149. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/Mt2.py +0 -0
  150. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/__init__.py +0 -0
  151. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/add.py +0 -0
  152. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/beta.py +0 -0
  153. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/boostX_beta.py +0 -0
  154. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/boostX_gamma.py +0 -0
  155. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/boostY_beta.py +0 -0
  156. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/boostY_gamma.py +0 -0
  157. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/boostZ_beta.py +0 -0
  158. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/boostZ_gamma.py +0 -0
  159. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/boost_beta3.py +0 -0
  160. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/boost_p4.py +0 -0
  161. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/deltaRapidityPhi.py +0 -0
  162. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/deltaRapidityPhi2.py +0 -0
  163. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/dot.py +0 -0
  164. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/equal.py +0 -0
  165. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/gamma.py +0 -0
  166. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/is_lightlike.py +0 -0
  167. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/is_spacelike.py +0 -0
  168. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/is_timelike.py +0 -0
  169. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/isclose.py +0 -0
  170. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/not_equal.py +0 -0
  171. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/rapidity.py +0 -0
  172. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/scale.py +0 -0
  173. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/subtract.py +0 -0
  174. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/t.py +0 -0
  175. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/t2.py +0 -0
  176. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/tau.py +0 -0
  177. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/tau2.py +0 -0
  178. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/to_beta3.py +0 -0
  179. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/transform4D.py +0 -0
  180. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/lorentz/unit.py +0 -0
  181. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/__init__.py +0 -0
  182. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/add.py +0 -0
  183. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/deltaphi.py +0 -0
  184. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/dot.py +0 -0
  185. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/equal.py +0 -0
  186. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/is_antiparallel.py +0 -0
  187. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/is_parallel.py +0 -0
  188. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/is_perpendicular.py +0 -0
  189. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/isclose.py +0 -0
  190. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/not_equal.py +0 -0
  191. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/phi.py +0 -0
  192. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/rho.py +0 -0
  193. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/rho2.py +0 -0
  194. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/rotateZ.py +0 -0
  195. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/scale.py +0 -0
  196. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/subtract.py +0 -0
  197. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/transform2D.py +0 -0
  198. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/unit.py +0 -0
  199. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/x.py +0 -0
  200. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/planar/y.py +0 -0
  201. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/__init__.py +0 -0
  202. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/add.py +0 -0
  203. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/costheta.py +0 -0
  204. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/cottheta.py +0 -0
  205. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/cross.py +0 -0
  206. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/deltaR.py +0 -0
  207. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/deltaR2.py +0 -0
  208. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/deltaangle.py +0 -0
  209. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/deltaeta.py +0 -0
  210. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/dot.py +0 -0
  211. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/equal.py +0 -0
  212. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/eta.py +0 -0
  213. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/is_antiparallel.py +0 -0
  214. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/is_parallel.py +0 -0
  215. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/is_perpendicular.py +0 -0
  216. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/isclose.py +0 -0
  217. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/mag.py +0 -0
  218. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/mag2.py +0 -0
  219. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/not_equal.py +0 -0
  220. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/rotateX.py +0 -0
  221. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/rotateY.py +0 -0
  222. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/rotate_axis.py +0 -0
  223. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/rotate_euler.py +0 -0
  224. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/rotate_quaternion.py +0 -0
  225. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/scale.py +0 -0
  226. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/subtract.py +0 -0
  227. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/theta.py +0 -0
  228. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/transform3D.py +0 -0
  229. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/unit.py +0 -0
  230. {vector-1.4.1 → vector-1.4.2}/src/vector/_compute/spatial/z.py +0 -0
  231. {vector-1.4.1 → vector-1.4.2}/src/vector/_methods.py +0 -0
  232. {vector-1.4.1 → vector-1.4.2}/src/vector/_typeutils.py +0 -0
  233. {vector-1.4.1 → vector-1.4.2}/src/vector/backends/__init__.py +0 -0
  234. {vector-1.4.1 → vector-1.4.2}/src/vector/backends/_numba.py +0 -0
  235. {vector-1.4.1 → vector-1.4.2}/src/vector/backends/_numba_object.py +0 -0
  236. {vector-1.4.1 → vector-1.4.2}/src/vector/backends/awkward.py +0 -0
  237. {vector-1.4.1 → vector-1.4.2}/src/vector/backends/awkward_constructors.py +0 -0
  238. {vector-1.4.1 → vector-1.4.2}/src/vector/backends/numba_numpy.py +0 -0
  239. {vector-1.4.1 → vector-1.4.2}/src/vector/backends/numpy.py +0 -0
  240. {vector-1.4.1 → vector-1.4.2}/src/vector/py.typed +0 -0
  241. {vector-1.4.1 → vector-1.4.2}/src/vector/version.pyi +0 -0
  242. {vector-1.4.1 → vector-1.4.2}/tests/__init__.py +0 -0
  243. {vector-1.4.1 → vector-1.4.2}/tests/backends/__init__.py +0 -0
  244. {vector-1.4.1 → vector-1.4.2}/tests/backends/test_awkward.py +0 -0
  245. {vector-1.4.1 → vector-1.4.2}/tests/backends/test_awkward_numba.py +0 -0
  246. {vector-1.4.1 → vector-1.4.2}/tests/backends/test_dask_awkward.py +0 -0
  247. {vector-1.4.1 → vector-1.4.2}/tests/backends/test_numba_numpy.py +0 -0
  248. {vector-1.4.1 → vector-1.4.2}/tests/backends/test_numba_object.py +0 -0
  249. {vector-1.4.1 → vector-1.4.2}/tests/backends/test_numpy.py +0 -0
  250. {vector-1.4.1 → vector-1.4.2}/tests/backends/test_object.py +0 -0
  251. {vector-1.4.1 → vector-1.4.2}/tests/backends/test_operators.py +0 -0
  252. {vector-1.4.1 → vector-1.4.2}/tests/backends/test_sympy.py +0 -0
  253. {vector-1.4.1 → vector-1.4.2}/tests/compute/__init__.py +0 -0
  254. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/__init__.py +0 -0
  255. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_Et.py +0 -0
  256. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_Et2.py +0 -0
  257. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_Mt.py +0 -0
  258. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_Mt2.py +0 -0
  259. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_beta.py +0 -0
  260. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_boostX_beta.py +0 -0
  261. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_boostX_gamma.py +0 -0
  262. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_boostY_beta.py +0 -0
  263. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_boostY_gamma.py +0 -0
  264. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_boostZ_beta.py +0 -0
  265. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_boostZ_gamma.py +0 -0
  266. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_boost_beta3.py +0 -0
  267. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_boost_p4.py +0 -0
  268. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_deltaRapidityPhi.py +0 -0
  269. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_deltaRapidityPhi2.py +0 -0
  270. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_gamma.py +0 -0
  271. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_is_lightlike.py +0 -0
  272. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_is_spacelike.py +0 -0
  273. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_is_timelike.py +0 -0
  274. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_rapidity.py +0 -0
  275. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_t.py +0 -0
  276. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_t2.py +0 -0
  277. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_tau.py +0 -0
  278. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_tau2.py +0 -0
  279. {vector-1.4.1 → vector-1.4.2}/tests/compute/lorentz/test_to_beta3.py +0 -0
  280. {vector-1.4.1 → vector-1.4.2}/tests/compute/planar/__init__.py +0 -0
  281. {vector-1.4.1 → vector-1.4.2}/tests/compute/planar/test_deltaphi.py +0 -0
  282. {vector-1.4.1 → vector-1.4.2}/tests/compute/planar/test_phi.py +0 -0
  283. {vector-1.4.1 → vector-1.4.2}/tests/compute/planar/test_rho.py +0 -0
  284. {vector-1.4.1 → vector-1.4.2}/tests/compute/planar/test_rho2.py +0 -0
  285. {vector-1.4.1 → vector-1.4.2}/tests/compute/planar/test_rotateZ.py +0 -0
  286. {vector-1.4.1 → vector-1.4.2}/tests/compute/planar/test_x.py +0 -0
  287. {vector-1.4.1 → vector-1.4.2}/tests/compute/planar/test_y.py +0 -0
  288. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/__init__.py +0 -0
  289. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_costheta.py +0 -0
  290. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_cottheta.py +0 -0
  291. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_cross.py +0 -0
  292. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_deltaR.py +0 -0
  293. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_deltaR2.py +0 -0
  294. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_deltaangle.py +0 -0
  295. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_deltaeta.py +0 -0
  296. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_eta.py +0 -0
  297. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_mag.py +0 -0
  298. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_mag2.py +0 -0
  299. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_rotateX.py +0 -0
  300. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_rotateY.py +0 -0
  301. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_rotate_axis.py +0 -0
  302. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_rotate_euler.py +0 -0
  303. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_rotate_quaternion.py +0 -0
  304. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_theta.py +0 -0
  305. {vector-1.4.1 → vector-1.4.2}/tests/compute/spatial/test_z.py +0 -0
  306. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/__init__.py +0 -0
  307. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_Mt.py +0 -0
  308. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_Mt2.py +0 -0
  309. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_boostX_beta.py +0 -0
  310. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_boostX_gamma.py +0 -0
  311. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_boostY_beta.py +0 -0
  312. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_boostY_gamma.py +0 -0
  313. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_boostZ_beta.py +0 -0
  314. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_boostZ_gamma.py +0 -0
  315. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_boost_beta3.py +0 -0
  316. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_boost_p4.py +0 -0
  317. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_deltaRapidityPhi.py +0 -0
  318. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_deltaRapidityPhi2.py +0 -0
  319. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_gamma.py +0 -0
  320. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_is_lightlike.py +0 -0
  321. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_is_spacelike.py +0 -0
  322. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_is_timelike.py +0 -0
  323. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_rapidity.py +0 -0
  324. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_t.py +0 -0
  325. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_t2.py +0 -0
  326. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_tau.py +0 -0
  327. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_tau2.py +0 -0
  328. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/lorentz/test_to_beta3.py +0 -0
  329. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/planar/__init__.py +0 -0
  330. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/planar/test_deltaphi.py +0 -0
  331. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/planar/test_phi.py +0 -0
  332. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/planar/test_rho.py +0 -0
  333. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/planar/test_rho2.py +0 -0
  334. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/planar/test_rotateZ.py +0 -0
  335. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/planar/test_x.py +0 -0
  336. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/planar/test_y.py +0 -0
  337. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/__init__.py +0 -0
  338. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_costheta.py +0 -0
  339. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_cottheta.py +0 -0
  340. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_cross.py +0 -0
  341. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_deltaR.py +0 -0
  342. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_deltaR2.py +0 -0
  343. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_deltaangle.py +0 -0
  344. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_deltaeta.py +0 -0
  345. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_eta.py +0 -0
  346. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_mag.py +0 -0
  347. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_mag2.py +0 -0
  348. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_rotateX.py +0 -0
  349. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_rotateY.py +0 -0
  350. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_rotate_axis.py +0 -0
  351. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_rotate_euler.py +0 -0
  352. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_rotate_quaternion.py +0 -0
  353. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_theta.py +0 -0
  354. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/spatial/test_z.py +0 -0
  355. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/test_add.py +0 -0
  356. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/test_conversions.py +0 -0
  357. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/test_dot.py +0 -0
  358. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/test_equal.py +0 -0
  359. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/test_is_antiparallel.py +0 -0
  360. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/test_is_parallel.py +0 -0
  361. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/test_is_perpendicular.py +0 -0
  362. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/test_not_equal.py +0 -0
  363. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/test_scale.py +0 -0
  364. {vector-1.4.1 → vector-1.4.2}/tests/compute/sympy/test_subtract.py +0 -0
  365. {vector-1.4.1 → vector-1.4.2}/tests/compute/test_add.py +0 -0
  366. {vector-1.4.1 → vector-1.4.2}/tests/compute/test_conversions.py +0 -0
  367. {vector-1.4.1 → vector-1.4.2}/tests/compute/test_dot.py +0 -0
  368. {vector-1.4.1 → vector-1.4.2}/tests/compute/test_equal.py +0 -0
  369. {vector-1.4.1 → vector-1.4.2}/tests/compute/test_is_antiparallel.py +0 -0
  370. {vector-1.4.1 → vector-1.4.2}/tests/compute/test_is_parallel.py +0 -0
  371. {vector-1.4.1 → vector-1.4.2}/tests/compute/test_is_perpendicular.py +0 -0
  372. {vector-1.4.1 → vector-1.4.2}/tests/compute/test_isclose.py +0 -0
  373. {vector-1.4.1 → vector-1.4.2}/tests/compute/test_not_equal.py +0 -0
  374. {vector-1.4.1 → vector-1.4.2}/tests/compute/test_scale.py +0 -0
  375. {vector-1.4.1 → vector-1.4.2}/tests/compute/test_subtract.py +0 -0
  376. {vector-1.4.1 → vector-1.4.2}/tests/samples/issue-161-v2.pkl +0 -0
  377. {vector-1.4.1 → vector-1.4.2}/tests/samples/issue-161.pkl +0 -0
  378. {vector-1.4.1 → vector-1.4.2}/tests/test_issues.py +0 -0
  379. {vector-1.4.1 → vector-1.4.2}/tests/test_methods.py +0 -0
@@ -25,7 +25,7 @@ jobs:
25
25
  run: pipx run twine check dist/*
26
26
 
27
27
  - name: Generate artifact attestation for sdist and wheel
28
- uses: actions/attest-build-provenance@49df96e17e918a15956db358890b08e61c704919 # v1.2.0
28
+ uses: actions/attest-build-provenance@6149ea5740be74af77f260b9db67e633f6b0a9a1 # v1.4.2
29
29
  with:
30
30
  subject-path: "dist/vector-*"
31
31
 
@@ -23,7 +23,6 @@ jobs:
23
23
  - uses: actions/setup-python@v5
24
24
  with:
25
25
  python-version: 3.x
26
- - uses: pre-commit/action@v3.0.1
27
26
  - name: PyLint
28
27
  run: |
29
28
  echo "::add-matcher::$GITHUB_WORKSPACE/.github/matchers/pylint.json"
@@ -91,10 +90,10 @@ jobs:
91
90
  - name: Install package
92
91
  run: python -m pip install -e .[dev]
93
92
 
94
- - name: Install awkward v1
95
- run: python -m pip install -U "awkward<2"
93
+ - name: Install awkward v1 and numpy v1
94
+ run: python -m pip install -U "awkward<2" "numpy<2"
96
95
 
97
- - name: Run doctests on Python 3.11 with awkward v1.x
96
+ - name: Run doctests on Python 3.11 with awkward v1.x and numpy v1.x
98
97
  if: matrix.python-version == '3.11'
99
98
  run: python -m pytest -ra --doctest-plus src/vector/
100
99
 
@@ -128,7 +127,7 @@ jobs:
128
127
  run: python -m pip install -e .[dev]
129
128
 
130
129
  - name: Install awkward v2
131
- run: python -m pip install -U --pre "awkward>=2.0.0rc1"
130
+ run: python -m pip install -U awkward "numpy<2.1"
132
131
 
133
132
  - name: Run doctests on Python 3.11 with awkward v2.x
134
133
  if: matrix.python-version == 3.11
@@ -137,16 +136,8 @@ jobs:
137
136
  - name: Test package with awkward v2.x
138
137
  run: python -m pytest -ra --cov=vector --ignore tests/test_notebooks.py .
139
138
 
140
- - name: Install numpy v2
141
- if: matrix.python-version != 3.8
142
- run: python -m pip install "numpy>=2.0.0b1"
143
-
144
- - name: Test package with numpy v2.x
145
- if: matrix.python-version != 3.8
146
- run: python -m pytest -ra --cov=vector --ignore tests/test_notebooks.py .
147
-
148
139
  - name: Upload coverage report
149
- uses: codecov/codecov-action@v4.4.1
140
+ uses: codecov/codecov-action@v4.5.0
150
141
  with:
151
142
  token: ${{ secrets.CODECOV_TOKEN }}
152
143
 
@@ -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.4.4"
22
+ rev: "v0.6.1"
23
23
  hooks:
24
24
  - id: ruff
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.10.0
29
+ rev: v1.11.1
30
30
  hooks:
31
31
  - id: mypy
32
32
  files: src
@@ -37,7 +37,7 @@ repos:
37
37
  - sympy
38
38
 
39
39
  - repo: https://github.com/codespell-project/codespell
40
- rev: v2.2.6
40
+ rev: v2.3.0
41
41
  hooks:
42
42
  - id: codespell
43
43
  exclude: ^docs/usage/intro.ipynb$
@@ -50,7 +50,7 @@ repos:
50
50
  exclude: assets/js/webapp\.js
51
51
 
52
52
  - repo: https://github.com/adamchainz/blacken-docs
53
- rev: 1.16.0
53
+ rev: 1.18.0
54
54
  hooks:
55
55
  - id: blacken-docs
56
56
  args: ["-E"]
@@ -66,7 +66,7 @@ repos:
66
66
  - id: rst-inline-touching-normal
67
67
 
68
68
  - repo: https://github.com/nbQA-dev/nbQA
69
- rev: 1.8.5
69
+ rev: 1.8.7
70
70
  hooks:
71
71
  - id: nbqa-pyupgrade
72
72
  args: ["--py37-plus"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: vector
3
- Version: 1.4.1
3
+ Version: 1.4.2
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
@@ -29,7 +29,7 @@ Classifier: Topic :: Scientific/Engineering :: Mathematics
29
29
  Classifier: Topic :: Scientific/Engineering :: Physics
30
30
  Classifier: Typing :: Typed
31
31
  Requires-Python: >=3.8
32
- Requires-Dist: numpy>=1.13.3
32
+ Requires-Dist: numpy<2.1,>=1.13.3
33
33
  Requires-Dist: packaging>=19
34
34
  Provides-Extra: awkward
35
35
  Requires-Dist: awkward>=1.2; extra == 'awkward'
@@ -78,7 +78,6 @@ Description-Content-Type: text/markdown
78
78
  [![codecov percentage][codecov-badge]][codecov-link]
79
79
  [![GitHub Discussion][github-discussions-badge]][github-discussions-link]
80
80
  [![Gitter][gitter-badge]][gitter-link]
81
- [![Code style: black][black-badge]][black-link]
82
81
 
83
82
  [![PyPI platforms][pypi-platforms]][pypi-link]
84
83
  [![PyPI version][pypi-version]][pypi-link]
@@ -99,7 +98,7 @@ Main features of Vector:
99
98
  - [SymPy](https://www.sympy.org/en/index.html) vectors
100
99
  - NumPy arrays of vectors (as a [structured array](https://numpy.org/doc/stable/user/basics.rec.html) subclass)
101
100
  - [Awkward Arrays](https://awkward-array.org/) of vectors
102
- - potential for more: CuPy, TensorFlow, Torch, JAX...
101
+ - potential for more: CuPy, TensorFlow, Torch...
103
102
  - Awkward backend also implemented in [Numba](https://numba.pydata.org/) for JIT-compiled calculations on vectors.
104
103
  - [JAX](https://awkward-array.org/doc/main/user-guide/how-to-specialize-differentiate-jax.html) and [Dask](https://dask-awkward.readthedocs.io/en/stable/) support through Awkward Arrays.
105
104
  - Distinction between geometrical vectors, which have a minimum of attribute and method names, and vectors representing momentum, which have synonyms like `pt` = `rho`, `energy` = `t`, `mass` = `tau`.
@@ -838,12 +837,15 @@ At the moment, it is possible to sub-class vector awkward mixins to extend the v
838
837
  For instance, the `MomentumAwkward` classes can be extended in the following way:
839
838
 
840
839
  ```py
841
- @ak.mixin_class(vector.backends.awkward.behavior)
840
+ behavior = vector.backends.awkward.behavior
841
+
842
+
843
+ @ak.mixin_class(behavior)
842
844
  class TwoVector(vector.backends.awkward.MomentumAwkward2D):
843
845
  pass
844
846
 
845
847
 
846
- @ak.mixin_class(vector.backends.awkward.behavior)
848
+ @ak.mixin_class(behavior)
847
849
  class ThreeVector(vector.backends.awkward.MomentumAwkward3D):
848
850
  pass
849
851
 
@@ -864,7 +866,7 @@ vec = ak.zip(
864
866
  "phi": [[1.2, 1.4], [], [1.6], [3.4]],
865
867
  },
866
868
  with_name="TwoVector",
867
- behavior=vector.backends.awkward.behavior,
869
+ behavior=behavior,
868
870
  )
869
871
 
870
872
  vec
@@ -879,7 +881,7 @@ vec.add(vec)
879
881
  Similarly, other vector methods can be used by the new methods internally.
880
882
 
881
883
  ```py
882
- @ak.mixin_class(vector.backends.awkward.behavior)
884
+ @ak.mixin_class(behavior)
883
885
  class LorentzVector(vector.backends.awkward.MomentumAwkward4D):
884
886
  @ak.mixin_class_method(np.divide, {numbers.Number})
885
887
  def divide(self, factor):
@@ -901,7 +903,7 @@ vec = ak.zip(
901
903
  "energy": [[50, 51], [], [52], [60]],
902
904
  },
903
905
  with_name="LorentzVector",
904
- behavior=vector.backends.awkward.behavior,
906
+ behavior=behavior,
905
907
  )
906
908
 
907
909
  vec / 2
@@ -922,8 +924,19 @@ _rank = [TwoVector, ThreeVector, LorentzVector]
922
924
  for lhs, lhs_to in _binary_dispatch_cls.items():
923
925
  for rhs, rhs_to in _binary_dispatch_cls.items():
924
926
  out_to = min(lhs_to, rhs_to, key=_rank.index)
925
- vector.backends.awkward.behavior[(np.add, lhs, rhs)] = out_to.add
926
- vector.backends.awkward.behavior[(np.subtract, lhs, rhs)] = out_to.subtract
927
+ behavior[(np.add, lhs, rhs)] = out_to.add
928
+ behavior[(np.subtract, lhs, rhs)] = out_to.subtract
929
+
930
+ vec + vec
931
+ vec.to_2D() + vec.to_2D()
932
+ ```
933
+
934
+ Finally, instead of manually registering the superclass ufuncs, one can use the utility `copy_behaviors` function to copy behavior items for a new subclass -
935
+
936
+ ```py
937
+ behavior.update(ak._util.copy_behaviors("Vector2D", "TwoVector", behavior))
938
+ behavior.update(ak._util.copy_behaviors("Vector3D", "ThreeVector", behavior))
939
+ behavior.update(ak._util.copy_behaviors("Momentum4D", "LorentzVector", behavior))
927
940
 
928
941
  vec + vec
929
942
  vec.to_2D() + vec.to_2D()
@@ -931,6 +944,7 @@ vec.to_2D() + vec.to_2D()
931
944
 
932
945
  ## Talks about vector
933
946
 
947
+ - 3rd July 2024 - [A new SymPy backend for vector: uniting experimental and theoretical physicists](https://indi.to/pfTC6) - [PyHEP 2024 (virtual)](https://indico.cern.ch/event/1384010/)
934
948
  - 9th October 2023 - [What’s new with Vector? First major release is out!](https://indi.to/35ym5) - [PyHEP 2023 (virtual)](https://indico.cern.ch/event/1252095/) [🎥](https://www.youtube.com/watch?v=JHEAb2R3xzE&list=PLKZ9c4ONm-VlAorAG8kR09ZqhMfHiH2LJ&index=10)
935
949
  - 13th September 2022 - [Constructing HEP vectors and analyzing HEP data using Vector](https://indi.to/bPmMc) - [PyHEP 2022 (virtual)](https://indico.cern.ch/event/1150631/) [🎥](https://www.youtube.com/watch?v=4iveMzrbe7s&list=PLKZ9c4ONm-VkohKG-skzEG_gklMaSgaO7&index=15)
936
950
  - 20th July 2022 - [Analysis Grand Challenge / HEP Scientific Python Ecosystem](https://indico.cern.ch/event/1151329/timetable/#3-analysis-grand-challenge-hep) - [DANCE/CoDaS@Snowmass 2022 computational and data science software training](https://indico.cern.ch/event/1151329/)
@@ -976,14 +990,12 @@ development environment.
976
990
 
977
991
  ## Acknowledgements
978
992
 
979
- This library was primarily developed by Jim Pivarski, Henry Schreiner, and Eduardo Rodrigues.
993
+ This library was primarily developed by Jim Pivarski, Henry Schreiner, Saransh Chopra, and Eduardo Rodrigues.
980
994
 
981
- Support for this work was provided by the National Science Foundation cooperative agreement OAC-1836650 (IRIS-HEP) and OAC-1450377 (DIANA/HEP). Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.
995
+ Support for this work was provided by the National Science Foundation cooperative agreement OAC-1836650 and PHY-2323298 (IRIS-HEP) and OAC-1450377 (DIANA/HEP). Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.
982
996
 
983
997
  [actions-badge]: https://github.com/scikit-hep/vector/actions/workflows/ci.yml/badge.svg
984
998
  [actions-link]: https://github.com/scikit-hep/vector/actions
985
- [black-badge]: https://img.shields.io/badge/code%20style-black-000000.svg
986
- [black-link]: https://github.com/psf/black
987
999
  [codecov-badge]: https://codecov.io/gh/scikit-hep/vector/branch/main/graph/badge.svg?token=YBv60ueORQ
988
1000
  [codecov-link]: https://codecov.io/gh/scikit-hep/vector
989
1001
  [conda-version]: https://img.shields.io/conda/vn/conda-forge/vector.svg
@@ -994,7 +1006,7 @@ Support for this work was provided by the National Science Foundation cooperativ
994
1006
  [gitter-link]: https://gitter.im/Scikit-HEP/vector?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
995
1007
  [license-badge]: https://img.shields.io/badge/License-BSD_3--Clause-blue.svg
996
1008
  [license-link]: https://opensource.org/licenses/BSD-3-Clause
997
- [pre-commit-badge]: https://results.pre-commit.ci/badge/github/scikit-hep/vector/develop.svg
1009
+ [pre-commit-badge]: https://results.pre-commit.ci/badge/github/scikit-hep/vector/main.svg
998
1010
  [pre-commit-link]: https://results.pre-commit.ci/repo/github/scikit-hep/vector
999
1011
  [pypi-link]: https://pypi.org/project/vector/
1000
1012
  [pypi-platforms]: https://img.shields.io/pypi/pyversions/vector
@@ -8,7 +8,6 @@
8
8
  [![codecov percentage][codecov-badge]][codecov-link]
9
9
  [![GitHub Discussion][github-discussions-badge]][github-discussions-link]
10
10
  [![Gitter][gitter-badge]][gitter-link]
11
- [![Code style: black][black-badge]][black-link]
12
11
 
13
12
  [![PyPI platforms][pypi-platforms]][pypi-link]
14
13
  [![PyPI version][pypi-version]][pypi-link]
@@ -29,7 +28,7 @@ Main features of Vector:
29
28
  - [SymPy](https://www.sympy.org/en/index.html) vectors
30
29
  - NumPy arrays of vectors (as a [structured array](https://numpy.org/doc/stable/user/basics.rec.html) subclass)
31
30
  - [Awkward Arrays](https://awkward-array.org/) of vectors
32
- - potential for more: CuPy, TensorFlow, Torch, JAX...
31
+ - potential for more: CuPy, TensorFlow, Torch...
33
32
  - Awkward backend also implemented in [Numba](https://numba.pydata.org/) for JIT-compiled calculations on vectors.
34
33
  - [JAX](https://awkward-array.org/doc/main/user-guide/how-to-specialize-differentiate-jax.html) and [Dask](https://dask-awkward.readthedocs.io/en/stable/) support through Awkward Arrays.
35
34
  - Distinction between geometrical vectors, which have a minimum of attribute and method names, and vectors representing momentum, which have synonyms like `pt` = `rho`, `energy` = `t`, `mass` = `tau`.
@@ -768,12 +767,15 @@ At the moment, it is possible to sub-class vector awkward mixins to extend the v
768
767
  For instance, the `MomentumAwkward` classes can be extended in the following way:
769
768
 
770
769
  ```py
771
- @ak.mixin_class(vector.backends.awkward.behavior)
770
+ behavior = vector.backends.awkward.behavior
771
+
772
+
773
+ @ak.mixin_class(behavior)
772
774
  class TwoVector(vector.backends.awkward.MomentumAwkward2D):
773
775
  pass
774
776
 
775
777
 
776
- @ak.mixin_class(vector.backends.awkward.behavior)
778
+ @ak.mixin_class(behavior)
777
779
  class ThreeVector(vector.backends.awkward.MomentumAwkward3D):
778
780
  pass
779
781
 
@@ -794,7 +796,7 @@ vec = ak.zip(
794
796
  "phi": [[1.2, 1.4], [], [1.6], [3.4]],
795
797
  },
796
798
  with_name="TwoVector",
797
- behavior=vector.backends.awkward.behavior,
799
+ behavior=behavior,
798
800
  )
799
801
 
800
802
  vec
@@ -809,7 +811,7 @@ vec.add(vec)
809
811
  Similarly, other vector methods can be used by the new methods internally.
810
812
 
811
813
  ```py
812
- @ak.mixin_class(vector.backends.awkward.behavior)
814
+ @ak.mixin_class(behavior)
813
815
  class LorentzVector(vector.backends.awkward.MomentumAwkward4D):
814
816
  @ak.mixin_class_method(np.divide, {numbers.Number})
815
817
  def divide(self, factor):
@@ -831,7 +833,7 @@ vec = ak.zip(
831
833
  "energy": [[50, 51], [], [52], [60]],
832
834
  },
833
835
  with_name="LorentzVector",
834
- behavior=vector.backends.awkward.behavior,
836
+ behavior=behavior,
835
837
  )
836
838
 
837
839
  vec / 2
@@ -852,8 +854,19 @@ _rank = [TwoVector, ThreeVector, LorentzVector]
852
854
  for lhs, lhs_to in _binary_dispatch_cls.items():
853
855
  for rhs, rhs_to in _binary_dispatch_cls.items():
854
856
  out_to = min(lhs_to, rhs_to, key=_rank.index)
855
- vector.backends.awkward.behavior[(np.add, lhs, rhs)] = out_to.add
856
- vector.backends.awkward.behavior[(np.subtract, lhs, rhs)] = out_to.subtract
857
+ behavior[(np.add, lhs, rhs)] = out_to.add
858
+ behavior[(np.subtract, lhs, rhs)] = out_to.subtract
859
+
860
+ vec + vec
861
+ vec.to_2D() + vec.to_2D()
862
+ ```
863
+
864
+ Finally, instead of manually registering the superclass ufuncs, one can use the utility `copy_behaviors` function to copy behavior items for a new subclass -
865
+
866
+ ```py
867
+ behavior.update(ak._util.copy_behaviors("Vector2D", "TwoVector", behavior))
868
+ behavior.update(ak._util.copy_behaviors("Vector3D", "ThreeVector", behavior))
869
+ behavior.update(ak._util.copy_behaviors("Momentum4D", "LorentzVector", behavior))
857
870
 
858
871
  vec + vec
859
872
  vec.to_2D() + vec.to_2D()
@@ -861,6 +874,7 @@ vec.to_2D() + vec.to_2D()
861
874
 
862
875
  ## Talks about vector
863
876
 
877
+ - 3rd July 2024 - [A new SymPy backend for vector: uniting experimental and theoretical physicists](https://indi.to/pfTC6) - [PyHEP 2024 (virtual)](https://indico.cern.ch/event/1384010/)
864
878
  - 9th October 2023 - [What’s new with Vector? First major release is out!](https://indi.to/35ym5) - [PyHEP 2023 (virtual)](https://indico.cern.ch/event/1252095/) [🎥](https://www.youtube.com/watch?v=JHEAb2R3xzE&list=PLKZ9c4ONm-VlAorAG8kR09ZqhMfHiH2LJ&index=10)
865
879
  - 13th September 2022 - [Constructing HEP vectors and analyzing HEP data using Vector](https://indi.to/bPmMc) - [PyHEP 2022 (virtual)](https://indico.cern.ch/event/1150631/) [🎥](https://www.youtube.com/watch?v=4iveMzrbe7s&list=PLKZ9c4ONm-VkohKG-skzEG_gklMaSgaO7&index=15)
866
880
  - 20th July 2022 - [Analysis Grand Challenge / HEP Scientific Python Ecosystem](https://indico.cern.ch/event/1151329/timetable/#3-analysis-grand-challenge-hep) - [DANCE/CoDaS@Snowmass 2022 computational and data science software training](https://indico.cern.ch/event/1151329/)
@@ -906,14 +920,12 @@ development environment.
906
920
 
907
921
  ## Acknowledgements
908
922
 
909
- This library was primarily developed by Jim Pivarski, Henry Schreiner, and Eduardo Rodrigues.
923
+ This library was primarily developed by Jim Pivarski, Henry Schreiner, Saransh Chopra, and Eduardo Rodrigues.
910
924
 
911
- Support for this work was provided by the National Science Foundation cooperative agreement OAC-1836650 (IRIS-HEP) and OAC-1450377 (DIANA/HEP). Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.
925
+ Support for this work was provided by the National Science Foundation cooperative agreement OAC-1836650 and PHY-2323298 (IRIS-HEP) and OAC-1450377 (DIANA/HEP). Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.
912
926
 
913
927
  [actions-badge]: https://github.com/scikit-hep/vector/actions/workflows/ci.yml/badge.svg
914
928
  [actions-link]: https://github.com/scikit-hep/vector/actions
915
- [black-badge]: https://img.shields.io/badge/code%20style-black-000000.svg
916
- [black-link]: https://github.com/psf/black
917
929
  [codecov-badge]: https://codecov.io/gh/scikit-hep/vector/branch/main/graph/badge.svg?token=YBv60ueORQ
918
930
  [codecov-link]: https://codecov.io/gh/scikit-hep/vector
919
931
  [conda-version]: https://img.shields.io/conda/vn/conda-forge/vector.svg
@@ -924,7 +936,7 @@ Support for this work was provided by the National Science Foundation cooperativ
924
936
  [gitter-link]: https://gitter.im/Scikit-HEP/vector?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
925
937
  [license-badge]: https://img.shields.io/badge/License-BSD_3--Clause-blue.svg
926
938
  [license-link]: https://opensource.org/licenses/BSD-3-Clause
927
- [pre-commit-badge]: https://results.pre-commit.ci/badge/github/scikit-hep/vector/develop.svg
939
+ [pre-commit-badge]: https://results.pre-commit.ci/badge/github/scikit-hep/vector/main.svg
928
940
  [pre-commit-link]: https://results.pre-commit.ci/repo/github/scikit-hep/vector
929
941
  [pypi-link]: https://pypi.org/project/vector/
930
942
  [pypi-platforms]: https://img.shields.io/pypi/pyversions/vector
@@ -2,6 +2,23 @@
2
2
 
3
3
  ## Version 1.4
4
4
 
5
+ ### Version 1.4.2
6
+
7
+ #### Fixes
8
+
9
+ - fix: depend on numpy<2.1 to support numba
10
+ - fix: fix ci for awkward v1.x (numpy v2 is out)
11
+ - fix: sympy tests (sympy v1.13)
12
+
13
+ #### Documentation
14
+
15
+ - docs: update intro notebook + readme
16
+
17
+ [#476]: https://github.com/scikit-hep/vector/pull/476
18
+ [#479]: https://github.com/scikit-hep/vector/pull/479
19
+ [#485]: https://github.com/scikit-hep/vector/pull/485
20
+ [#489]: https://github.com/scikit-hep/vector/pull/489
21
+
5
22
  ### Version 1.4.1
6
23
 
7
24
  #### Fixes
@@ -5,7 +5,7 @@
5
5
 
6
6
  .. image:: _images/vector-logo.png
7
7
 
8
- |Action status| |Documentation Status| |pre-commit.ci status| |coverage| |GitHub Discussion| |Gitter| |Code style: black|
8
+ |Action status| |Documentation Status| |pre-commit.ci status| |coverage| |GitHub Discussion| |Gitter|
9
9
 
10
10
  |PyPI platforms| |PyPI version| |Conda latest releasetatus| |DOI| |License| |Scikit-HEP|
11
11
 
@@ -21,10 +21,12 @@ Main features of Vector:
21
21
  * Uses names and conventions set by `ROOT <https://root.cern/>`_'s `TLorentzVector <https://root.cern.ch/doc/master/classTLorentzVector.html>`_ and `Math::LorentzVector <https://root.cern.ch/doc/master/classROOT_1_1Math_1_1LorentzVector.html>`_, as well as `scikit-hep/math <https://github.com/scikit-hep/scikit-hep/tree/master/skhep/math>`_, `uproot-methods TLorentzVector <https://github.com/scikit-hep/uproot3-methods/blob/master/uproot3_methods/classes/TLorentzVector.py>`_, `henryiii/hepvector <https://github.com/henryiii/hepvector>`_, and `coffea.nanoevents.methods.vector <https://coffeateam.github.io/coffea/modules/coffea.nanoevents.methods.vector.html>`_.
22
22
  * Implemented on a variety of backends:
23
23
  * pure Python objects
24
+ * `SymPy <https://www.sympy.org/en/index.html>`_ vectors
24
25
  * NumPy arrays of vectors (as a `structured array <https://numpy.org/doc/stable/user/basics.rec.html>`_ subclass)
25
26
  * `Awkward Arrays <https://awkward-array.org/>`_ of vectors
26
- * potential for more: CuPy, TensorFlow, Torch, JAX...
27
- * NumPy/Awkward backends also implemented in `Numba <https://numba.pydata.org/>`_ for JIT-compiled calculations on vectors.
27
+ * potential for more: CuPy, TensorFlow, Torch...
28
+ * Awkward and Object backends also implemented in `Numba <https://numba.pydata.org/>`_ for JIT-compiled calculations on vectors.
29
+ * `JAX <https://awkward-array.org/doc/main/user-guide/how-to-specialize-differentiate-jax.html>`_ and `Dask <https://dask-awkward.readthedocs.io/en/stable/>`_ support through Awkward Arrays.
28
30
  * Distinction between geometrical vectors, which have a minimum of attribute and method names, and vectors representing momentum, which have synonyms like ``pt`` = ``rho``, ``energy`` = ``t``, ``mass`` = ``tau``.
29
31
 
30
32
  Installation
@@ -115,14 +117,12 @@ The API reference details the functionality of each ``class`` and ``function`` p
115
117
  :target: https://github.com/scikit-hep/vector/actions
116
118
  .. |Documentation Status| image:: https://readthedocs.org/projects/vector/badge/?version=latest
117
119
  :target: https://vector.readthedocs.io/en/latest/?badge=latest
118
- .. |pre-commit.ci status| image:: https://results.pre-commit.ci/badge/github/scikit-hep/vector/develop.svg
120
+ .. |pre-commit.ci status| image:: https://results.pre-commit.ci/badge/github/scikit-hep/vector/main.svg
119
121
  :target: https://results.pre-commit.ci/repo/github/scikit-hep/vector
120
122
  .. |GitHub Discussion| image:: https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
121
123
  :target: https://github.com/scikit-hep/vector/discussions
122
124
  .. |Gitter| image:: https://badges.gitter.im/Scikit-HEP/vector.svg
123
125
  :target: https://gitter.im/Scikit-HEP/vector?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
124
- .. |Code style: black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
125
- :target: https://github.com/psf/black
126
126
  .. |PyPI platforms| image:: https://img.shields.io/pypi/pyversions/vector
127
127
  :target: https://pypi.org/project/vector/
128
128
  .. |PyPI version| image:: https://badge.fury.io/py/vector.svg