vector 1.4.2__tar.gz → 1.5.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. {vector-1.4.2 → vector-1.5.0}/.github/workflows/ci.yml +17 -66
  2. {vector-1.4.2 → vector-1.5.0}/.github/workflows/notebooks.yml +7 -13
  3. {vector-1.4.2 → vector-1.5.0}/PKG-INFO +7 -7
  4. {vector-1.4.2 → vector-1.5.0}/README.md +1 -1
  5. {vector-1.4.2 → vector-1.5.0}/docs/changelog.md +10 -0
  6. {vector-1.4.2 → vector-1.5.0}/docs/usage/intro.ipynb +1 -1
  7. {vector-1.4.2 → vector-1.5.0}/noxfile.py +9 -8
  8. {vector-1.4.2 → vector-1.5.0}/pyproject.toml +5 -5
  9. {vector-1.4.2 → vector-1.5.0}/src/vector/__init__.py +2 -10
  10. {vector-1.4.2 → vector-1.5.0}/src/vector/_version.py +2 -2
  11. {vector-1.4.2 → vector-1.5.0}/src/vector/backends/awkward.py +5 -25
  12. {vector-1.4.2 → vector-1.5.0}/src/vector/backends/awkward_constructors.py +4 -21
  13. {vector-1.4.2 → vector-1.5.0}/tests/backends/test_awkward.py +24 -29
  14. {vector-1.4.2 → vector-1.5.0}/tests/test_issues.py +1 -5
  15. vector-1.4.2/tests/samples/issue-161.pkl +0 -0
  16. {vector-1.4.2 → vector-1.5.0}/.all-contributorsrc +0 -0
  17. {vector-1.4.2 → vector-1.5.0}/.git_archival.txt +0 -0
  18. {vector-1.4.2 → vector-1.5.0}/.gitattributes +0 -0
  19. {vector-1.4.2 → vector-1.5.0}/.github/CONTRIBUTING.md +0 -0
  20. {vector-1.4.2 → vector-1.5.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  21. {vector-1.4.2 → vector-1.5.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  22. {vector-1.4.2 → vector-1.5.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  23. {vector-1.4.2 → vector-1.5.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  24. {vector-1.4.2 → vector-1.5.0}/.github/codecov.yml +0 -0
  25. {vector-1.4.2 → vector-1.5.0}/.github/dependabot.yml +0 -0
  26. {vector-1.4.2 → vector-1.5.0}/.github/matchers/pylint.json +0 -0
  27. {vector-1.4.2 → vector-1.5.0}/.github/workflows/cd.yml +0 -0
  28. {vector-1.4.2 → vector-1.5.0}/.gitignore +0 -0
  29. {vector-1.4.2 → vector-1.5.0}/.pre-commit-config.yaml +0 -0
  30. {vector-1.4.2 → vector-1.5.0}/.readthedocs.yml +0 -0
  31. {vector-1.4.2 → vector-1.5.0}/CITATION.cff +0 -0
  32. {vector-1.4.2 → vector-1.5.0}/LICENSE +0 -0
  33. {vector-1.4.2 → vector-1.5.0}/docs/Makefile +0 -0
  34. {vector-1.4.2 → vector-1.5.0}/docs/_images/LogoSrc.svg +0 -0
  35. {vector-1.4.2 → vector-1.5.0}/docs/_images/vector-logo.png +0 -0
  36. {vector-1.4.2 → vector-1.5.0}/docs/api/backends/vector.backends._numba.rst +0 -0
  37. {vector-1.4.2 → vector-1.5.0}/docs/api/backends/vector.backends._numba_object.rst +0 -0
  38. {vector-1.4.2 → vector-1.5.0}/docs/api/backends/vector.backends.awkward.rst +0 -0
  39. {vector-1.4.2 → vector-1.5.0}/docs/api/backends/vector.backends.awkward_constructors.rst +0 -0
  40. {vector-1.4.2 → vector-1.5.0}/docs/api/backends/vector.backends.numba_numpy.rst +0 -0
  41. {vector-1.4.2 → vector-1.5.0}/docs/api/backends/vector.backends.numpy.rst +0 -0
  42. {vector-1.4.2 → vector-1.5.0}/docs/api/backends/vector.backends.object.rst +0 -0
  43. {vector-1.4.2 → vector-1.5.0}/docs/api/backends/vector.backends.rst +0 -0
  44. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.Et.rst +0 -0
  45. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.Et2.rst +0 -0
  46. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.Mt.rst +0 -0
  47. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.Mt2.rst +0 -0
  48. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.add.rst +0 -0
  49. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.beta.rst +0 -0
  50. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.boostX_beta.rst +0 -0
  51. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.boostX_gamma.rst +0 -0
  52. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.boostY_beta.rst +0 -0
  53. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.boostY_gamma.rst +0 -0
  54. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.boostZ_beta.rst +0 -0
  55. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.boostZ_gamma.rst +0 -0
  56. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.boost_beta3.rst +0 -0
  57. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.boost_p4.rst +0 -0
  58. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.deltaRapidityPhi.rst +0 -0
  59. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.deltaRapidityPhi2.rst +0 -0
  60. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.dot.rst +0 -0
  61. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.equal.rst +0 -0
  62. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.gamma.rst +0 -0
  63. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.is_lightlike.rst +0 -0
  64. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.is_spacelike.rst +0 -0
  65. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.is_timelike.rst +0 -0
  66. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.isclose.rst +0 -0
  67. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.not_equal.rst +0 -0
  68. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.rapidity.rst +0 -0
  69. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.rst +0 -0
  70. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.scale.rst +0 -0
  71. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.subtract.rst +0 -0
  72. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.t.rst +0 -0
  73. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.t2.rst +0 -0
  74. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.tau.rst +0 -0
  75. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.tau2.rst +0 -0
  76. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.to_beta3.rst +0 -0
  77. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.transform4D.rst +0 -0
  78. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/lorentz/vector._compute.lorentz.unit.rst +0 -0
  79. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.add.rst +0 -0
  80. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.deltaphi.rst +0 -0
  81. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.dot.rst +0 -0
  82. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.equal.rst +0 -0
  83. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.is_antiparallel.rst +0 -0
  84. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.is_parallel.rst +0 -0
  85. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.is_perpendicular.rst +0 -0
  86. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.isclose.rst +0 -0
  87. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.not_equal.rst +0 -0
  88. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.phi.rst +0 -0
  89. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.rho.rst +0 -0
  90. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.rho2.rst +0 -0
  91. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.rotateZ.rst +0 -0
  92. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.rst +0 -0
  93. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.scale.rst +0 -0
  94. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.subtract.rst +0 -0
  95. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.transform2D.rst +0 -0
  96. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.unit.rst +0 -0
  97. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.x.rst +0 -0
  98. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/planar/vector._compute.planar.y.rst +0 -0
  99. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.add.rst +0 -0
  100. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.costheta.rst +0 -0
  101. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.cottheta.rst +0 -0
  102. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.cross.rst +0 -0
  103. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.deltaR.rst +0 -0
  104. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.deltaR2.rst +0 -0
  105. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.deltaangle.rst +0 -0
  106. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.deltaeta.rst +0 -0
  107. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.dot.rst +0 -0
  108. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.equal.rst +0 -0
  109. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.eta.rst +0 -0
  110. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.is_antiparallel.rst +0 -0
  111. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.is_parallel.rst +0 -0
  112. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.is_perpendicular.rst +0 -0
  113. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.isclose.rst +0 -0
  114. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.mag.rst +0 -0
  115. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.mag2.rst +0 -0
  116. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.not_equal.rst +0 -0
  117. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.rotateX.rst +0 -0
  118. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.rotateY.rst +0 -0
  119. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.rotate_axis.rst +0 -0
  120. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.rotate_euler.rst +0 -0
  121. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.rotate_quaternion.rst +0 -0
  122. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.rst +0 -0
  123. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.scale.rst +0 -0
  124. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.subtract.rst +0 -0
  125. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.theta.rst +0 -0
  126. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.transform3D.rst +0 -0
  127. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.unit.rst +0 -0
  128. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/spatial/vector._compute.spatial.z.rst +0 -0
  129. {vector-1.4.2 → vector-1.5.0}/docs/api/compute/vector._compute.rst +0 -0
  130. {vector-1.4.2 → vector-1.5.0}/docs/api/inheritance.svg +0 -0
  131. {vector-1.4.2 → vector-1.5.0}/docs/api/modules.rst +0 -0
  132. {vector-1.4.2 → vector-1.5.0}/docs/api/vector._methods.rst +0 -0
  133. {vector-1.4.2 → vector-1.5.0}/docs/api/vector._typeutils.rst +0 -0
  134. {vector-1.4.2 → vector-1.5.0}/docs/api/vector.rst +0 -0
  135. {vector-1.4.2 → vector-1.5.0}/docs/conf.py +0 -0
  136. {vector-1.4.2 → vector-1.5.0}/docs/index.rst +0 -0
  137. {vector-1.4.2 → vector-1.5.0}/docs/make.bat +0 -0
  138. {vector-1.4.2 → vector-1.5.0}/docs/usage/structure.md +0 -0
  139. {vector-1.4.2 → vector-1.5.0}/environment.yml +0 -0
  140. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/__init__.py +0 -0
  141. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/Et.py +0 -0
  142. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/Et2.py +0 -0
  143. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/Mt.py +0 -0
  144. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/Mt2.py +0 -0
  145. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/__init__.py +0 -0
  146. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/add.py +0 -0
  147. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/beta.py +0 -0
  148. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/boostX_beta.py +0 -0
  149. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/boostX_gamma.py +0 -0
  150. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/boostY_beta.py +0 -0
  151. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/boostY_gamma.py +0 -0
  152. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/boostZ_beta.py +0 -0
  153. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/boostZ_gamma.py +0 -0
  154. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/boost_beta3.py +0 -0
  155. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/boost_p4.py +0 -0
  156. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/deltaRapidityPhi.py +0 -0
  157. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/deltaRapidityPhi2.py +0 -0
  158. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/dot.py +0 -0
  159. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/equal.py +0 -0
  160. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/gamma.py +0 -0
  161. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/is_lightlike.py +0 -0
  162. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/is_spacelike.py +0 -0
  163. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/is_timelike.py +0 -0
  164. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/isclose.py +0 -0
  165. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/not_equal.py +0 -0
  166. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/rapidity.py +0 -0
  167. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/scale.py +0 -0
  168. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/subtract.py +0 -0
  169. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/t.py +0 -0
  170. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/t2.py +0 -0
  171. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/tau.py +0 -0
  172. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/tau2.py +0 -0
  173. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/to_beta3.py +0 -0
  174. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/transform4D.py +0 -0
  175. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/lorentz/unit.py +0 -0
  176. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/__init__.py +0 -0
  177. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/add.py +0 -0
  178. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/deltaphi.py +0 -0
  179. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/dot.py +0 -0
  180. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/equal.py +0 -0
  181. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/is_antiparallel.py +0 -0
  182. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/is_parallel.py +0 -0
  183. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/is_perpendicular.py +0 -0
  184. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/isclose.py +0 -0
  185. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/not_equal.py +0 -0
  186. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/phi.py +0 -0
  187. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/rho.py +0 -0
  188. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/rho2.py +0 -0
  189. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/rotateZ.py +0 -0
  190. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/scale.py +0 -0
  191. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/subtract.py +0 -0
  192. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/transform2D.py +0 -0
  193. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/unit.py +0 -0
  194. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/x.py +0 -0
  195. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/planar/y.py +0 -0
  196. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/__init__.py +0 -0
  197. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/add.py +0 -0
  198. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/costheta.py +0 -0
  199. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/cottheta.py +0 -0
  200. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/cross.py +0 -0
  201. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/deltaR.py +0 -0
  202. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/deltaR2.py +0 -0
  203. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/deltaangle.py +0 -0
  204. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/deltaeta.py +0 -0
  205. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/dot.py +0 -0
  206. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/equal.py +0 -0
  207. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/eta.py +0 -0
  208. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/is_antiparallel.py +0 -0
  209. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/is_parallel.py +0 -0
  210. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/is_perpendicular.py +0 -0
  211. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/isclose.py +0 -0
  212. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/mag.py +0 -0
  213. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/mag2.py +0 -0
  214. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/not_equal.py +0 -0
  215. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/rotateX.py +0 -0
  216. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/rotateY.py +0 -0
  217. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/rotate_axis.py +0 -0
  218. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/rotate_euler.py +0 -0
  219. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/rotate_quaternion.py +0 -0
  220. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/scale.py +0 -0
  221. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/subtract.py +0 -0
  222. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/theta.py +0 -0
  223. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/transform3D.py +0 -0
  224. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/unit.py +0 -0
  225. {vector-1.4.2 → vector-1.5.0}/src/vector/_compute/spatial/z.py +0 -0
  226. {vector-1.4.2 → vector-1.5.0}/src/vector/_lib.py +0 -0
  227. {vector-1.4.2 → vector-1.5.0}/src/vector/_methods.py +0 -0
  228. {vector-1.4.2 → vector-1.5.0}/src/vector/_typeutils.py +0 -0
  229. {vector-1.4.2 → vector-1.5.0}/src/vector/backends/__init__.py +0 -0
  230. {vector-1.4.2 → vector-1.5.0}/src/vector/backends/_numba.py +0 -0
  231. {vector-1.4.2 → vector-1.5.0}/src/vector/backends/_numba_object.py +0 -0
  232. {vector-1.4.2 → vector-1.5.0}/src/vector/backends/numba_numpy.py +0 -0
  233. {vector-1.4.2 → vector-1.5.0}/src/vector/backends/numpy.py +0 -0
  234. {vector-1.4.2 → vector-1.5.0}/src/vector/backends/object.py +0 -0
  235. {vector-1.4.2 → vector-1.5.0}/src/vector/backends/sympy.py +0 -0
  236. {vector-1.4.2 → vector-1.5.0}/src/vector/py.typed +0 -0
  237. {vector-1.4.2 → vector-1.5.0}/src/vector/version.pyi +0 -0
  238. {vector-1.4.2 → vector-1.5.0}/tests/__init__.py +0 -0
  239. {vector-1.4.2 → vector-1.5.0}/tests/backends/__init__.py +0 -0
  240. {vector-1.4.2 → vector-1.5.0}/tests/backends/test_awkward_numba.py +0 -0
  241. {vector-1.4.2 → vector-1.5.0}/tests/backends/test_dask_awkward.py +0 -0
  242. {vector-1.4.2 → vector-1.5.0}/tests/backends/test_numba_numpy.py +0 -0
  243. {vector-1.4.2 → vector-1.5.0}/tests/backends/test_numba_object.py +0 -0
  244. {vector-1.4.2 → vector-1.5.0}/tests/backends/test_numpy.py +0 -0
  245. {vector-1.4.2 → vector-1.5.0}/tests/backends/test_object.py +0 -0
  246. {vector-1.4.2 → vector-1.5.0}/tests/backends/test_operators.py +0 -0
  247. {vector-1.4.2 → vector-1.5.0}/tests/backends/test_sympy.py +0 -0
  248. {vector-1.4.2 → vector-1.5.0}/tests/compute/__init__.py +0 -0
  249. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/__init__.py +0 -0
  250. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_Et.py +0 -0
  251. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_Et2.py +0 -0
  252. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_Mt.py +0 -0
  253. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_Mt2.py +0 -0
  254. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_beta.py +0 -0
  255. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_boostX_beta.py +0 -0
  256. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_boostX_gamma.py +0 -0
  257. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_boostY_beta.py +0 -0
  258. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_boostY_gamma.py +0 -0
  259. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_boostZ_beta.py +0 -0
  260. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_boostZ_gamma.py +0 -0
  261. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_boost_beta3.py +0 -0
  262. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_boost_p4.py +0 -0
  263. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_deltaRapidityPhi.py +0 -0
  264. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_deltaRapidityPhi2.py +0 -0
  265. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_gamma.py +0 -0
  266. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_is_lightlike.py +0 -0
  267. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_is_spacelike.py +0 -0
  268. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_is_timelike.py +0 -0
  269. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_rapidity.py +0 -0
  270. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_t.py +0 -0
  271. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_t2.py +0 -0
  272. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_tau.py +0 -0
  273. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_tau2.py +0 -0
  274. {vector-1.4.2 → vector-1.5.0}/tests/compute/lorentz/test_to_beta3.py +0 -0
  275. {vector-1.4.2 → vector-1.5.0}/tests/compute/planar/__init__.py +0 -0
  276. {vector-1.4.2 → vector-1.5.0}/tests/compute/planar/test_deltaphi.py +0 -0
  277. {vector-1.4.2 → vector-1.5.0}/tests/compute/planar/test_phi.py +0 -0
  278. {vector-1.4.2 → vector-1.5.0}/tests/compute/planar/test_rho.py +0 -0
  279. {vector-1.4.2 → vector-1.5.0}/tests/compute/planar/test_rho2.py +0 -0
  280. {vector-1.4.2 → vector-1.5.0}/tests/compute/planar/test_rotateZ.py +0 -0
  281. {vector-1.4.2 → vector-1.5.0}/tests/compute/planar/test_x.py +0 -0
  282. {vector-1.4.2 → vector-1.5.0}/tests/compute/planar/test_y.py +0 -0
  283. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/__init__.py +0 -0
  284. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_costheta.py +0 -0
  285. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_cottheta.py +0 -0
  286. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_cross.py +0 -0
  287. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_deltaR.py +0 -0
  288. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_deltaR2.py +0 -0
  289. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_deltaangle.py +0 -0
  290. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_deltaeta.py +0 -0
  291. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_eta.py +0 -0
  292. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_mag.py +0 -0
  293. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_mag2.py +0 -0
  294. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_rotateX.py +0 -0
  295. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_rotateY.py +0 -0
  296. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_rotate_axis.py +0 -0
  297. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_rotate_euler.py +0 -0
  298. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_rotate_quaternion.py +0 -0
  299. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_theta.py +0 -0
  300. {vector-1.4.2 → vector-1.5.0}/tests/compute/spatial/test_z.py +0 -0
  301. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/__init__.py +0 -0
  302. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_Et.py +0 -0
  303. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_Et2.py +0 -0
  304. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_Mt.py +0 -0
  305. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_Mt2.py +0 -0
  306. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_beta.py +0 -0
  307. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_boostX_beta.py +0 -0
  308. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_boostX_gamma.py +0 -0
  309. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_boostY_beta.py +0 -0
  310. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_boostY_gamma.py +0 -0
  311. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_boostZ_beta.py +0 -0
  312. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_boostZ_gamma.py +0 -0
  313. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_boost_beta3.py +0 -0
  314. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_boost_p4.py +0 -0
  315. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_deltaRapidityPhi.py +0 -0
  316. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_deltaRapidityPhi2.py +0 -0
  317. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_gamma.py +0 -0
  318. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_is_lightlike.py +0 -0
  319. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_is_spacelike.py +0 -0
  320. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_is_timelike.py +0 -0
  321. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_rapidity.py +0 -0
  322. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_t.py +0 -0
  323. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_t2.py +0 -0
  324. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_tau.py +0 -0
  325. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_tau2.py +0 -0
  326. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/lorentz/test_to_beta3.py +0 -0
  327. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/planar/__init__.py +0 -0
  328. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/planar/test_deltaphi.py +0 -0
  329. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/planar/test_phi.py +0 -0
  330. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/planar/test_rho.py +0 -0
  331. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/planar/test_rho2.py +0 -0
  332. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/planar/test_rotateZ.py +0 -0
  333. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/planar/test_x.py +0 -0
  334. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/planar/test_y.py +0 -0
  335. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/__init__.py +0 -0
  336. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_costheta.py +0 -0
  337. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_cottheta.py +0 -0
  338. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_cross.py +0 -0
  339. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_deltaR.py +0 -0
  340. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_deltaR2.py +0 -0
  341. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_deltaangle.py +0 -0
  342. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_deltaeta.py +0 -0
  343. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_eta.py +0 -0
  344. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_mag.py +0 -0
  345. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_mag2.py +0 -0
  346. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_rotateX.py +0 -0
  347. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_rotateY.py +0 -0
  348. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_rotate_axis.py +0 -0
  349. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_rotate_euler.py +0 -0
  350. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_rotate_quaternion.py +0 -0
  351. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_theta.py +0 -0
  352. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/spatial/test_z.py +0 -0
  353. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/test_add.py +0 -0
  354. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/test_conversions.py +0 -0
  355. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/test_dot.py +0 -0
  356. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/test_equal.py +0 -0
  357. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/test_is_antiparallel.py +0 -0
  358. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/test_is_parallel.py +0 -0
  359. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/test_is_perpendicular.py +0 -0
  360. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/test_not_equal.py +0 -0
  361. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/test_scale.py +0 -0
  362. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/test_subtract.py +0 -0
  363. {vector-1.4.2 → vector-1.5.0}/tests/compute/sympy/test_unit.py +0 -0
  364. {vector-1.4.2 → vector-1.5.0}/tests/compute/test_add.py +0 -0
  365. {vector-1.4.2 → vector-1.5.0}/tests/compute/test_conversions.py +0 -0
  366. {vector-1.4.2 → vector-1.5.0}/tests/compute/test_dot.py +0 -0
  367. {vector-1.4.2 → vector-1.5.0}/tests/compute/test_equal.py +0 -0
  368. {vector-1.4.2 → vector-1.5.0}/tests/compute/test_is_antiparallel.py +0 -0
  369. {vector-1.4.2 → vector-1.5.0}/tests/compute/test_is_parallel.py +0 -0
  370. {vector-1.4.2 → vector-1.5.0}/tests/compute/test_is_perpendicular.py +0 -0
  371. {vector-1.4.2 → vector-1.5.0}/tests/compute/test_isclose.py +0 -0
  372. {vector-1.4.2 → vector-1.5.0}/tests/compute/test_not_equal.py +0 -0
  373. {vector-1.4.2 → vector-1.5.0}/tests/compute/test_scale.py +0 -0
  374. {vector-1.4.2 → vector-1.5.0}/tests/compute/test_subtract.py +0 -0
  375. {vector-1.4.2 → vector-1.5.0}/tests/compute/test_unit.py +0 -0
  376. {vector-1.4.2 → vector-1.5.0}/tests/samples/issue-161-v2.pkl +0 -0
  377. {vector-1.4.2 → vector-1.5.0}/tests/test_compute_features.py +0 -0
  378. {vector-1.4.2 → vector-1.5.0}/tests/test_methods.py +0 -0
  379. {vector-1.4.2 → vector-1.5.0}/tests/test_notebooks.py +0 -0
@@ -14,6 +14,11 @@ concurrency:
14
14
  group: ${{ github.workflow }}-${{ github.ref }}
15
15
  cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
16
16
 
17
+ env:
18
+ # The "FORCE_COLOR" variable, when set to 1,
19
+ # tells Nox to colorize itself.
20
+ FORCE_COLOR: "1"
21
+
17
22
  jobs:
18
23
  pre-commit:
19
24
  runs-on: ubuntu-latest
@@ -28,44 +33,7 @@ jobs:
28
33
  echo "::add-matcher::$GITHUB_WORKSPACE/.github/matchers/pylint.json"
29
34
  pipx run nox -s pylint
30
35
 
31
- check-light:
32
- runs-on: ubuntu-latest
33
- strategy:
34
- fail-fast: false
35
- matrix:
36
- python-version:
37
- - "3.8"
38
- - "3.9"
39
- - "3.10"
40
- - "3.11"
41
- - "3.12"
42
- name: Python ${{ matrix.python-version }} - Light
43
- steps:
44
- - uses: actions/checkout@v4
45
-
46
- - uses: actions/setup-python@v5
47
- with:
48
- python-version: ${{ matrix.python-version }}
49
-
50
- - name: Requirements check
51
- run: python -m pip list
52
-
53
- - name: Install package
54
- run: python -m pip install -e .[test]
55
-
56
- - name: Test light package
57
- run: python -m pytest -ra --ignore tests/test_notebooks.py
58
-
59
- - name: Install numpy v2
60
- if: matrix.python-version != 3.8
61
- run: python -m pip install "numpy>=2.0.0b1"
62
-
63
- - name: Test light package with numpy v2.x
64
- if: matrix.python-version != 3.8
65
- run: python -m pytest -ra --ignore tests/test_notebooks.py
66
-
67
- check-awkward-v1:
68
- needs: [check-light]
36
+ check-lite:
69
37
  runs-on: ubuntu-latest
70
38
  strategy:
71
39
  fail-fast: false
@@ -76,7 +44,7 @@ jobs:
76
44
  - "3.10"
77
45
  - "3.11"
78
46
  - "3.12"
79
- name: Python ${{ matrix.python-version }} - Awkward v1
47
+ name: Python ${{ matrix.python-version }} - Lite
80
48
  steps:
81
49
  - uses: actions/checkout@v4
82
50
 
@@ -87,21 +55,11 @@ jobs:
87
55
  - name: Requirements check
88
56
  run: python -m pip list
89
57
 
90
- - name: Install package
91
- run: python -m pip install -e .[dev]
92
-
93
- - name: Install awkward v1 and numpy v1
94
- run: python -m pip install -U "awkward<2" "numpy<2"
95
-
96
- - name: Run doctests on Python 3.11 with awkward v1.x and numpy v1.x
97
- if: matrix.python-version == '3.11'
98
- run: python -m pytest -ra --doctest-plus src/vector/
58
+ - name: Test lite package
59
+ run: pipx run nox -s lite-${{ matrix.python-version.key || matrix.python-version }} --verbose
99
60
 
100
- - name: Test package with awkward v1.x
101
- run: python -m pytest -ra --cov=vector --ignore tests/test_notebooks.py .
102
-
103
- check-awkward-v2:
104
- needs: [check-light]
61
+ check-full:
62
+ needs: [check-lite]
105
63
  runs-on: ubuntu-latest
106
64
  strategy:
107
65
  fail-fast: false
@@ -112,7 +70,7 @@ jobs:
112
70
  - "3.10"
113
71
  - "3.11"
114
72
  - "3.12"
115
- name: Python ${{ matrix.python-version }} - Awkward v2
73
+ name: Python ${{ matrix.python-version }} - Full
116
74
  steps:
117
75
  - uses: actions/checkout@v4
118
76
 
@@ -123,18 +81,12 @@ jobs:
123
81
  - name: Requirements check
124
82
  run: python -m pip list
125
83
 
126
- - name: Install package
127
- run: python -m pip install -e .[dev]
128
-
129
- - name: Install awkward v2
130
- run: python -m pip install -U awkward "numpy<2.1"
131
-
132
- - name: Run doctests on Python 3.11 with awkward v2.x
84
+ - name: Run doctests on Python 3.11
133
85
  if: matrix.python-version == 3.11
134
- run: python -m pytest -ra --doctest-plus src/vector/
86
+ run: pipx run nox -s doctests-${{ matrix.python-version.key || matrix.python-version }} --verbose
135
87
 
136
- - name: Test package with awkward v2.x
137
- run: python -m pytest -ra --cov=vector --ignore tests/test_notebooks.py .
88
+ - name: Test package and generate coverage report
89
+ run: pipx run nox -s coverage-${{ matrix.python-version.key || matrix.python-version }} --verbose
138
90
 
139
91
  - name: Upload coverage report
140
92
  uses: codecov/codecov-action@v4.5.0
@@ -161,8 +113,7 @@ jobs:
161
113
  run: python -m pytest -ra -m dis --ignore tests/test_notebooks.py
162
114
 
163
115
  pass:
164
- needs:
165
- [pre-commit, check-light, check-awkward-v1, check-awkward-v2, discheck]
116
+ needs: [pre-commit, check-lite, check-full, discheck]
166
117
  runs-on: ubuntu-latest
167
118
  steps:
168
119
  - run: echo "All jobs passed"
@@ -11,12 +11,14 @@ concurrency:
11
11
  group: ${{ github.workflow }}-${{ github.ref }}
12
12
  cancel-in-progress: true
13
13
 
14
+ env:
15
+ # The "FORCE_COLOR" variable, when set to 1,
16
+ # tells Nox to colorize itself.
17
+ FORCE_COLOR: "1"
18
+
14
19
  jobs:
15
20
  test:
16
21
  runs-on: ubuntu-latest
17
- strategy:
18
- matrix:
19
- python-version: ["3.10"]
20
22
 
21
23
  steps:
22
24
  - uses: actions/checkout@v4
@@ -24,18 +26,10 @@ jobs:
24
26
  - name: Set up Python
25
27
  uses: actions/setup-python@v5
26
28
  with:
27
- python-version: ${{ matrix.python-version }}
28
-
29
- - name: Install dependencies
30
- run: |
31
- python -m pip install --upgrade pip setuptools wheel
32
- python -m pip install --upgrade .[dev]
33
- python -m pip install numba uproot
34
- python -m pip install jupyter papermill
29
+ python-version: "3.10"
35
30
 
36
31
  - name: List installed Python packages
37
32
  run: python -m pip list
38
33
 
39
34
  - name: Test example notebooks
40
- run: |
41
- pytest tests/test_notebooks.py
35
+ run: pipx run nox -s notebooks
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: vector
3
- Version: 1.4.2
3
+ Version: 1.5.0
4
4
  Summary: Vector classes and utilities
5
5
  Project-URL: Bug Tracker, https://github.com/scikit-hep/vector/issues
6
6
  Project-URL: Changelog, https://vector.readthedocs.io/en/latest/changelog.html
@@ -32,9 +32,9 @@ Requires-Python: >=3.8
32
32
  Requires-Dist: numpy<2.1,>=1.13.3
33
33
  Requires-Dist: packaging>=19
34
34
  Provides-Extra: awkward
35
- Requires-Dist: awkward>=1.2; extra == 'awkward'
35
+ Requires-Dist: awkward>=2; extra == 'awkward'
36
36
  Provides-Extra: dev
37
- Requires-Dist: awkward>=1.2; extra == 'dev'
37
+ Requires-Dist: awkward>=2; extra == 'dev'
38
38
  Requires-Dist: dask-awkward; extra == 'dev'
39
39
  Requires-Dist: nox; extra == 'dev'
40
40
  Requires-Dist: numba>=0.57; (python_version < '3.12') and extra == 'dev'
@@ -44,7 +44,7 @@ Requires-Dist: pytest-doctestplus; extra == 'dev'
44
44
  Requires-Dist: pytest>=6; extra == 'dev'
45
45
  Requires-Dist: sympy; extra == 'dev'
46
46
  Provides-Extra: docs
47
- Requires-Dist: awkward>=1.2; extra == 'docs'
47
+ Requires-Dist: awkward>=2; extra == 'docs'
48
48
  Requires-Dist: ipykernel; extra == 'docs'
49
49
  Requires-Dist: myst-parser>0.13; extra == 'docs'
50
50
  Requires-Dist: nbsphinx; extra == 'docs'
@@ -57,15 +57,15 @@ Requires-Dist: numba>=0.57; (python_version < '3.12') and extra == 'numba'
57
57
  Provides-Extra: sympy
58
58
  Requires-Dist: sympy; extra == 'sympy'
59
59
  Provides-Extra: test
60
- Requires-Dist: dask-awkward; extra == 'test'
61
60
  Requires-Dist: nox; extra == 'test'
62
61
  Requires-Dist: papermill>=2.4; extra == 'test'
63
62
  Requires-Dist: pytest-cov>=3; extra == 'test'
64
63
  Requires-Dist: pytest-doctestplus; extra == 'test'
65
64
  Requires-Dist: pytest>=6; extra == 'test'
66
65
  Provides-Extra: test-extras
66
+ Requires-Dist: dask-awkward; extra == 'test-extras'
67
67
  Requires-Dist: spark-parser; extra == 'test-extras'
68
- Requires-Dist: uncompyle6; extra == 'test-extras'
68
+ Requires-Dist: uncompyle6; (python_version == '3.8') and extra == 'test-extras'
69
69
  Description-Content-Type: text/markdown
70
70
 
71
71
  <img alt="Vector logo" width="433" src="https://raw.githubusercontent.com/scikit-hep/vector/main/docs/_images/vector-logo.png"/>
@@ -114,7 +114,7 @@ This overview is based on the [documentation here](https://vector.readthedocs.io
114
114
  ```python
115
115
  import vector
116
116
  import numpy as np
117
- import awkward as ak # at least version 1.2.0
117
+ import awkward as ak # at least v2.0.0 (vector v1.4.* supports awkward v1 and v2 both)
118
118
  import numba as nb
119
119
  ```
120
120
 
@@ -44,7 +44,7 @@ This overview is based on the [documentation here](https://vector.readthedocs.io
44
44
  ```python
45
45
  import vector
46
46
  import numpy as np
47
- import awkward as ak # at least version 1.2.0
47
+ import awkward as ak # at least v2.0.0 (vector v1.4.* supports awkward v1 and v2 both)
48
48
  import numba as nb
49
49
  ```
50
50
 
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## Version 1.5
4
+
5
+ ### Version 1.5.0
6
+
7
+ #### Breaking
8
+
9
+ - drop support for awkward v1 [#434][]
10
+
11
+ [#434]: https://github.com/scikit-hep/vector/pull/434
12
+
3
13
  ## Version 1.4
4
14
 
5
15
  ### Version 1.4.2
@@ -38,7 +38,7 @@
38
38
  "\n",
39
39
  "import numbers\n",
40
40
  "\n",
41
- "import awkward as ak # at least version 1.2.0rc5\n",
41
+ "import awkward as ak # at least v2.0.0 (vector v1.4.* supports awkward v1 and v2 both)\n",
42
42
  "import numba as nb\n",
43
43
  "import numpy as np\n",
44
44
  "import sympy\n",
@@ -6,6 +6,7 @@ import nox
6
6
 
7
7
  nox.options.sessions = ["lint", "lite", "tests", "doctests"]
8
8
 
9
+ ALL_PYTHON = ["3.8", "3.9", "3.10", "3.11", "3.12"]
9
10
 
10
11
  DIR = Path(__file__).parent.resolve()
11
12
 
@@ -17,7 +18,7 @@ def lint(session: nox.Session) -> None:
17
18
  session.run("pre-commit", "run", "--all-files", *session.posargs)
18
19
 
19
20
 
20
- @nox.session
21
+ @nox.session(reuse_venv=True)
21
22
  def pylint(session: nox.Session) -> None:
22
23
  """Run pylint."""
23
24
  session.install("pylint~=2.14.0")
@@ -25,14 +26,14 @@ def pylint(session: nox.Session) -> None:
25
26
  session.run("pylint", "src/vector/", *session.posargs)
26
27
 
27
28
 
28
- @nox.session
29
+ @nox.session(reuse_venv=True, python=ALL_PYTHON)
29
30
  def lite(session: nox.Session) -> None:
30
31
  """Run the linter."""
31
32
  session.install("-e", ".[test]")
32
33
  session.run("pytest", "--ignore", "tests/test_notebooks.py", *session.posargs)
33
34
 
34
35
 
35
- @nox.session(reuse_venv=True)
36
+ @nox.session(reuse_venv=True, python=ALL_PYTHON)
36
37
  def tests(session: nox.Session) -> None:
37
38
  """Run the unit and regular tests."""
38
39
  session.install("-e", ".[awkward,numba,test,test-extras,sympy]")
@@ -44,14 +45,14 @@ def tests(session: nox.Session) -> None:
44
45
  )
45
46
 
46
47
 
47
- @nox.session(reuse_venv=True)
48
+ @nox.session(reuse_venv=True, python=ALL_PYTHON)
48
49
  def coverage(session: nox.Session) -> None:
49
50
  """Run tests and compute coverage."""
50
51
  session.posargs.append("--cov=vector")
51
52
  tests(session)
52
53
 
53
54
 
54
- @nox.session(reuse_venv=True)
55
+ @nox.session(reuse_venv=True, python=ALL_PYTHON)
55
56
  def doctests(session: nox.Session) -> None:
56
57
  """Run the doctests."""
57
58
  session.install("-e", ".[awkward,numba,test,test-extras,sympy]")
@@ -61,8 +62,8 @@ def doctests(session: nox.Session) -> None:
61
62
  @nox.session(reuse_venv=True)
62
63
  def notebooks(session: nox.Session) -> None:
63
64
  """Run the notebook tests"""
64
- session.install("-e", ".[awkward,numba,test,test-extras]", "numba")
65
- session.install("jupyter", "papermill")
65
+ session.install("-e", ".[awkward,numba,test,sympy]")
66
+ session.install("jupyter")
66
67
  session.run("pytest", "tests/test_notebooks.py", *session.posargs)
67
68
 
68
69
 
@@ -81,7 +82,7 @@ def docs(session: nox.Session) -> None:
81
82
  print("Unsupported argument to docs")
82
83
 
83
84
 
84
- @nox.session
85
+ @nox.session(reuse_venv=True)
85
86
  def build(session: nox.Session) -> None:
86
87
  """Build an SDist and wheel."""
87
88
  session.install("build")
@@ -46,10 +46,10 @@ dependencies = [
46
46
  "packaging>=19",
47
47
  ]
48
48
  optional-dependencies.awkward = [
49
- "awkward>=1.2",
49
+ "awkward>=2",
50
50
  ]
51
51
  optional-dependencies.dev = [
52
- "awkward>=1.2",
52
+ "awkward>=2",
53
53
  "dask-awkward",
54
54
  "nox",
55
55
  "numba>=0.57; python_version<'3.12'",
@@ -60,7 +60,7 @@ optional-dependencies.dev = [
60
60
  "sympy",
61
61
  ]
62
62
  optional-dependencies.docs = [
63
- "awkward>=1.2",
63
+ "awkward>=2",
64
64
  "ipykernel",
65
65
  "myst-parser>0.13",
66
66
  "nbsphinx",
@@ -76,7 +76,6 @@ optional-dependencies.sympy = [
76
76
  "sympy",
77
77
  ]
78
78
  optional-dependencies.test = [
79
- "dask-awkward",
80
79
  "nox",
81
80
  "papermill>=2.4",
82
81
  "pytest>=6",
@@ -84,8 +83,9 @@ optional-dependencies.test = [
84
83
  "pytest-doctestplus",
85
84
  ]
86
85
  optional-dependencies.test-extras = [
86
+ "dask_awkward",
87
87
  "spark-parser",
88
- "uncompyle6",
88
+ 'uncompyle6; python_version == "3.8"',
89
89
  ]
90
90
  urls."Bug Tracker" = "https://github.com/scikit-hep/vector/issues"
91
91
  urls.Changelog = "https://vector.readthedocs.io/en/latest/changelog.html"
@@ -60,21 +60,13 @@ from vector.backends.object import (
60
60
 
61
61
  def _import_awkward() -> None:
62
62
  awk_version = packaging.version.Version(importlib.metadata.version("awkward"))
63
- if awk_version < packaging.version.Version("1.2.0rc5"):
63
+ if awk_version < packaging.version.Version("2.0.0"):
64
64
  # the only context users will see this message is if they're trying to use vector.awk
65
65
  # VectorAwkward is still set to None
66
- msg = f"awkward {awk_version} is too old; please upgrade to 1.2.0 or later"
66
+ msg = f"awkward {awk_version} is too old; please upgrade to 2.0.0 or later"
67
67
  raise ImportError(msg)
68
68
 
69
69
 
70
- _is_awkward_v2: bool | None
71
- try:
72
- _is_awkward_v2 = packaging.version.Version(
73
- importlib.metadata.version("awkward")
74
- ) >= packaging.version.Version("2.0.0rc1")
75
- except importlib.metadata.PackageNotFoundError:
76
- _is_awkward_v2 = None
77
-
78
70
  try:
79
71
  import awkward
80
72
 
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.4.2'
16
- __version_tuple__ = version_tuple = (1, 4, 2)
15
+ __version__ = version = '1.5.0'
16
+ __version_tuple__ = version_tuple = (1, 5, 0)
@@ -1638,33 +1638,17 @@ MomentumRecord4D.MomentumClass = MomentumRecord4D
1638
1638
 
1639
1639
  # implementation of behaviors in Numba ########################################
1640
1640
 
1641
- if vector._is_awkward_v2:
1642
1641
 
1643
- def _lookup_field(record_type: typing.Any, name: str) -> int:
1644
- return record_type.fields.index(name)
1645
-
1646
- else:
1647
-
1648
- def _lookup_field(record_type: typing.Any, name: str) -> int:
1649
- return record_type.recordlookup.index(name)
1642
+ def _lookup_field(record_type: typing.Any, name: str) -> int:
1643
+ return record_type.fields.index(name)
1650
1644
 
1651
1645
 
1652
1646
  def _arraytype_of(awkwardtype: typing.Any, component: str) -> typing.Any:
1653
1647
  import numba
1654
1648
 
1655
- if isinstance(
1656
- awkwardtype,
1657
- ak._connect.numba.layout.NumpyArrayType
1658
- if hasattr(ak._connect, "numba") # Awkward v2
1659
- else ak._connect._numba.layout.NumpyArrayType,
1660
- ):
1649
+ if isinstance(awkwardtype, ak._connect.numba.layout.NumpyArrayType):
1661
1650
  return awkwardtype.arraytype
1662
- elif isinstance(
1663
- awkwardtype,
1664
- ak._connect.numba.layout.IndexedArrayType
1665
- if hasattr(ak._connect, "numba") # Awkward v2
1666
- else ak._connect._numba.layout.IndexedArrayType,
1667
- ):
1651
+ elif isinstance(awkwardtype, ak._connect.numba.layout.IndexedArrayType):
1668
1652
  return _arraytype_of(awkwardtype.contenttype, component)
1669
1653
  raise numba.TypingError(
1670
1654
  f"vector components like {component!r} must be NumpyArrayType, not {awkwardtype}"
@@ -1947,11 +1931,7 @@ def _numba_lower(
1947
1931
 
1948
1932
  vectorcls = sig.return_type.instance_class
1949
1933
 
1950
- fields = (
1951
- sig.args[0].arrayviewtype.type.fields
1952
- if vector._is_awkward_v2
1953
- else sig.args[0].arrayviewtype.type.recordlookup
1954
- )
1934
+ fields = sig.args[0].arrayviewtype.type.fields
1955
1935
 
1956
1936
  if issubclass(vectorcls, (VectorObject2D, VectorObject3D, VectorObject4D)):
1957
1937
  if issubclass(sig.return_type.azimuthaltype.instance_class, AzimuthalXY):
@@ -218,37 +218,20 @@ def _is_type_safe(array_type: typing.Any) -> bool:
218
218
  awkward.types.OptionType,
219
219
  ),
220
220
  ):
221
- # .content is Awkward v2
222
- array_type = (
223
- array_type.content if hasattr(array_type, "content") else array_type.type
224
- )
221
+ array_type = array_type.content
225
222
 
226
223
  if not isinstance(array_type, awkward.types.RecordType):
227
224
  return False
228
225
 
229
- # .contents is Awkward v2
230
- contents = (
231
- array_type.contents if hasattr(array_type, "contents") else array_type.fields()
232
- )
226
+ contents = array_type.contents
233
227
  for field_type in contents:
234
228
  if isinstance(field_type, awkward.types.OptionType):
235
229
  field_type = ( # noqa: PLW2901
236
230
  field_type.content
237
- if hasattr(array_type, "content")
238
- else field_type.type
239
231
  )
240
- if not isinstance(
241
- field_type,
242
- awkward.types.NumpyType
243
- if hasattr(awkward.types, "NumpyType")
244
- else awkward.types.PrimitiveType,
245
- ):
232
+ if not isinstance(field_type, awkward.types.NumpyType):
246
233
  return False
247
- dt = (
248
- field_type.primitive
249
- if hasattr(field_type, "primitive")
250
- else field_type.dtype
251
- )
234
+ dt = field_type.primitive
252
235
  if (
253
236
  not dt.startswith("int")
254
237
  and not dt.startswith("uint")
@@ -14,11 +14,6 @@ import pytest
14
14
 
15
15
  import vector
16
16
  from vector import VectorObject2D
17
- from vector.backends.awkward import (
18
- MomentumAwkward2D,
19
- MomentumAwkward3D,
20
- MomentumAwkward4D,
21
- )
22
17
 
23
18
  ak = pytest.importorskip("awkward")
24
19
 
@@ -310,7 +305,7 @@ def test_zip():
310
305
 
311
306
  @pytest.mark.skipif(
312
307
  awkward_without_record_reducers,
313
- reason="record reducers not implemented before awkward v2",
308
+ reason="record reducers were added before awkward==2.2.3, but had some bugs",
314
309
  )
315
310
  def test_sum_2d():
316
311
  v = vector.Array(
@@ -380,7 +375,7 @@ def test_sum_2d():
380
375
 
381
376
  @pytest.mark.skipif(
382
377
  awkward_without_record_reducers,
383
- reason="record reducers not implemented before awkward v2",
378
+ reason="record reducers were added before awkward==2.2.3, but had some bugs",
384
379
  )
385
380
  def test_sum_3d():
386
381
  v = vector.Array(
@@ -420,7 +415,7 @@ def test_sum_3d():
420
415
 
421
416
  @pytest.mark.skipif(
422
417
  awkward_without_record_reducers,
423
- reason="record reducers not implemented before awkward v2",
418
+ reason="record reducers were added before awkward==2.2.3, but had some bugs",
424
419
  )
425
420
  def test_sum_4d():
426
421
  v = vector.Array(
@@ -465,7 +460,7 @@ def test_sum_4d():
465
460
 
466
461
  @pytest.mark.skipif(
467
462
  awkward_without_record_reducers,
468
- reason="record reducers not implemented before awkward v2",
463
+ reason="record reducers were added before awkward==2.2.3, but had some bugs",
469
464
  )
470
465
  def test_count_nonzero_2d():
471
466
  v = vector.Array(
@@ -490,7 +485,7 @@ def test_count_nonzero_2d():
490
485
 
491
486
  @pytest.mark.skipif(
492
487
  awkward_without_record_reducers,
493
- reason="record reducers not implemented before awkward v2",
488
+ reason="record reducers were added before awkward==2.2.3, but had some bugs",
494
489
  )
495
490
  def test_count_nonzero_3d():
496
491
  v = vector.Array(
@@ -515,7 +510,7 @@ def test_count_nonzero_3d():
515
510
 
516
511
  @pytest.mark.skipif(
517
512
  awkward_without_record_reducers,
518
- reason="record reducers not implemented before awkward v2",
513
+ reason="record reducers were added before awkward==2.2.3, but had some bugs",
519
514
  )
520
515
  def test_count_nonzero_4d():
521
516
  v = vector.Array(
@@ -559,7 +554,7 @@ def test_count_nonzero_4d():
559
554
 
560
555
  @pytest.mark.skipif(
561
556
  awkward_without_record_reducers,
562
- reason="record reducers not implemented before awkward v2",
557
+ reason="record reducers were added before awkward==2.2.3, but had some bugs",
563
558
  )
564
559
  def test_count_2d():
565
560
  v = vector.Array(
@@ -588,7 +583,7 @@ def test_count_2d():
588
583
 
589
584
  @pytest.mark.skipif(
590
585
  awkward_without_record_reducers,
591
- reason="record reducers not implemented before awkward v2",
586
+ reason="record reducers were added before awkward==2.2.3, but had some bugs",
592
587
  )
593
588
  def test_count_3d():
594
589
  v = vector.Array(
@@ -617,7 +612,7 @@ def test_count_3d():
617
612
 
618
613
  @pytest.mark.skipif(
619
614
  awkward_without_record_reducers,
620
- reason="record reducers not implemented before awkward v2",
615
+ reason="record reducers were added before awkward==2.2.3, but had some bugs",
621
616
  )
622
617
  def test_count_4d():
623
618
  v = vector.Array(
@@ -880,36 +875,36 @@ def test_momentum_preservation():
880
875
 
881
876
  # momentum + generic = momentum
882
877
  # 2D + 3D.like(2D) = 2D
883
- assert isinstance(v1 + v2.like(v1), MomentumAwkward2D)
884
- assert isinstance(v2.like(v1) + v1, MomentumAwkward2D)
878
+ assert isinstance(v1 + v2.like(v1), vector.backends.awkward.MomentumAwkward2D)
879
+ assert isinstance(v2.like(v1) + v1, vector.backends.awkward.MomentumAwkward2D)
885
880
  # 2D + 4D.like(2D) = 2D
886
- assert isinstance(v1 + v3.like(v1), MomentumAwkward2D)
887
- assert isinstance(v3.like(v1) + v1, MomentumAwkward2D)
881
+ assert isinstance(v1 + v3.like(v1), vector.backends.awkward.MomentumAwkward2D)
882
+ assert isinstance(v3.like(v1) + v1, vector.backends.awkward.MomentumAwkward2D)
888
883
  # 3D + 2D.like(3D) = 3D
889
- assert isinstance(v2 + v1.like(v2), MomentumAwkward3D)
890
- assert isinstance(v1.like(v2) + v2, MomentumAwkward3D)
884
+ assert isinstance(v2 + v1.like(v2), vector.backends.awkward.MomentumAwkward3D)
885
+ assert isinstance(v1.like(v2) + v2, vector.backends.awkward.MomentumAwkward3D)
891
886
  # 3D + 4D.like(3D) = 3D
892
- assert isinstance(v2 + v3.like(v2), MomentumAwkward3D)
893
- assert isinstance(v3.like(v2) + v2, MomentumAwkward3D)
887
+ assert isinstance(v2 + v3.like(v2), vector.backends.awkward.MomentumAwkward3D)
888
+ assert isinstance(v3.like(v2) + v2, vector.backends.awkward.MomentumAwkward3D)
894
889
  # 4D + 2D.like(4D) = 4D
895
- assert isinstance(v3 + v1.like(v3), MomentumAwkward4D)
896
- assert isinstance(v1.like(v3) + v3, MomentumAwkward4D)
890
+ assert isinstance(v3 + v1.like(v3), vector.backends.awkward.MomentumAwkward4D)
891
+ assert isinstance(v1.like(v3) + v3, vector.backends.awkward.MomentumAwkward4D)
897
892
  # 4D + 3D.like(4D) = 4D
898
- assert isinstance(v3 + v2.like(v3), MomentumAwkward4D)
899
- assert isinstance(v2.like(v3) + v3, MomentumAwkward4D)
893
+ assert isinstance(v3 + v2.like(v3), vector.backends.awkward.MomentumAwkward4D)
894
+ assert isinstance(v2.like(v3) + v3, vector.backends.awkward.MomentumAwkward4D)
900
895
 
901
896
 
902
897
  def test_subclass_fields():
903
898
  @ak.mixin_class(vector.backends.awkward.behavior)
904
- class TwoVector(MomentumAwkward2D):
899
+ class TwoVector(vector.backends.awkward.MomentumAwkward2D):
905
900
  pass
906
901
 
907
902
  @ak.mixin_class(vector.backends.awkward.behavior)
908
- class ThreeVector(MomentumAwkward3D):
903
+ class ThreeVector(vector.backends.awkward.MomentumAwkward3D):
909
904
  pass
910
905
 
911
906
  @ak.mixin_class(vector.backends.awkward.behavior)
912
- class LorentzVector(MomentumAwkward4D):
907
+ class LorentzVector(vector.backends.awkward.MomentumAwkward4D):
913
908
  @ak.mixin_class_method(np.divide, {numbers.Number})
914
909
  def divide(self, factor):
915
910
  return self.scale(1 / factor)
@@ -39,11 +39,7 @@ def test_issue_161():
39
39
  for generator_like_constituent in sublist:
40
40
  s += generator_like_constituent.pt
41
41
 
42
- file_path = (
43
- os.path.join("tests", "samples", "issue-161.pkl")
44
- if not vector._is_awkward_v2
45
- else os.path.join("tests", "samples", "issue-161-v2.pkl")
46
- )
42
+ file_path = os.path.join("tests", "samples", "issue-161-v2.pkl")
47
43
 
48
44
  with open(file_path, "rb") as f:
49
45
  a = ak.from_buffers(*pickle.load(f))
Binary file
File without changes
File without changes
File without changes
File without changes