vector 1.3.0__tar.gz → 1.6.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 (408) hide show
  1. {vector-1.3.0 → vector-1.6.0}/.github/CONTRIBUTING.md +2 -2
  2. vector-1.6.0/.github/workflows/cd.yml +56 -0
  3. vector-1.6.0/.github/workflows/ci.yml +134 -0
  4. {vector-1.3.0 → vector-1.6.0}/.github/workflows/notebooks.yml +7 -13
  5. {vector-1.3.0 → vector-1.6.0}/.pre-commit-config.yaml +10 -21
  6. vector-1.6.0/PKG-INFO +253 -0
  7. vector-1.6.0/README.md +181 -0
  8. {vector-1.3.0 → vector-1.6.0}/docs/_images/LogoSrc.svg +30 -30
  9. vector-1.6.0/docs/_images/coordinate-systems.png +0 -0
  10. vector-1.6.0/docs/_images/coordinate-systems.svg +323 -0
  11. vector-1.6.0/docs/_images/vector-logo.png +0 -0
  12. {vector-1.3.0 → vector-1.6.0}/docs/conf.py +6 -3
  13. vector-1.6.0/docs/index.md +150 -0
  14. vector-1.6.0/docs/src/awkward.ipynb +1046 -0
  15. vector-1.6.0/docs/src/common.md +20 -0
  16. vector-1.6.0/docs/src/make_awkward.md +48 -0
  17. vector-1.6.0/docs/src/make_numpy.md +47 -0
  18. vector-1.6.0/docs/src/make_object.md +47 -0
  19. vector-1.6.0/docs/src/make_sympy.md +57 -0
  20. vector-1.6.0/docs/src/momentum2d.md +12 -0
  21. vector-1.6.0/docs/src/momentum3d.md +12 -0
  22. vector-1.6.0/docs/src/momentum4d.md +12 -0
  23. vector-1.6.0/docs/src/numba.ipynb +221 -0
  24. vector-1.6.0/docs/src/numpy.ipynb +811 -0
  25. vector-1.6.0/docs/src/object.ipynb +995 -0
  26. vector-1.6.0/docs/src/sympy.ipynb +440 -0
  27. vector-1.6.0/docs/src/talks.md +9 -0
  28. vector-1.6.0/docs/src/vector2d.md +12 -0
  29. vector-1.6.0/docs/src/vector3d.md +12 -0
  30. vector-1.6.0/docs/src/vector4d.md +12 -0
  31. {vector-1.3.0 → vector-1.6.0}/noxfile.py +32 -17
  32. {vector-1.3.0 → vector-1.6.0}/pyproject.toml +91 -64
  33. {vector-1.3.0 → vector-1.6.0}/src/vector/__init__.py +30 -12
  34. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/Et.py +1 -1
  35. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/Et2.py +2 -1
  36. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/Mt.py +2 -1
  37. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/Mt2.py +2 -1
  38. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/add.py +4 -2
  39. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/beta.py +2 -1
  40. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/boostX_beta.py +2 -1
  41. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/boostX_gamma.py +2 -1
  42. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/boostY_beta.py +2 -1
  43. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/boostY_gamma.py +2 -1
  44. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/boostZ_beta.py +2 -1
  45. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/boostZ_gamma.py +2 -1
  46. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/boost_beta3.py +4 -2
  47. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/boost_p4.py +4 -2
  48. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/deltaRapidityPhi.py +4 -2
  49. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/deltaRapidityPhi2.py +4 -2
  50. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/dot.py +4 -2
  51. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/equal.py +4 -2
  52. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/gamma.py +2 -1
  53. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/is_lightlike.py +2 -1
  54. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/is_spacelike.py +2 -1
  55. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/is_timelike.py +2 -1
  56. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/isclose.py +4 -2
  57. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/not_equal.py +4 -2
  58. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/rapidity.py +2 -1
  59. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/scale.py +2 -1
  60. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/subtract.py +4 -2
  61. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/t.py +20 -1
  62. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/t2.py +2 -1
  63. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/tau.py +20 -1
  64. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/tau2.py +2 -1
  65. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/to_beta3.py +2 -1
  66. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/transform4D.py +2 -1
  67. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/unit.py +2 -1
  68. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/add.py +6 -2
  69. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/deltaphi.py +5 -2
  70. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/dot.py +6 -2
  71. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/equal.py +4 -2
  72. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/is_antiparallel.py +4 -2
  73. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/is_parallel.py +4 -2
  74. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/is_perpendicular.py +4 -2
  75. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/isclose.py +4 -2
  76. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/not_equal.py +4 -2
  77. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/phi.py +8 -1
  78. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/rho.py +8 -1
  79. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/rho2.py +5 -1
  80. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/rotateZ.py +5 -1
  81. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/scale.py +5 -1
  82. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/subtract.py +6 -2
  83. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/transform2D.py +2 -1
  84. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/unit.py +8 -1
  85. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/x.py +8 -1
  86. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/y.py +8 -1
  87. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/add.py +4 -2
  88. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/costheta.py +4 -1
  89. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/cottheta.py +4 -1
  90. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/cross.py +4 -2
  91. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/deltaR.py +4 -2
  92. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/deltaR2.py +4 -2
  93. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/deltaangle.py +281 -44
  94. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/deltaeta.py +4 -2
  95. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/dot.py +4 -2
  96. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/equal.py +4 -2
  97. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/eta.py +10 -1
  98. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/is_antiparallel.py +4 -2
  99. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/is_parallel.py +4 -2
  100. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/is_perpendicular.py +4 -2
  101. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/isclose.py +4 -2
  102. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/mag.py +4 -1
  103. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/mag2.py +4 -1
  104. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/not_equal.py +4 -2
  105. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/rotateX.py +4 -1
  106. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/rotateY.py +4 -1
  107. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/rotate_axis.py +4 -2
  108. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/rotate_euler.py +8 -2
  109. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/rotate_quaternion.py +2 -1
  110. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/scale.py +4 -1
  111. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/subtract.py +4 -2
  112. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/theta.py +10 -1
  113. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/transform3D.py +2 -1
  114. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/unit.py +4 -1
  115. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/z.py +10 -1
  116. vector-1.6.0/src/vector/_lib.py +95 -0
  117. {vector-1.3.0 → vector-1.6.0}/src/vector/_methods.py +495 -613
  118. {vector-1.3.0 → vector-1.6.0}/src/vector/_version.py +2 -2
  119. {vector-1.3.0 → vector-1.6.0}/src/vector/backends/awkward.py +200 -58
  120. {vector-1.3.0 → vector-1.6.0}/src/vector/backends/awkward_constructors.py +5 -22
  121. {vector-1.3.0 → vector-1.6.0}/src/vector/backends/numpy.py +297 -45
  122. {vector-1.3.0 → vector-1.6.0}/src/vector/backends/object.py +288 -500
  123. vector-1.6.0/src/vector/backends/sympy.py +1509 -0
  124. {vector-1.3.0 → vector-1.6.0}/tests/backends/test_awkward.py +92 -37
  125. vector-1.6.0/tests/backends/test_dask_awkward.py +39 -0
  126. vector-1.6.0/tests/backends/test_sympy.py +484 -0
  127. vector-1.6.0/tests/compute/lorentz/test_is_lightlike.py +200 -0
  128. vector-1.6.0/tests/compute/lorentz/test_is_spacelike.py +284 -0
  129. vector-1.6.0/tests/compute/lorentz/test_is_timelike.py +284 -0
  130. vector-1.6.0/tests/compute/spatial/test_cross.py +72 -0
  131. vector-1.6.0/tests/compute/sympy/lorentz/__init__.py +4 -0
  132. vector-1.6.0/tests/compute/sympy/lorentz/test_Et.py +191 -0
  133. vector-1.6.0/tests/compute/sympy/lorentz/test_Et2.py +173 -0
  134. vector-1.6.0/tests/compute/sympy/lorentz/test_Mt.py +169 -0
  135. vector-1.6.0/tests/compute/sympy/lorentz/test_Mt2.py +161 -0
  136. vector-1.6.0/tests/compute/sympy/lorentz/test_beta.py +195 -0
  137. vector-1.6.0/tests/compute/sympy/lorentz/test_boostX_beta.py +53 -0
  138. vector-1.6.0/tests/compute/sympy/lorentz/test_boostX_gamma.py +51 -0
  139. vector-1.6.0/tests/compute/sympy/lorentz/test_boostY_beta.py +69 -0
  140. vector-1.6.0/tests/compute/sympy/lorentz/test_boostY_gamma.py +51 -0
  141. vector-1.6.0/tests/compute/sympy/lorentz/test_boostZ_beta.py +52 -0
  142. vector-1.6.0/tests/compute/sympy/lorentz/test_boostZ_gamma.py +51 -0
  143. vector-1.6.0/tests/compute/sympy/lorentz/test_boost_beta3.py +92 -0
  144. vector-1.6.0/tests/compute/sympy/lorentz/test_boost_p4.py +99 -0
  145. vector-1.6.0/tests/compute/sympy/lorentz/test_deltaRapidityPhi.py +88 -0
  146. vector-1.6.0/tests/compute/sympy/lorentz/test_deltaRapidityPhi2.py +89 -0
  147. vector-1.6.0/tests/compute/sympy/lorentz/test_gamma.py +201 -0
  148. vector-1.6.0/tests/compute/sympy/lorentz/test_is_lightlike.py +149 -0
  149. vector-1.6.0/tests/compute/sympy/lorentz/test_is_spacelike.py +367 -0
  150. vector-1.6.0/tests/compute/sympy/lorentz/test_is_timelike.py +361 -0
  151. vector-1.6.0/tests/compute/sympy/lorentz/test_rapidity.py +239 -0
  152. vector-1.6.0/tests/compute/sympy/lorentz/test_t.py +183 -0
  153. vector-1.6.0/tests/compute/sympy/lorentz/test_t2.py +173 -0
  154. vector-1.6.0/tests/compute/sympy/lorentz/test_tau.py +170 -0
  155. vector-1.6.0/tests/compute/sympy/lorentz/test_tau2.py +164 -0
  156. vector-1.6.0/tests/compute/sympy/lorentz/test_to_beta3.py +342 -0
  157. vector-1.6.0/tests/compute/sympy/planar/__init__.py +4 -0
  158. vector-1.6.0/tests/compute/sympy/planar/test_deltaphi.py +67 -0
  159. vector-1.6.0/tests/compute/sympy/planar/test_phi.py +35 -0
  160. vector-1.6.0/tests/compute/sympy/planar/test_rho.py +33 -0
  161. vector-1.6.0/tests/compute/sympy/planar/test_rho2.py +33 -0
  162. vector-1.6.0/tests/compute/sympy/planar/test_rotateZ.py +35 -0
  163. vector-1.6.0/tests/compute/sympy/planar/test_x.py +33 -0
  164. vector-1.6.0/tests/compute/sympy/planar/test_y.py +33 -0
  165. vector-1.6.0/tests/compute/sympy/spatial/__init__.py +4 -0
  166. vector-1.6.0/tests/compute/sympy/spatial/test_costheta.py +99 -0
  167. vector-1.6.0/tests/compute/sympy/spatial/test_cottheta.py +91 -0
  168. vector-1.6.0/tests/compute/sympy/spatial/test_cross.py +57 -0
  169. vector-1.6.0/tests/compute/sympy/spatial/test_deltaR.py +110 -0
  170. vector-1.6.0/tests/compute/sympy/spatial/test_deltaR2.py +108 -0
  171. vector-1.6.0/tests/compute/sympy/spatial/test_deltaangle.py +90 -0
  172. vector-1.6.0/tests/compute/sympy/spatial/test_deltaeta.py +88 -0
  173. vector-1.6.0/tests/compute/sympy/spatial/test_eta.py +81 -0
  174. vector-1.6.0/tests/compute/sympy/spatial/test_mag.py +81 -0
  175. vector-1.6.0/tests/compute/sympy/spatial/test_mag2.py +84 -0
  176. vector-1.6.0/tests/compute/sympy/spatial/test_rotateX.py +78 -0
  177. vector-1.6.0/tests/compute/sympy/spatial/test_rotateY.py +78 -0
  178. vector-1.6.0/tests/compute/sympy/spatial/test_rotate_axis.py +111 -0
  179. vector-1.6.0/tests/compute/sympy/spatial/test_rotate_euler.py +43 -0
  180. vector-1.6.0/tests/compute/sympy/spatial/test_rotate_quaternion.py +43 -0
  181. vector-1.6.0/tests/compute/sympy/spatial/test_theta.py +81 -0
  182. vector-1.6.0/tests/compute/sympy/spatial/test_z.py +77 -0
  183. vector-1.6.0/tests/compute/sympy/test_add.py +121 -0
  184. vector-1.6.0/tests/compute/sympy/test_conversions.py +549 -0
  185. vector-1.6.0/tests/compute/sympy/test_dot.py +100 -0
  186. vector-1.6.0/tests/compute/sympy/test_equal.py +95 -0
  187. vector-1.6.0/tests/compute/sympy/test_is_antiparallel.py +76 -0
  188. vector-1.6.0/tests/compute/sympy/test_is_parallel.py +66 -0
  189. vector-1.6.0/tests/compute/sympy/test_is_perpendicular.py +68 -0
  190. vector-1.6.0/tests/compute/sympy/test_not_equal.py +95 -0
  191. vector-1.6.0/tests/compute/sympy/test_scale.py +305 -0
  192. vector-1.6.0/tests/compute/sympy/test_subtract.py +117 -0
  193. vector-1.6.0/tests/compute/sympy/test_unit.py +97 -0
  194. {vector-1.3.0 → vector-1.6.0}/tests/compute/test_add.py +0 -2
  195. {vector-1.3.0 → vector-1.6.0}/tests/compute/test_conversions.py +55 -33
  196. vector-1.6.0/tests/compute/test_is_antiparallel.py +124 -0
  197. vector-1.6.0/tests/compute/test_is_parallel.py +124 -0
  198. vector-1.6.0/tests/compute/test_is_perpendicular.py +124 -0
  199. {vector-1.3.0 → vector-1.6.0}/tests/compute/test_isclose.py +0 -2
  200. {vector-1.3.0 → vector-1.6.0}/tests/compute/test_scale.py +5 -5
  201. {vector-1.3.0 → vector-1.6.0}/tests/compute/test_unit.py +24 -24
  202. {vector-1.3.0 → vector-1.6.0}/tests/test_compute_features.py +20 -19
  203. vector-1.6.0/tests/test_issues.py +172 -0
  204. vector-1.6.0/tests/test_notebooks.py +42 -0
  205. vector-1.3.0/.github/workflows/cd.yml +0 -43
  206. vector-1.3.0/.github/workflows/ci.yml +0 -176
  207. vector-1.3.0/PKG-INFO +0 -830
  208. vector-1.3.0/README.md +0 -763
  209. vector-1.3.0/docs/_images/vector-logo.png +0 -0
  210. vector-1.3.0/docs/api/backends/vector.backends._numba.rst +0 -8
  211. vector-1.3.0/docs/api/backends/vector.backends._numba_object.rst +0 -8
  212. vector-1.3.0/docs/api/backends/vector.backends.awkward.rst +0 -8
  213. vector-1.3.0/docs/api/backends/vector.backends.awkward_constructors.rst +0 -8
  214. vector-1.3.0/docs/api/backends/vector.backends.numba_numpy.rst +0 -8
  215. vector-1.3.0/docs/api/backends/vector.backends.numpy.rst +0 -8
  216. vector-1.3.0/docs/api/backends/vector.backends.object.rst +0 -8
  217. vector-1.3.0/docs/api/backends/vector.backends.rst +0 -22
  218. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.Et.rst +0 -8
  219. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.Et2.rst +0 -8
  220. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.Mt.rst +0 -8
  221. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.Mt2.rst +0 -8
  222. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.add.rst +0 -8
  223. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.beta.rst +0 -8
  224. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.boostX_beta.rst +0 -8
  225. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.boostX_gamma.rst +0 -8
  226. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.boostY_beta.rst +0 -8
  227. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.boostY_gamma.rst +0 -8
  228. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.boostZ_beta.rst +0 -8
  229. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.boostZ_gamma.rst +0 -8
  230. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.boost_beta3.rst +0 -8
  231. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.boost_p4.rst +0 -8
  232. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.deltaRapidityPhi.rst +0 -8
  233. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.deltaRapidityPhi2.rst +0 -8
  234. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.dot.rst +0 -8
  235. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.equal.rst +0 -8
  236. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.gamma.rst +0 -8
  237. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.is_lightlike.rst +0 -8
  238. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.is_spacelike.rst +0 -8
  239. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.is_timelike.rst +0 -8
  240. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.isclose.rst +0 -8
  241. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.not_equal.rst +0 -8
  242. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.rapidity.rst +0 -8
  243. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.rst +0 -49
  244. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.scale.rst +0 -8
  245. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.subtract.rst +0 -8
  246. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.t.rst +0 -8
  247. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.t2.rst +0 -8
  248. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.tau.rst +0 -8
  249. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.tau2.rst +0 -8
  250. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.to_beta3.rst +0 -8
  251. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.transform4D.rst +0 -8
  252. vector-1.3.0/docs/api/compute/lorentz/vector._compute.lorentz.unit.rst +0 -8
  253. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.add.rst +0 -8
  254. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.deltaphi.rst +0 -8
  255. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.dot.rst +0 -8
  256. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.equal.rst +0 -8
  257. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.is_antiparallel.rst +0 -8
  258. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.is_parallel.rst +0 -8
  259. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.is_perpendicular.rst +0 -8
  260. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.isclose.rst +0 -8
  261. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.not_equal.rst +0 -8
  262. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.phi.rst +0 -8
  263. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.rho.rst +0 -8
  264. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.rho2.rst +0 -8
  265. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.rotateZ.rst +0 -8
  266. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.rst +0 -34
  267. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.scale.rst +0 -8
  268. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.subtract.rst +0 -8
  269. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.transform2D.rst +0 -8
  270. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.unit.rst +0 -8
  271. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.x.rst +0 -8
  272. vector-1.3.0/docs/api/compute/planar/vector._compute.planar.y.rst +0 -8
  273. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.add.rst +0 -8
  274. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.costheta.rst +0 -8
  275. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.cottheta.rst +0 -8
  276. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.cross.rst +0 -8
  277. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.deltaR.rst +0 -8
  278. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.deltaR2.rst +0 -8
  279. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.deltaangle.rst +0 -8
  280. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.deltaeta.rst +0 -8
  281. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.dot.rst +0 -8
  282. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.equal.rst +0 -8
  283. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.eta.rst +0 -8
  284. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.is_antiparallel.rst +0 -8
  285. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.is_parallel.rst +0 -8
  286. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.is_perpendicular.rst +0 -8
  287. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.isclose.rst +0 -8
  288. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.mag.rst +0 -8
  289. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.mag2.rst +0 -8
  290. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.not_equal.rst +0 -8
  291. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.rotateX.rst +0 -8
  292. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.rotateY.rst +0 -8
  293. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.rotate_axis.rst +0 -8
  294. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.rotate_euler.rst +0 -8
  295. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.rotate_quaternion.rst +0 -8
  296. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.rst +0 -44
  297. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.scale.rst +0 -8
  298. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.subtract.rst +0 -8
  299. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.theta.rst +0 -8
  300. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.transform3D.rst +0 -8
  301. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.unit.rst +0 -8
  302. vector-1.3.0/docs/api/compute/spatial/vector._compute.spatial.z.rst +0 -8
  303. vector-1.3.0/docs/api/compute/vector._compute.rst +0 -18
  304. vector-1.3.0/docs/api/inheritance.svg +0 -3413
  305. vector-1.3.0/docs/api/modules.rst +0 -7
  306. vector-1.3.0/docs/api/vector._methods.rst +0 -8
  307. vector-1.3.0/docs/api/vector._typeutils.rst +0 -8
  308. vector-1.3.0/docs/api/vector.rst +0 -21
  309. vector-1.3.0/docs/changelog.md +0 -358
  310. vector-1.3.0/docs/index.rst +0 -139
  311. vector-1.3.0/docs/usage/intro.ipynb +0 -2817
  312. vector-1.3.0/docs/usage/structure.md +0 -11
  313. vector-1.3.0/tests/backends/test_dask_awkward.py +0 -25
  314. vector-1.3.0/tests/compute/spatial/test_cross.py +0 -170
  315. vector-1.3.0/tests/samples/issue-161.pkl +0 -0
  316. vector-1.3.0/tests/test_issues.py +0 -49
  317. vector-1.3.0/tests/test_notebooks.py +0 -22
  318. {vector-1.3.0 → vector-1.6.0}/.all-contributorsrc +0 -0
  319. {vector-1.3.0 → vector-1.6.0}/.git_archival.txt +0 -0
  320. {vector-1.3.0 → vector-1.6.0}/.gitattributes +0 -0
  321. {vector-1.3.0 → vector-1.6.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  322. {vector-1.3.0 → vector-1.6.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  323. {vector-1.3.0 → vector-1.6.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  324. {vector-1.3.0 → vector-1.6.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  325. {vector-1.3.0 → vector-1.6.0}/.github/codecov.yml +0 -0
  326. {vector-1.3.0 → vector-1.6.0}/.github/dependabot.yml +0 -0
  327. {vector-1.3.0 → vector-1.6.0}/.github/matchers/pylint.json +0 -0
  328. {vector-1.3.0 → vector-1.6.0}/.gitignore +0 -0
  329. {vector-1.3.0 → vector-1.6.0}/.readthedocs.yml +0 -0
  330. {vector-1.3.0 → vector-1.6.0}/CITATION.cff +0 -0
  331. {vector-1.3.0 → vector-1.6.0}/LICENSE +0 -0
  332. {vector-1.3.0 → vector-1.6.0}/docs/Makefile +0 -0
  333. {vector-1.3.0 → vector-1.6.0}/docs/make.bat +0 -0
  334. {vector-1.3.0 → vector-1.6.0}/environment.yml +0 -0
  335. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/__init__.py +0 -0
  336. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/lorentz/__init__.py +0 -0
  337. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/planar/__init__.py +0 -0
  338. {vector-1.3.0 → vector-1.6.0}/src/vector/_compute/spatial/__init__.py +0 -0
  339. {vector-1.3.0 → vector-1.6.0}/src/vector/_typeutils.py +2 -2
  340. /vector-1.3.0/src/vector/version.pyi → /vector-1.6.0/src/vector/_version.pyi +0 -0
  341. {vector-1.3.0 → vector-1.6.0}/src/vector/backends/__init__.py +0 -0
  342. {vector-1.3.0 → vector-1.6.0}/src/vector/backends/_numba.py +0 -0
  343. {vector-1.3.0 → vector-1.6.0}/src/vector/backends/_numba_object.py +0 -0
  344. {vector-1.3.0 → vector-1.6.0}/src/vector/backends/numba_numpy.py +0 -0
  345. {vector-1.3.0 → vector-1.6.0}/src/vector/py.typed +0 -0
  346. {vector-1.3.0 → vector-1.6.0}/tests/__init__.py +0 -0
  347. {vector-1.3.0 → vector-1.6.0}/tests/backends/__init__.py +0 -0
  348. {vector-1.3.0 → vector-1.6.0}/tests/backends/test_awkward_numba.py +0 -0
  349. {vector-1.3.0 → vector-1.6.0}/tests/backends/test_numba_numpy.py +0 -0
  350. {vector-1.3.0 → vector-1.6.0}/tests/backends/test_numba_object.py +0 -0
  351. {vector-1.3.0 → vector-1.6.0}/tests/backends/test_numpy.py +0 -0
  352. {vector-1.3.0 → vector-1.6.0}/tests/backends/test_object.py +0 -0
  353. {vector-1.3.0 → vector-1.6.0}/tests/backends/test_operators.py +0 -0
  354. {vector-1.3.0 → vector-1.6.0}/tests/compute/__init__.py +0 -0
  355. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/__init__.py +0 -0
  356. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_Et.py +0 -0
  357. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_Et2.py +0 -0
  358. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_Mt.py +0 -0
  359. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_Mt2.py +0 -0
  360. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_beta.py +0 -0
  361. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_boostX_beta.py +0 -0
  362. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_boostX_gamma.py +0 -0
  363. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_boostY_beta.py +0 -0
  364. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_boostY_gamma.py +0 -0
  365. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_boostZ_beta.py +0 -0
  366. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_boostZ_gamma.py +0 -0
  367. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_boost_beta3.py +0 -0
  368. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_boost_p4.py +0 -0
  369. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_deltaRapidityPhi.py +0 -0
  370. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_deltaRapidityPhi2.py +0 -0
  371. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_gamma.py +0 -0
  372. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_rapidity.py +0 -0
  373. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_t.py +0 -0
  374. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_t2.py +0 -0
  375. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_tau.py +0 -0
  376. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_tau2.py +0 -0
  377. {vector-1.3.0 → vector-1.6.0}/tests/compute/lorentz/test_to_beta3.py +0 -0
  378. {vector-1.3.0 → vector-1.6.0}/tests/compute/planar/__init__.py +0 -0
  379. {vector-1.3.0 → vector-1.6.0}/tests/compute/planar/test_deltaphi.py +0 -0
  380. {vector-1.3.0 → vector-1.6.0}/tests/compute/planar/test_phi.py +0 -0
  381. {vector-1.3.0 → vector-1.6.0}/tests/compute/planar/test_rho.py +0 -0
  382. {vector-1.3.0 → vector-1.6.0}/tests/compute/planar/test_rho2.py +0 -0
  383. {vector-1.3.0 → vector-1.6.0}/tests/compute/planar/test_rotateZ.py +0 -0
  384. {vector-1.3.0 → vector-1.6.0}/tests/compute/planar/test_x.py +0 -0
  385. {vector-1.3.0 → vector-1.6.0}/tests/compute/planar/test_y.py +0 -0
  386. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/__init__.py +0 -0
  387. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_costheta.py +0 -0
  388. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_cottheta.py +0 -0
  389. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_deltaR.py +0 -0
  390. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_deltaR2.py +0 -0
  391. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_deltaangle.py +0 -0
  392. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_deltaeta.py +0 -0
  393. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_eta.py +0 -0
  394. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_mag.py +0 -0
  395. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_mag2.py +0 -0
  396. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_rotateX.py +0 -0
  397. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_rotateY.py +0 -0
  398. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_rotate_axis.py +0 -0
  399. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_rotate_euler.py +0 -0
  400. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_rotate_quaternion.py +0 -0
  401. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_theta.py +0 -0
  402. {vector-1.3.0 → vector-1.6.0}/tests/compute/spatial/test_z.py +0 -0
  403. {vector-1.3.0 → vector-1.6.0}/tests/compute/test_dot.py +0 -0
  404. {vector-1.3.0 → vector-1.6.0}/tests/compute/test_equal.py +0 -0
  405. {vector-1.3.0 → vector-1.6.0}/tests/compute/test_not_equal.py +0 -0
  406. {vector-1.3.0 → vector-1.6.0}/tests/compute/test_subtract.py +0 -0
  407. {vector-1.3.0 → vector-1.6.0}/tests/samples/issue-161-v2.pkl +0 -0
  408. {vector-1.3.0 → vector-1.6.0}/tests/test_methods.py +0 -0
@@ -51,13 +51,13 @@ The developer installation of `vector` comes with several options -
51
51
  These options can be used with `pip` with the editable (`-e`) mode of installation in the following way -
52
52
 
53
53
  ```bash
54
- pip install -e .[dev,test]
54
+ pip install -e ".[dev, test]"
55
55
  ```
56
56
 
57
57
  For example, if you want to install the `docs` dependencies along with the dependencies included above, use -
58
58
 
59
59
  ```bash
60
- pip install -e .[dev,test,docs]
60
+ pip install -e ".[dev, test, docs]"
61
61
  ```
62
62
 
63
63
  Furthermore, `vector` can also be installed using `conda`. This installation also requires using a virtual environment -
@@ -0,0 +1,56 @@
1
+ name: CD
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ release:
6
+ types:
7
+ - published
8
+
9
+ jobs:
10
+ dist:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ with:
15
+ fetch-depth: 0
16
+
17
+ - uses: hynek/build-and-inspect-python-package@v2
18
+
19
+ publish:
20
+ needs: [dist]
21
+ runs-on: ubuntu-latest
22
+ if: github.event_name == 'release' && github.event.action == 'published'
23
+ environment:
24
+ name: pypi
25
+ url: https://pypi.org/p/vector
26
+ permissions:
27
+ id-token: write
28
+ attestations: write
29
+
30
+ steps:
31
+ - uses: actions/download-artifact@v4
32
+ with:
33
+ name: Packages
34
+ path: dist
35
+
36
+ - name: List distributions to be deployed
37
+ run: ls -l dist/
38
+
39
+ - name: Generate artifact attestation for sdist and wheel
40
+ uses: actions/attest-build-provenance@7668571508540a607bdfd90a87a560489fe372eb # v2.1.0
41
+ with:
42
+ subject-path: "dist/vector-*"
43
+
44
+ - name: Verify sdist artifact attestation
45
+ env:
46
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47
+ run: gh attestation verify dist/vector-*.tar.gz --repo ${{ github.repository }}
48
+
49
+ - name: Verify wheel artifact attestation
50
+ env:
51
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
52
+ run: gh attestation verify dist/vector-*.whl --repo ${{ github.repository }}
53
+
54
+ - uses: pypa/gh-action-pypi-publish@release/v1
55
+ with:
56
+ attestations: true
@@ -0,0 +1,134 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - main
8
+ - develop
9
+ workflow_dispatch:
10
+
11
+ concurrency:
12
+ # Skip intermediate builds: always.
13
+ # Cancel intermediate builds: only if it is a pull request build.
14
+ group: ${{ github.workflow }}-${{ github.ref }}
15
+ cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
16
+
17
+ env:
18
+ # The "FORCE_COLOR" variable, when set to 1,
19
+ # tells Nox to colorize itself.
20
+ FORCE_COLOR: "1"
21
+
22
+ jobs:
23
+ pre-commit:
24
+ runs-on: ubuntu-latest
25
+ name: Check SDist
26
+ steps:
27
+ - uses: actions/checkout@v4
28
+ - uses: actions/setup-python@v5
29
+ with:
30
+ python-version: 3.x
31
+ - uses: astral-sh/setup-uv@v5
32
+ - name: PyLint
33
+ run: uvx nox -s pylint -- --output-format=github
34
+
35
+ check-lite:
36
+ runs-on: ubuntu-latest
37
+ strategy:
38
+ fail-fast: false
39
+ matrix:
40
+ python-version:
41
+ - "3.8"
42
+ - "3.9"
43
+ - "3.10"
44
+ - "3.11"
45
+ - "3.12"
46
+ - "3.13"
47
+ name: Python ${{ matrix.python-version }} - Lite
48
+ steps:
49
+ - uses: actions/checkout@v4
50
+
51
+ - uses: actions/setup-python@v5
52
+ with:
53
+ python-version: ${{ matrix.python-version }}
54
+ allow-prereleases: true
55
+
56
+ - uses: astral-sh/setup-uv@v5
57
+
58
+ - name: Test lite package
59
+ run: uvx nox -s lite-${{ matrix.python-version }} --verbose
60
+
61
+ check-full:
62
+ needs: [check-lite]
63
+ runs-on: ubuntu-latest
64
+ strategy:
65
+ fail-fast: false
66
+ matrix:
67
+ python-version:
68
+ - "3.8"
69
+ - "3.9"
70
+ - "3.10"
71
+ - "3.11"
72
+ - "3.12"
73
+ - "3.13"
74
+ name: Python ${{ matrix.python-version }} - Full
75
+ steps:
76
+ - uses: actions/checkout@v4
77
+
78
+ - uses: actions/setup-python@v5
79
+ with:
80
+ python-version: ${{ matrix.python-version }}
81
+ allow-prereleases: true
82
+
83
+ - uses: astral-sh/setup-uv@v5
84
+
85
+ - name: Install nox
86
+ run: uv tool install nox
87
+
88
+ - name: Run doctests on Python 3.11
89
+ if: matrix.python-version == 3.11
90
+ run: nox -s doctests-${{ matrix.python-version }} --verbose
91
+
92
+ - name: Test package and generate coverage report
93
+ run: nox -s coverage-${{ matrix.python-version }} --verbose
94
+
95
+ - name: Upload coverage report
96
+ uses: codecov/codecov-action@v5.1.2
97
+ with:
98
+ token: ${{ secrets.CODECOV_TOKEN }}
99
+
100
+ discheck:
101
+ runs-on: ubuntu-latest
102
+ name: Disassemble check
103
+ steps:
104
+ - uses: actions/checkout@v4
105
+
106
+ - uses: actions/setup-python@v5
107
+ with:
108
+ python-version: 3.8.13
109
+
110
+ - uses: astral-sh/setup-uv@v5
111
+
112
+ - name: Test compute features
113
+ run: uvx nox -s disassemble --verbose
114
+
115
+ pass:
116
+ needs: [pre-commit, check-lite, check-full, discheck]
117
+ runs-on: ubuntu-latest
118
+ steps:
119
+ - run: echo "All jobs passed"
120
+
121
+ # root:
122
+ # runs-on: ubuntu-latest
123
+ # steps:
124
+ # - uses: actions/checkout@v4
125
+
126
+ # - name: Get Conda
127
+ # uses: conda-incubator/setup-miniconda@v2
128
+ # with:
129
+ # environment-file: environment.yml
130
+ # activate-environment: vector
131
+
132
+ # - name: Run tests
133
+ # shell: "bash -l {0}"
134
+ # run: python -m pytest tests/root_tests -ra
@@ -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
@@ -4,7 +4,7 @@ ci:
4
4
 
5
5
  repos:
6
6
  - repo: https://github.com/pre-commit/pre-commit-hooks
7
- rev: v4.5.0
7
+ rev: v5.0.0
8
8
  hooks:
9
9
  - id: check-added-large-files
10
10
  - id: check-case-conflict
@@ -19,19 +19,14 @@ repos:
19
19
  - id: trailing-whitespace
20
20
 
21
21
  - repo: https://github.com/astral-sh/ruff-pre-commit
22
- rev: "v0.2.2"
22
+ rev: "v0.9.1"
23
23
  hooks:
24
24
  - id: ruff
25
25
  args: ["--fix", "--show-fixes"]
26
26
  - id: ruff-format
27
27
 
28
- - repo: https://github.com/tox-dev/pyproject-fmt
29
- rev: "1.7.0"
30
- hooks:
31
- - id: pyproject-fmt
32
-
33
28
  - repo: https://github.com/pre-commit/mirrors-mypy
34
- rev: v1.8.0
29
+ rev: v1.14.1
35
30
  hooks:
36
31
  - id: mypy
37
32
  files: src
@@ -39,25 +34,27 @@ repos:
39
34
  additional_dependencies:
40
35
  - numpy
41
36
  - packaging
37
+ - sympy
42
38
 
43
39
  - repo: https://github.com/codespell-project/codespell
44
- rev: v2.2.6
40
+ rev: v2.3.0
45
41
  hooks:
46
42
  - id: codespell
43
+ exclude: ^docs/usage/intro.ipynb$
47
44
 
48
- - repo: https://github.com/pre-commit/mirrors-prettier
49
- rev: "v4.0.0-alpha.8"
45
+ - repo: https://github.com/rbubley/mirrors-prettier
46
+ rev: "v3.4.2"
50
47
  hooks:
51
48
  - id: prettier
52
49
  types_or: [yaml, markdown, html, css, scss, javascript, json]
53
50
  exclude: assets/js/webapp\.js
54
51
 
55
52
  - repo: https://github.com/adamchainz/blacken-docs
56
- rev: 1.16.0
53
+ rev: 1.19.1
57
54
  hooks:
58
55
  - id: blacken-docs
59
56
  args: ["-E"]
60
- additional_dependencies: [black==23.1.0]
57
+ additional_dependencies: [black~=24.0]
61
58
 
62
59
  - repo: https://github.com/pre-commit/pygrep-hooks
63
60
  rev: v1.10.0
@@ -67,11 +64,3 @@ repos:
67
64
  - id: rst-backticks
68
65
  - id: rst-directive-colons
69
66
  - id: rst-inline-touching-normal
70
-
71
- - repo: https://github.com/nbQA-dev/nbQA
72
- rev: 1.7.1
73
- hooks:
74
- - id: nbqa-pyupgrade
75
- args: ["--py37-plus"]
76
- - id: nbqa-isort
77
- args: ["--float-to-top"]
vector-1.6.0/PKG-INFO ADDED
@@ -0,0 +1,253 @@
1
+ Metadata-Version: 2.4
2
+ Name: vector
3
+ Version: 1.6.0
4
+ Summary: Vector classes and utilities
5
+ Project-URL: Bug Tracker, https://github.com/scikit-hep/vector/issues
6
+ Project-URL: Changelog, https://vector.readthedocs.io/en/latest/changelog.html
7
+ Project-URL: Discussions, https://github.com/scikit-hep/vector/discussions
8
+ Project-URL: Documentation, https://vector.readthedocs.io/
9
+ Project-URL: Homepage, https://github.com/scikit-hep/vector
10
+ Author-email: "Jim Pivarski, Henry Schreiner, Eduardo Rodrigues" <eduardo.rodrigues@cern.ch>
11
+ Maintainer-email: The Scikit-HEP admins <scikit-hep-admins@googlegroups.com>
12
+ License-File: LICENSE
13
+ Keywords: vector
14
+ Classifier: Development Status :: 5 - Production/Stable
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: Science/Research
17
+ Classifier: License :: OSI Approved :: BSD License
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Programming Language :: Python
20
+ Classifier: Programming Language :: Python :: 3 :: Only
21
+ Classifier: Programming Language :: Python :: 3.8
22
+ Classifier: Programming Language :: Python :: 3.9
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Topic :: Scientific/Engineering
28
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
29
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
30
+ Classifier: Topic :: Scientific/Engineering :: Physics
31
+ Classifier: Typing :: Typed
32
+ Requires-Python: >=3.8
33
+ Requires-Dist: numpy>=1.13.3
34
+ Requires-Dist: packaging>=19
35
+ Provides-Extra: awkward
36
+ Requires-Dist: awkward>=2; extra == 'awkward'
37
+ Provides-Extra: dev
38
+ Requires-Dist: awkward>=2; extra == 'dev'
39
+ Requires-Dist: dask-awkward; extra == 'dev'
40
+ Requires-Dist: nox; extra == 'dev'
41
+ Requires-Dist: numba>=0.57; (python_version < '3.13') and extra == 'dev'
42
+ Requires-Dist: papermill>=2.4; extra == 'dev'
43
+ Requires-Dist: pytest-cov>=3; extra == 'dev'
44
+ Requires-Dist: pytest-doctestplus; extra == 'dev'
45
+ Requires-Dist: pytest>=6; extra == 'dev'
46
+ Requires-Dist: sympy; extra == 'dev'
47
+ Provides-Extra: docs
48
+ Requires-Dist: awkward>=2; extra == 'docs'
49
+ Requires-Dist: ipykernel; extra == 'docs'
50
+ Requires-Dist: myst-parser>0.13; extra == 'docs'
51
+ Requires-Dist: nbsphinx; extra == 'docs'
52
+ Requires-Dist: sphinx-book-theme>=0.0.42; extra == 'docs'
53
+ Requires-Dist: sphinx-copybutton; extra == 'docs'
54
+ Requires-Dist: sphinx-math-dollar; extra == 'docs'
55
+ Requires-Dist: sphinx>=4; extra == 'docs'
56
+ Requires-Dist: sympy; extra == 'docs'
57
+ Provides-Extra: numba
58
+ Requires-Dist: numba>=0.57; (python_version < '3.13') and extra == 'numba'
59
+ Provides-Extra: sympy
60
+ Requires-Dist: sympy; extra == 'sympy'
61
+ Provides-Extra: test
62
+ Requires-Dist: nox; extra == 'test'
63
+ Requires-Dist: papermill>=2.4; extra == 'test'
64
+ Requires-Dist: pytest-cov>=3; extra == 'test'
65
+ Requires-Dist: pytest-doctestplus; extra == 'test'
66
+ Requires-Dist: pytest>=6; extra == 'test'
67
+ Provides-Extra: test-extras
68
+ Requires-Dist: dask-awkward; extra == 'test-extras'
69
+ Requires-Dist: spark-parser; extra == 'test-extras'
70
+ Requires-Dist: uncompyle6; (python_version == '3.8') and extra == 'test-extras'
71
+ Description-Content-Type: text/markdown
72
+
73
+ <img alt="Vector logo" width="50%" src="https://raw.githubusercontent.com/scikit-hep/vector/main/docs/_images/LogoSrc.svg"/>
74
+
75
+ # Vector: arrays of 2D, 3D, and Lorentz vectors
76
+
77
+ [![Actions Status][actions-badge]][actions-link]
78
+ [![Documentation Status][rtd-badge]][rtd-link]
79
+ [![pre-commit.ci status][pre-commit-badge]][pre-commit-link]
80
+ [![codecov percentage][codecov-badge]][codecov-link]
81
+ [![GitHub Discussion][github-discussions-badge]][github-discussions-link]
82
+ [![Gitter][gitter-badge]][gitter-link]
83
+
84
+ [![PyPI platforms][pypi-platforms]][pypi-link]
85
+ [![PyPI version][pypi-version]][pypi-link]
86
+ [![Conda latest release][conda-version]][conda-link]
87
+ [![DOI][zenodo-badge]][zenodo-link]
88
+ [![LICENSE][license-badge]][license-link]
89
+ [![Scikit-HEP][sk-badge]][sk-link]
90
+
91
+ ## Installation
92
+
93
+ You can install Vector with [pip](https://pypi.org/project/vector/) and [conda](https://anaconda.org/conda-forge/vector).
94
+
95
+ ```bash
96
+ pip install vector
97
+ ```
98
+
99
+ ## Introduction
100
+
101
+ Vector is a Python library for 2D and 3D spatial vectors, as well as 4D space-time vectors. It is especially intended for performing geometric calculations on _arrays of vectors_, rather than one vector at a time in a Python for loop.
102
+
103
+ Vector is part of the [Scikit-HEP project](https://scikit-hep.org/), High Energy Physics (HEP) tools in Python.
104
+
105
+ ### Coordinate systems
106
+
107
+ Vectors may be expressed in any of these coordinate systems:
108
+
109
+ - the azimuthal plane may be Cartesian `x` `y` or polar `rho` ($\rho$) `phi` ($\phi$)
110
+ - the longitudinal axis may be Cartesian `z`, polar `theta` ($\theta$), or pseudorapidity `eta` ($\eta$)
111
+ - the temporal component for space-time vectors may be Cartesian `t` or proper time `tau` ($\tau$)
112
+
113
+ in any combination. (That is, 4D vectors have 2×3×2 = 12 distinct coordinate systems.)
114
+
115
+ <img alt="Diagram of coordinate systems" width="100%" src="https://raw.githubusercontent.com/scikit-hep/vector/main/docs/_images/coordinate-systems.svg"/>
116
+
117
+ ### Backends
118
+
119
+ Vectors may be included in any of these data types:
120
+
121
+ - [vector.obj](https://vector.readthedocs.io/en/latest/src/make_object.html) objects (pure Python)
122
+ - [NumPy structured arrays](https://numpy.org/doc/stable/user/basics.rec.html) of vectors
123
+ - [Awkward Arrays](https://awkward-array.org/) of vectors (possibly within variable-length lists or nested record structures)
124
+ - [SymPy expressions](https://www.sympy.org/en/index.html) for symbolic (non-numeric) manipulations
125
+ - In [Numba-compiled functions](https://numba.pydata.org/), with [vector.obj](https://vector.readthedocs.io/en/latest/src/make_object.html) objects or Awkward Arrays
126
+
127
+ Each of these "backends" provides the same suite of properties and methods, through a common "compute" library.
128
+
129
+ ### Geometric versus momentum
130
+
131
+ Finally, vectors come in two flavors:
132
+
133
+ - geometric: only one name for each property or method
134
+ - momentum: same property or method can be accessed with several synonyms, such as `pt` ($p_T$, transverse momentum) for the azimuthal magnitude `rho` ($\rho$) and `energy` and `mass` for the Cartesian time `t` and proper time `tau` ($\tau$).
135
+
136
+ ### Familiar conventions
137
+
138
+ Names and coordinate conventions were chosen to align with [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://coffea-hep.readthedocs.io/en/latest/modules/coffea.nanoevents.methods.vector.html).
139
+
140
+ ## Getting help
141
+
142
+ - Source code on GitHub: [scikit-hep/vector](https://github.com/scikit-hep/vector)
143
+ - Report bugs and request features on the [GitHub Issues page](https://github.com/scikit-hep/vector/issues)
144
+ - Ask questions on the [GitHub Discussions page](https://github.com/scikit-hep/vector/discussions)
145
+ - Real-time chat on Gitter: [Scikit-HEP/Vector](https://gitter.im/Scikit-HEP/vector)
146
+
147
+ ## Contributing to Vector
148
+
149
+ If you want to contribute to Vector, [pull requests](https://github.com/scikit-hep/vector/pulls) are welcome!
150
+
151
+ Please install the latest version of the `main` branch from source or a fork:
152
+
153
+ ```bash
154
+ git clone https://github.com/scikit-hep/vector.git
155
+ cd vector
156
+ pip install -e .
157
+ ```
158
+
159
+ Refer to [CONTRIBUTING.md](https://github.com/scikit-hep/vector/blob/main/.github/CONTRIBUTING.md) for more.
160
+
161
+ ## Documentation
162
+
163
+ ### Tutorials
164
+
165
+ - [Vector objects](https://vector.readthedocs.io/en/latest/src/object.html)
166
+ - [NumPy arrays of vectors](https://vector.readthedocs.io/en/latest/src/numpy.html)
167
+ - [Awkward Arrays of vectors](https://vector.readthedocs.io/en/latest/src/awkward.html)
168
+ - [Compiling functions on vectors with Numba](https://vector.readthedocs.io/en/latest/src/numba.html)
169
+ - [Vector expressions with SymPy](https://vector.readthedocs.io/en/latest/src/sympy.html)
170
+
171
+ ### Vector constructors
172
+
173
+ - [Making vector objects](https://vector.readthedocs.io/en/latest/src/make_object.html)
174
+ - [Making NumPy arrays of vectors](https://vector.readthedocs.io/en/latest/src/make_numpy.html)
175
+ - [Making Awkward Arrays of vectors](https://vector.readthedocs.io/en/latest/src/make_awkward.html)
176
+ - [Making SymPy vector expressions](https://vector.readthedocs.io/en/latest/src/make_sympy.html)
177
+
178
+ ### Vector functions
179
+
180
+ - [Interface for all vectors](https://vector.readthedocs.io/en/latest/src/common.html)
181
+ - [Interface for 2D vectors](https://vector.readthedocs.io/en/latest/src/vector2d.html)
182
+ - [Interface for 3D vectors](https://vector.readthedocs.io/en/latest/src/vector3d.html)
183
+ - [Interface for 4D vectors](https://vector.readthedocs.io/en/latest/src/vector4d.html)
184
+ - [Interface for 2D momentum](https://vector.readthedocs.io/en/latest/src/momentum2d.html)
185
+ - [Interface for 3D momentum](https://vector.readthedocs.io/en/latest/src/momentum3d.html)
186
+ - [Interface for 4D momentum](https://vector.readthedocs.io/en/latest/src/momentum4d.html)
187
+
188
+ ### More ways to learn
189
+
190
+ - [Presentations about Vector](https://vector.readthedocs.io/en/latest/src/talks.html)
191
+
192
+ ## Contributors
193
+
194
+ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
195
+
196
+ <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
197
+ <!-- prettier-ignore-start -->
198
+ <!-- markdownlint-disable -->
199
+ <table>
200
+ <tr>
201
+ <td align="center"><a href="https://github.com/jpivarski"><img src="https://avatars.githubusercontent.com/u/1852447?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jim Pivarski</b></sub></a><br /><a href="#maintenance-jpivarski" title="Maintenance">🚧</a> <a href="https://github.com/scikit-hep/vector/commits?author=jpivarski" title="Code">💻</a> <a href="https://github.com/scikit-hep/vector/commits?author=jpivarski" title="Documentation">📖</a></td>
202
+ <td align="center"><a href="https://github.com/henryiii"><img src="https://avatars.githubusercontent.com/u/4616906?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Henry Schreiner</b></sub></a><br /><a href="#maintenance-henryiii" title="Maintenance">🚧</a> <a href="https://github.com/scikit-hep/vector/commits?author=henryiii" title="Code">💻</a> <a href="https://github.com/scikit-hep/vector/commits?author=henryiii" title="Documentation">📖</a></td>
203
+ <td align="center"><a href="https://github.com/eduardo-rodrigues"><img src="https://avatars.githubusercontent.com/u/5013581?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Eduardo Rodrigues</b></sub></a><br /><a href="#maintenance-eduardo-rodrigues" title="Maintenance">🚧</a> <a href="https://github.com/scikit-hep/vector/commits?author=eduardo-rodrigues" title="Code">💻</a> <a href="https://github.com/scikit-hep/vector/commits?author=eduardo-rodrigues" title="Documentation">📖</a></td>
204
+ <td align="center"><a href="http://lovelybuggies.com.cn/"><img src="https://avatars.githubusercontent.com/u/29083689?v=4?s=100" width="100px;" alt=""/><br /><sub><b>N!no</b></sub></a><br /><a href="https://github.com/scikit-hep/vector/commits?author=LovelyBuggies" title="Documentation">📖</a></td>
205
+ <td align="center"><a href="https://github.com/pfackeldey"><img src="https://avatars.githubusercontent.com/u/18463582?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Peter Fackeldey</b></sub></a><br /><a href="https://github.com/scikit-hep/vector/commits?author=pfackeldey" title="Documentation">📖</a></td>
206
+ <td align="center"><a href="https://github.com/kreczko"><img src="https://avatars.githubusercontent.com/u/1213276?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Luke Kreczko</b></sub></a><br /><a href="https://github.com/scikit-hep/vector/commits?author=kreczko" title="Code">💻</a></td>
207
+ <td align="center"><a href="https://github.com/nsmith-"><img src="https://avatars.githubusercontent.com/u/6587412?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nicholas Smith</b></sub></a><br /><a href="#ideas-nsmith-" title="Ideas, Planning, & Feedback">🤔</a></td>
208
+ </tr>
209
+ <tr>
210
+ <td align="center"><a href="https://github.com/mayou36"><img src="https://avatars.githubusercontent.com/u/17454848?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jonas Eschle</b></sub></a><br /><a href="#ideas-mayou36" title="Ideas, Planning, & Feedback">🤔</a></td>
211
+ </tr>
212
+ </table>
213
+
214
+ <!-- markdownlint-restore -->
215
+ <!-- prettier-ignore-end -->
216
+
217
+ <!-- ALL-CONTRIBUTORS-LIST:END -->
218
+
219
+ This project follows the
220
+ [all-contributors](https://github.com/all-contributors/all-contributors)
221
+ specification. Contributions of any kind welcome! See
222
+ [CONTRIBUTING.md](./.github/CONTRIBUTING.md) for information on setting up a
223
+ development environment.
224
+
225
+ ## Acknowledgements
226
+
227
+ This library was primarily developed by Saransh Chopra, Henry Schreiner, Jim Pivarski, Eduardo Rodrigues, and Jonas Eschle.
228
+
229
+ Support for this work was provided by the National Science Foundation cooperative agreement [OAC-1836650](https://www.nsf.gov/awardsearch/showAward?AWD_ID=1836650) and [PHY-2323298](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2323298) (IRIS-HEP) and [OAC-1450377](https://www.nsf.gov/awardsearch/showAward?AWD_ID=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.
230
+
231
+ [actions-badge]: https://github.com/scikit-hep/vector/actions/workflows/ci.yml/badge.svg
232
+ [actions-link]: https://github.com/scikit-hep/vector/actions
233
+ [codecov-badge]: https://codecov.io/gh/scikit-hep/vector/branch/main/graph/badge.svg?token=YBv60ueORQ
234
+ [codecov-link]: https://codecov.io/gh/scikit-hep/vector
235
+ [conda-version]: https://img.shields.io/conda/vn/conda-forge/vector.svg
236
+ [conda-link]: https://github.com/conda-forge/vector-feedstock
237
+ [github-discussions-badge]: https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
238
+ [github-discussions-link]: https://github.com/scikit-hep/vector/discussions
239
+ [gitter-badge]: https://badges.gitter.im/Scikit-HEP/vector.svg
240
+ [gitter-link]: https://gitter.im/Scikit-HEP/vector?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
241
+ [license-badge]: https://img.shields.io/badge/License-BSD_3--Clause-blue.svg
242
+ [license-link]: https://opensource.org/licenses/BSD-3-Clause
243
+ [pre-commit-badge]: https://results.pre-commit.ci/badge/github/scikit-hep/vector/main.svg
244
+ [pre-commit-link]: https://results.pre-commit.ci/repo/github/scikit-hep/vector
245
+ [pypi-link]: https://pypi.org/project/vector/
246
+ [pypi-platforms]: https://img.shields.io/pypi/pyversions/vector
247
+ [pypi-version]: https://badge.fury.io/py/vector.svg
248
+ [rtd-badge]: https://readthedocs.org/projects/vector/badge/?version=latest
249
+ [rtd-link]: https://vector.readthedocs.io/en/latest/?badge=latest
250
+ [sk-badge]: https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg
251
+ [sk-link]: https://scikit-hep.org/
252
+ [zenodo-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.7054478.svg
253
+ [zenodo-link]: https://doi.org/10.5281/zenodo.7054478