vector 1.6.0__tar.gz → 1.6.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. {vector-1.6.0 → vector-1.6.1}/.pre-commit-config.yaml +1 -1
  2. {vector-1.6.0 → vector-1.6.1}/PKG-INFO +1 -1
  3. {vector-1.6.0 → vector-1.6.1}/src/vector/_methods.py +1 -1
  4. {vector-1.6.0 → vector-1.6.1}/src/vector/_version.py +2 -2
  5. {vector-1.6.0 → vector-1.6.1}/src/vector/backends/awkward.py +29 -1
  6. vector-1.6.1/tests/backends/test_awkward.py +1172 -0
  7. vector-1.6.0/tests/backends/test_awkward.py +0 -930
  8. {vector-1.6.0 → vector-1.6.1}/.all-contributorsrc +0 -0
  9. {vector-1.6.0 → vector-1.6.1}/.git_archival.txt +0 -0
  10. {vector-1.6.0 → vector-1.6.1}/.gitattributes +0 -0
  11. {vector-1.6.0 → vector-1.6.1}/.github/CONTRIBUTING.md +0 -0
  12. {vector-1.6.0 → vector-1.6.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  13. {vector-1.6.0 → vector-1.6.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  14. {vector-1.6.0 → vector-1.6.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  15. {vector-1.6.0 → vector-1.6.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  16. {vector-1.6.0 → vector-1.6.1}/.github/codecov.yml +0 -0
  17. {vector-1.6.0 → vector-1.6.1}/.github/dependabot.yml +0 -0
  18. {vector-1.6.0 → vector-1.6.1}/.github/matchers/pylint.json +0 -0
  19. {vector-1.6.0 → vector-1.6.1}/.github/workflows/cd.yml +0 -0
  20. {vector-1.6.0 → vector-1.6.1}/.github/workflows/ci.yml +0 -0
  21. {vector-1.6.0 → vector-1.6.1}/.github/workflows/notebooks.yml +0 -0
  22. {vector-1.6.0 → vector-1.6.1}/.gitignore +0 -0
  23. {vector-1.6.0 → vector-1.6.1}/.readthedocs.yml +0 -0
  24. {vector-1.6.0 → vector-1.6.1}/CITATION.cff +0 -0
  25. {vector-1.6.0 → vector-1.6.1}/LICENSE +0 -0
  26. {vector-1.6.0 → vector-1.6.1}/README.md +0 -0
  27. {vector-1.6.0 → vector-1.6.1}/docs/Makefile +0 -0
  28. {vector-1.6.0 → vector-1.6.1}/docs/_images/LogoSrc.svg +0 -0
  29. {vector-1.6.0 → vector-1.6.1}/docs/_images/coordinate-systems.png +0 -0
  30. {vector-1.6.0 → vector-1.6.1}/docs/_images/coordinate-systems.svg +0 -0
  31. {vector-1.6.0 → vector-1.6.1}/docs/_images/vector-logo.png +0 -0
  32. {vector-1.6.0 → vector-1.6.1}/docs/conf.py +0 -0
  33. {vector-1.6.0 → vector-1.6.1}/docs/index.md +0 -0
  34. {vector-1.6.0 → vector-1.6.1}/docs/make.bat +0 -0
  35. {vector-1.6.0 → vector-1.6.1}/docs/src/awkward.ipynb +0 -0
  36. {vector-1.6.0 → vector-1.6.1}/docs/src/common.md +0 -0
  37. {vector-1.6.0 → vector-1.6.1}/docs/src/make_awkward.md +0 -0
  38. {vector-1.6.0 → vector-1.6.1}/docs/src/make_numpy.md +0 -0
  39. {vector-1.6.0 → vector-1.6.1}/docs/src/make_object.md +0 -0
  40. {vector-1.6.0 → vector-1.6.1}/docs/src/make_sympy.md +0 -0
  41. {vector-1.6.0 → vector-1.6.1}/docs/src/momentum2d.md +0 -0
  42. {vector-1.6.0 → vector-1.6.1}/docs/src/momentum3d.md +0 -0
  43. {vector-1.6.0 → vector-1.6.1}/docs/src/momentum4d.md +0 -0
  44. {vector-1.6.0 → vector-1.6.1}/docs/src/numba.ipynb +0 -0
  45. {vector-1.6.0 → vector-1.6.1}/docs/src/numpy.ipynb +0 -0
  46. {vector-1.6.0 → vector-1.6.1}/docs/src/object.ipynb +0 -0
  47. {vector-1.6.0 → vector-1.6.1}/docs/src/sympy.ipynb +0 -0
  48. {vector-1.6.0 → vector-1.6.1}/docs/src/talks.md +0 -0
  49. {vector-1.6.0 → vector-1.6.1}/docs/src/vector2d.md +0 -0
  50. {vector-1.6.0 → vector-1.6.1}/docs/src/vector3d.md +0 -0
  51. {vector-1.6.0 → vector-1.6.1}/docs/src/vector4d.md +0 -0
  52. {vector-1.6.0 → vector-1.6.1}/environment.yml +0 -0
  53. {vector-1.6.0 → vector-1.6.1}/noxfile.py +0 -0
  54. {vector-1.6.0 → vector-1.6.1}/pyproject.toml +0 -0
  55. {vector-1.6.0 → vector-1.6.1}/src/vector/__init__.py +0 -0
  56. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/__init__.py +0 -0
  57. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/Et.py +0 -0
  58. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/Et2.py +0 -0
  59. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/Mt.py +0 -0
  60. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/Mt2.py +0 -0
  61. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/__init__.py +0 -0
  62. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/add.py +0 -0
  63. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/beta.py +0 -0
  64. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/boostX_beta.py +0 -0
  65. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/boostX_gamma.py +0 -0
  66. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/boostY_beta.py +0 -0
  67. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/boostY_gamma.py +0 -0
  68. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/boostZ_beta.py +0 -0
  69. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/boostZ_gamma.py +0 -0
  70. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/boost_beta3.py +0 -0
  71. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/boost_p4.py +0 -0
  72. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/deltaRapidityPhi.py +0 -0
  73. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/deltaRapidityPhi2.py +0 -0
  74. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/dot.py +0 -0
  75. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/equal.py +0 -0
  76. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/gamma.py +0 -0
  77. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/is_lightlike.py +0 -0
  78. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/is_spacelike.py +0 -0
  79. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/is_timelike.py +0 -0
  80. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/isclose.py +0 -0
  81. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/not_equal.py +0 -0
  82. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/rapidity.py +0 -0
  83. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/scale.py +0 -0
  84. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/subtract.py +0 -0
  85. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/t.py +0 -0
  86. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/t2.py +0 -0
  87. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/tau.py +0 -0
  88. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/tau2.py +0 -0
  89. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/to_beta3.py +0 -0
  90. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/transform4D.py +0 -0
  91. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/lorentz/unit.py +0 -0
  92. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/__init__.py +0 -0
  93. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/add.py +0 -0
  94. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/deltaphi.py +0 -0
  95. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/dot.py +0 -0
  96. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/equal.py +0 -0
  97. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/is_antiparallel.py +0 -0
  98. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/is_parallel.py +0 -0
  99. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/is_perpendicular.py +0 -0
  100. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/isclose.py +0 -0
  101. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/not_equal.py +0 -0
  102. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/phi.py +0 -0
  103. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/rho.py +0 -0
  104. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/rho2.py +0 -0
  105. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/rotateZ.py +0 -0
  106. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/scale.py +0 -0
  107. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/subtract.py +0 -0
  108. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/transform2D.py +0 -0
  109. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/unit.py +0 -0
  110. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/x.py +0 -0
  111. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/planar/y.py +0 -0
  112. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/__init__.py +0 -0
  113. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/add.py +0 -0
  114. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/costheta.py +0 -0
  115. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/cottheta.py +0 -0
  116. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/cross.py +0 -0
  117. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/deltaR.py +0 -0
  118. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/deltaR2.py +0 -0
  119. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/deltaangle.py +0 -0
  120. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/deltaeta.py +0 -0
  121. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/dot.py +0 -0
  122. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/equal.py +0 -0
  123. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/eta.py +0 -0
  124. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/is_antiparallel.py +0 -0
  125. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/is_parallel.py +0 -0
  126. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/is_perpendicular.py +0 -0
  127. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/isclose.py +0 -0
  128. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/mag.py +0 -0
  129. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/mag2.py +0 -0
  130. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/not_equal.py +0 -0
  131. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/rotateX.py +0 -0
  132. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/rotateY.py +0 -0
  133. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/rotate_axis.py +0 -0
  134. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/rotate_euler.py +0 -0
  135. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/rotate_quaternion.py +0 -0
  136. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/scale.py +0 -0
  137. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/subtract.py +0 -0
  138. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/theta.py +0 -0
  139. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/transform3D.py +0 -0
  140. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/unit.py +0 -0
  141. {vector-1.6.0 → vector-1.6.1}/src/vector/_compute/spatial/z.py +0 -0
  142. {vector-1.6.0 → vector-1.6.1}/src/vector/_lib.py +0 -0
  143. {vector-1.6.0 → vector-1.6.1}/src/vector/_typeutils.py +0 -0
  144. {vector-1.6.0 → vector-1.6.1}/src/vector/_version.pyi +0 -0
  145. {vector-1.6.0 → vector-1.6.1}/src/vector/backends/__init__.py +0 -0
  146. {vector-1.6.0 → vector-1.6.1}/src/vector/backends/_numba.py +0 -0
  147. {vector-1.6.0 → vector-1.6.1}/src/vector/backends/_numba_object.py +0 -0
  148. {vector-1.6.0 → vector-1.6.1}/src/vector/backends/awkward_constructors.py +0 -0
  149. {vector-1.6.0 → vector-1.6.1}/src/vector/backends/numba_numpy.py +0 -0
  150. {vector-1.6.0 → vector-1.6.1}/src/vector/backends/numpy.py +0 -0
  151. {vector-1.6.0 → vector-1.6.1}/src/vector/backends/object.py +0 -0
  152. {vector-1.6.0 → vector-1.6.1}/src/vector/backends/sympy.py +0 -0
  153. {vector-1.6.0 → vector-1.6.1}/src/vector/py.typed +0 -0
  154. {vector-1.6.0 → vector-1.6.1}/tests/__init__.py +0 -0
  155. {vector-1.6.0 → vector-1.6.1}/tests/backends/__init__.py +0 -0
  156. {vector-1.6.0 → vector-1.6.1}/tests/backends/test_awkward_numba.py +0 -0
  157. {vector-1.6.0 → vector-1.6.1}/tests/backends/test_dask_awkward.py +0 -0
  158. {vector-1.6.0 → vector-1.6.1}/tests/backends/test_numba_numpy.py +0 -0
  159. {vector-1.6.0 → vector-1.6.1}/tests/backends/test_numba_object.py +0 -0
  160. {vector-1.6.0 → vector-1.6.1}/tests/backends/test_numpy.py +0 -0
  161. {vector-1.6.0 → vector-1.6.1}/tests/backends/test_object.py +0 -0
  162. {vector-1.6.0 → vector-1.6.1}/tests/backends/test_operators.py +0 -0
  163. {vector-1.6.0 → vector-1.6.1}/tests/backends/test_sympy.py +0 -0
  164. {vector-1.6.0 → vector-1.6.1}/tests/compute/__init__.py +0 -0
  165. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/__init__.py +0 -0
  166. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_Et.py +0 -0
  167. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_Et2.py +0 -0
  168. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_Mt.py +0 -0
  169. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_Mt2.py +0 -0
  170. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_beta.py +0 -0
  171. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_boostX_beta.py +0 -0
  172. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_boostX_gamma.py +0 -0
  173. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_boostY_beta.py +0 -0
  174. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_boostY_gamma.py +0 -0
  175. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_boostZ_beta.py +0 -0
  176. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_boostZ_gamma.py +0 -0
  177. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_boost_beta3.py +0 -0
  178. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_boost_p4.py +0 -0
  179. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_deltaRapidityPhi.py +0 -0
  180. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_deltaRapidityPhi2.py +0 -0
  181. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_gamma.py +0 -0
  182. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_is_lightlike.py +0 -0
  183. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_is_spacelike.py +0 -0
  184. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_is_timelike.py +0 -0
  185. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_rapidity.py +0 -0
  186. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_t.py +0 -0
  187. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_t2.py +0 -0
  188. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_tau.py +0 -0
  189. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_tau2.py +0 -0
  190. {vector-1.6.0 → vector-1.6.1}/tests/compute/lorentz/test_to_beta3.py +0 -0
  191. {vector-1.6.0 → vector-1.6.1}/tests/compute/planar/__init__.py +0 -0
  192. {vector-1.6.0 → vector-1.6.1}/tests/compute/planar/test_deltaphi.py +0 -0
  193. {vector-1.6.0 → vector-1.6.1}/tests/compute/planar/test_phi.py +0 -0
  194. {vector-1.6.0 → vector-1.6.1}/tests/compute/planar/test_rho.py +0 -0
  195. {vector-1.6.0 → vector-1.6.1}/tests/compute/planar/test_rho2.py +0 -0
  196. {vector-1.6.0 → vector-1.6.1}/tests/compute/planar/test_rotateZ.py +0 -0
  197. {vector-1.6.0 → vector-1.6.1}/tests/compute/planar/test_x.py +0 -0
  198. {vector-1.6.0 → vector-1.6.1}/tests/compute/planar/test_y.py +0 -0
  199. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/__init__.py +0 -0
  200. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_costheta.py +0 -0
  201. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_cottheta.py +0 -0
  202. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_cross.py +0 -0
  203. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_deltaR.py +0 -0
  204. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_deltaR2.py +0 -0
  205. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_deltaangle.py +0 -0
  206. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_deltaeta.py +0 -0
  207. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_eta.py +0 -0
  208. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_mag.py +0 -0
  209. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_mag2.py +0 -0
  210. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_rotateX.py +0 -0
  211. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_rotateY.py +0 -0
  212. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_rotate_axis.py +0 -0
  213. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_rotate_euler.py +0 -0
  214. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_rotate_quaternion.py +0 -0
  215. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_theta.py +0 -0
  216. {vector-1.6.0 → vector-1.6.1}/tests/compute/spatial/test_z.py +0 -0
  217. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/__init__.py +0 -0
  218. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_Et.py +0 -0
  219. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_Et2.py +0 -0
  220. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_Mt.py +0 -0
  221. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_Mt2.py +0 -0
  222. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_beta.py +0 -0
  223. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_boostX_beta.py +0 -0
  224. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_boostX_gamma.py +0 -0
  225. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_boostY_beta.py +0 -0
  226. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_boostY_gamma.py +0 -0
  227. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_boostZ_beta.py +0 -0
  228. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_boostZ_gamma.py +0 -0
  229. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_boost_beta3.py +0 -0
  230. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_boost_p4.py +0 -0
  231. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_deltaRapidityPhi.py +0 -0
  232. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_deltaRapidityPhi2.py +0 -0
  233. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_gamma.py +0 -0
  234. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_is_lightlike.py +0 -0
  235. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_is_spacelike.py +0 -0
  236. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_is_timelike.py +0 -0
  237. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_rapidity.py +0 -0
  238. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_t.py +0 -0
  239. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_t2.py +0 -0
  240. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_tau.py +0 -0
  241. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_tau2.py +0 -0
  242. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/lorentz/test_to_beta3.py +0 -0
  243. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/planar/__init__.py +0 -0
  244. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/planar/test_deltaphi.py +0 -0
  245. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/planar/test_phi.py +0 -0
  246. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/planar/test_rho.py +0 -0
  247. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/planar/test_rho2.py +0 -0
  248. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/planar/test_rotateZ.py +0 -0
  249. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/planar/test_x.py +0 -0
  250. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/planar/test_y.py +0 -0
  251. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/__init__.py +0 -0
  252. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_costheta.py +0 -0
  253. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_cottheta.py +0 -0
  254. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_cross.py +0 -0
  255. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_deltaR.py +0 -0
  256. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_deltaR2.py +0 -0
  257. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_deltaangle.py +0 -0
  258. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_deltaeta.py +0 -0
  259. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_eta.py +0 -0
  260. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_mag.py +0 -0
  261. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_mag2.py +0 -0
  262. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_rotateX.py +0 -0
  263. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_rotateY.py +0 -0
  264. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_rotate_axis.py +0 -0
  265. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_rotate_euler.py +0 -0
  266. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_rotate_quaternion.py +0 -0
  267. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_theta.py +0 -0
  268. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/spatial/test_z.py +0 -0
  269. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/test_add.py +0 -0
  270. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/test_conversions.py +0 -0
  271. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/test_dot.py +0 -0
  272. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/test_equal.py +0 -0
  273. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/test_is_antiparallel.py +0 -0
  274. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/test_is_parallel.py +0 -0
  275. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/test_is_perpendicular.py +0 -0
  276. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/test_not_equal.py +0 -0
  277. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/test_scale.py +0 -0
  278. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/test_subtract.py +0 -0
  279. {vector-1.6.0 → vector-1.6.1}/tests/compute/sympy/test_unit.py +0 -0
  280. {vector-1.6.0 → vector-1.6.1}/tests/compute/test_add.py +0 -0
  281. {vector-1.6.0 → vector-1.6.1}/tests/compute/test_conversions.py +0 -0
  282. {vector-1.6.0 → vector-1.6.1}/tests/compute/test_dot.py +0 -0
  283. {vector-1.6.0 → vector-1.6.1}/tests/compute/test_equal.py +0 -0
  284. {vector-1.6.0 → vector-1.6.1}/tests/compute/test_is_antiparallel.py +0 -0
  285. {vector-1.6.0 → vector-1.6.1}/tests/compute/test_is_parallel.py +0 -0
  286. {vector-1.6.0 → vector-1.6.1}/tests/compute/test_is_perpendicular.py +0 -0
  287. {vector-1.6.0 → vector-1.6.1}/tests/compute/test_isclose.py +0 -0
  288. {vector-1.6.0 → vector-1.6.1}/tests/compute/test_not_equal.py +0 -0
  289. {vector-1.6.0 → vector-1.6.1}/tests/compute/test_scale.py +0 -0
  290. {vector-1.6.0 → vector-1.6.1}/tests/compute/test_subtract.py +0 -0
  291. {vector-1.6.0 → vector-1.6.1}/tests/compute/test_unit.py +0 -0
  292. {vector-1.6.0 → vector-1.6.1}/tests/samples/issue-161-v2.pkl +0 -0
  293. {vector-1.6.0 → vector-1.6.1}/tests/test_compute_features.py +0 -0
  294. {vector-1.6.0 → vector-1.6.1}/tests/test_issues.py +0 -0
  295. {vector-1.6.0 → vector-1.6.1}/tests/test_methods.py +0 -0
  296. {vector-1.6.0 → vector-1.6.1}/tests/test_notebooks.py +0 -0
@@ -19,7 +19,7 @@ repos:
19
19
  - id: trailing-whitespace
20
20
 
21
21
  - repo: https://github.com/astral-sh/ruff-pre-commit
22
- rev: "v0.9.1"
22
+ rev: "v0.9.2"
23
23
  hooks:
24
24
  - id: ruff
25
25
  args: ["--fix", "--show-fixes"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vector
3
- Version: 1.6.0
3
+ Version: 1.6.1
4
4
  Summary: Vector classes and utilities
5
5
  Project-URL: Bug Tracker, https://github.com/scikit-hep/vector/issues
6
6
  Project-URL: Changelog, https://vector.readthedocs.io/en/latest/changelog.html
@@ -4400,7 +4400,7 @@ def _lib_of(*objects: VectorProtocol) -> Module: # NumPy-like module
4400
4400
  if isinstance(obj, Vector):
4401
4401
  if lib is None:
4402
4402
  lib = obj.lib
4403
- elif lib is not obj.lib:
4403
+ elif lib != obj.lib:
4404
4404
  raise TypeError(
4405
4405
  f"cannot use {lib} and {obj.lib} in the same calculation"
4406
4406
  )
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.6.0'
16
- __version_tuple__ = version_tuple = (1, 6, 0)
15
+ __version__ = version = '1.6.1'
16
+ __version_tuple__ = version_tuple = (1, 6, 1)
@@ -622,10 +622,38 @@ class AwkwardProtocol(Protocol):
622
622
  def __getitem__(self, where: typing.Any) -> float | ak.Array | ak.Record | None: ...
623
623
 
624
624
 
625
+ class _lib(typing.NamedTuple):
626
+ """a wrapper that respects the numpy-like interface of awkward-array and the module interface of numpy"""
627
+
628
+ module: types.ModuleType
629
+ nplike: ak._nplikes.numpy_like.NumpyLike
630
+
631
+ def __eq__(self, other: typing.Any) -> bool:
632
+ if isinstance(other, _lib):
633
+ return self.module is other.module and self.nplike is other.nplike
634
+ else:
635
+ return self.module is other
636
+
637
+ def __ne__(self, other: typing.Any) -> bool:
638
+ return not self.__eq__(other)
639
+
640
+ def __getattr__(self, name: str) -> typing.Any:
641
+ if fun := getattr(self.nplike, name, False):
642
+ return fun
643
+ else:
644
+ return getattr(self.module, name)
645
+
646
+
625
647
  class VectorAwkward:
626
648
  """Mixin class for Awkward vectors."""
627
649
 
628
- lib: types.ModuleType = numpy
650
+ @property
651
+ def lib(self): # type:ignore[no-untyped-def]
652
+ if (
653
+ nplike := self.layout.backend.nplike # type:ignore[attr-defined]
654
+ ) is ak._nplikes.typetracer.TypeTracer.instance():
655
+ return _lib(module=numpy, nplike=nplike)
656
+ return numpy
629
657
 
630
658
  def _wrap_result(
631
659
  self: AwkwardProtocol,