vector 1.6.2__tar.gz → 1.6.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (305) hide show
  1. {vector-1.6.2 → vector-1.6.3}/.all-contributorsrc +13 -1
  2. vector-1.6.3/.github/codecov.yml +3 -0
  3. {vector-1.6.2 → vector-1.6.3}/.github/workflows/cd.yml +1 -1
  4. {vector-1.6.2 → vector-1.6.3}/.github/workflows/ci.yml +5 -5
  5. {vector-1.6.2 → vector-1.6.3}/.pre-commit-config.yaml +4 -4
  6. vector-1.6.3/CITATION.cff +56 -0
  7. {vector-1.6.2/.github → vector-1.6.3}/CONTRIBUTING.md +26 -14
  8. {vector-1.6.2 → vector-1.6.3}/PKG-INFO +48 -22
  9. {vector-1.6.2 → vector-1.6.3}/README.md +45 -19
  10. vector-1.6.3/docs/_static/css/awkward_output.css +9 -0
  11. {vector-1.6.2 → vector-1.6.3}/docs/conf.py +2 -1
  12. {vector-1.6.2 → vector-1.6.3}/docs/index.md +29 -6
  13. {vector-1.6.2 → vector-1.6.3}/docs/src/talks.md +8 -2
  14. {vector-1.6.2 → vector-1.6.3}/noxfile.py +1 -1
  15. {vector-1.6.2 → vector-1.6.3}/pyproject.toml +17 -3
  16. {vector-1.6.2 → vector-1.6.3}/src/vector/__init__.py +1 -1
  17. {vector-1.6.2/tests → vector-1.6.3/src/vector/_compute}/__init__.py +1 -1
  18. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/Et.py +1 -1
  19. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/Et2.py +1 -1
  20. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/Mt.py +1 -1
  21. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/Mt2.py +1 -1
  22. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/__init__.py +1 -1
  23. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/add.py +1 -1
  24. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/beta.py +1 -1
  25. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/boostX_beta.py +1 -1
  26. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/boostX_gamma.py +1 -1
  27. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/boostY_beta.py +1 -1
  28. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/boostY_gamma.py +1 -1
  29. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/boostZ_beta.py +1 -1
  30. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/boostZ_gamma.py +1 -1
  31. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/boost_beta3.py +1 -1
  32. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/boost_p4.py +1 -1
  33. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/deltaRapidityPhi.py +1 -1
  34. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/deltaRapidityPhi2.py +1 -1
  35. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/dot.py +1 -1
  36. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/equal.py +1 -1
  37. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/gamma.py +1 -1
  38. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/is_lightlike.py +1 -1
  39. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/is_spacelike.py +1 -1
  40. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/is_timelike.py +1 -1
  41. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/isclose.py +1 -1
  42. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/not_equal.py +1 -1
  43. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/rapidity.py +1 -1
  44. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/scale.py +1 -1
  45. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/subtract.py +1 -1
  46. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/t.py +1 -1
  47. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/t2.py +1 -1
  48. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/tau.py +1 -1
  49. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/tau2.py +1 -1
  50. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/to_beta3.py +1 -1
  51. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/transform4D.py +1 -1
  52. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/lorentz/unit.py +1 -1
  53. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/__init__.py +1 -1
  54. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/add.py +1 -1
  55. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/deltaphi.py +1 -1
  56. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/dot.py +1 -1
  57. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/equal.py +1 -1
  58. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/is_antiparallel.py +1 -1
  59. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/is_parallel.py +1 -1
  60. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/is_perpendicular.py +1 -1
  61. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/isclose.py +1 -1
  62. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/not_equal.py +1 -1
  63. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/phi.py +1 -1
  64. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/rho.py +1 -1
  65. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/rho2.py +1 -1
  66. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/rotateZ.py +1 -1
  67. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/scale.py +1 -1
  68. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/subtract.py +1 -1
  69. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/transform2D.py +1 -1
  70. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/unit.py +1 -1
  71. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/x.py +1 -1
  72. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/planar/y.py +1 -1
  73. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/__init__.py +1 -1
  74. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/add.py +1 -1
  75. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/costheta.py +1 -1
  76. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/cottheta.py +1 -1
  77. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/cross.py +1 -1
  78. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/deltaR.py +1 -1
  79. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/deltaR2.py +1 -1
  80. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/deltaangle.py +1 -1
  81. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/deltaeta.py +1 -1
  82. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/dot.py +1 -1
  83. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/equal.py +1 -1
  84. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/eta.py +16 -13
  85. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/is_antiparallel.py +1 -1
  86. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/is_parallel.py +1 -1
  87. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/is_perpendicular.py +1 -1
  88. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/isclose.py +1 -1
  89. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/mag.py +1 -1
  90. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/mag2.py +1 -1
  91. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/not_equal.py +1 -1
  92. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/rotateX.py +1 -1
  93. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/rotateY.py +1 -1
  94. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/rotate_axis.py +1 -1
  95. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/rotate_euler.py +1 -1
  96. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/rotate_quaternion.py +1 -1
  97. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/scale.py +1 -1
  98. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/subtract.py +1 -1
  99. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/theta.py +1 -1
  100. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/transform3D.py +1 -1
  101. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/unit.py +1 -1
  102. {vector-1.6.2 → vector-1.6.3}/src/vector/_compute/spatial/z.py +1 -1
  103. {vector-1.6.2 → vector-1.6.3}/src/vector/_methods.py +1 -1
  104. {vector-1.6.2 → vector-1.6.3}/src/vector/_typeutils.py +1 -1
  105. {vector-1.6.2 → vector-1.6.3}/src/vector/_version.py +2 -2
  106. {vector-1.6.2 → vector-1.6.3}/src/vector/backends/__init__.py +1 -1
  107. {vector-1.6.2 → vector-1.6.3}/src/vector/backends/_numba.py +1 -1
  108. {vector-1.6.2 → vector-1.6.3}/src/vector/backends/_numba_object.py +11 -25
  109. {vector-1.6.2 → vector-1.6.3}/src/vector/backends/awkward.py +2 -2
  110. {vector-1.6.2 → vector-1.6.3}/src/vector/backends/awkward_constructors.py +8 -9
  111. {vector-1.6.2 → vector-1.6.3}/src/vector/backends/numba_numpy.py +1 -1
  112. {vector-1.6.2 → vector-1.6.3}/src/vector/backends/numpy.py +19 -37
  113. {vector-1.6.2 → vector-1.6.3}/src/vector/backends/object.py +53 -12
  114. {vector-1.6.2 → vector-1.6.3}/src/vector/backends/sympy.py +102 -4
  115. {vector-1.6.2/src/vector/_compute → vector-1.6.3/tests}/__init__.py +1 -1
  116. {vector-1.6.2 → vector-1.6.3}/tests/backends/__init__.py +1 -1
  117. {vector-1.6.2 → vector-1.6.3}/tests/backends/test_awkward.py +1 -1
  118. {vector-1.6.2 → vector-1.6.3}/tests/backends/test_awkward_numba.py +1 -1
  119. {vector-1.6.2 → vector-1.6.3}/tests/backends/test_dask_awkward.py +1 -1
  120. {vector-1.6.2 → vector-1.6.3}/tests/backends/test_numba_numpy.py +1 -1
  121. {vector-1.6.2 → vector-1.6.3}/tests/backends/test_numba_object.py +1 -1
  122. {vector-1.6.2 → vector-1.6.3}/tests/backends/test_numpy.py +1 -1
  123. vector-1.6.3/tests/backends/test_object.py +453 -0
  124. {vector-1.6.2 → vector-1.6.3}/tests/backends/test_operators.py +1 -1
  125. {vector-1.6.2 → vector-1.6.3}/tests/backends/test_sympy.py +1 -1
  126. {vector-1.6.2 → vector-1.6.3}/tests/compute/__init__.py +1 -1
  127. vector-1.6.3/tests/compute/lorentz/__init__.py +4 -0
  128. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_Et.py +1 -1
  129. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_Et2.py +1 -1
  130. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_Mt.py +1 -1
  131. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_Mt2.py +1 -1
  132. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_beta.py +1 -1
  133. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_boostX_beta.py +1 -1
  134. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_boostX_gamma.py +1 -1
  135. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_boostY_beta.py +1 -1
  136. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_boostY_gamma.py +1 -1
  137. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_boostZ_beta.py +1 -1
  138. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_boostZ_gamma.py +1 -1
  139. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_boost_beta3.py +1 -1
  140. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_boost_p4.py +1 -1
  141. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_deltaRapidityPhi.py +1 -1
  142. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_deltaRapidityPhi2.py +1 -1
  143. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_gamma.py +1 -1
  144. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_is_lightlike.py +1 -1
  145. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_rapidity.py +1 -1
  146. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_t.py +1 -1
  147. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_t2.py +1 -1
  148. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_tau.py +1 -1
  149. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_tau2.py +1 -1
  150. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_to_beta3.py +1 -1
  151. vector-1.6.3/tests/compute/planar/__init__.py +4 -0
  152. {vector-1.6.2 → vector-1.6.3}/tests/compute/planar/test_deltaphi.py +1 -1
  153. {vector-1.6.2 → vector-1.6.3}/tests/compute/planar/test_phi.py +1 -1
  154. {vector-1.6.2 → vector-1.6.3}/tests/compute/planar/test_rho.py +1 -1
  155. {vector-1.6.2 → vector-1.6.3}/tests/compute/planar/test_rho2.py +1 -1
  156. {vector-1.6.2 → vector-1.6.3}/tests/compute/planar/test_rotateZ.py +1 -1
  157. {vector-1.6.2 → vector-1.6.3}/tests/compute/planar/test_x.py +1 -1
  158. {vector-1.6.2 → vector-1.6.3}/tests/compute/planar/test_y.py +1 -1
  159. vector-1.6.3/tests/compute/spatial/__init__.py +4 -0
  160. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_costheta.py +1 -1
  161. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_cottheta.py +1 -1
  162. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_cross.py +1 -1
  163. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_deltaR.py +1 -1
  164. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_deltaR2.py +1 -1
  165. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_deltaangle.py +1 -1
  166. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_deltaeta.py +1 -1
  167. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_eta.py +1 -1
  168. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_mag.py +1 -1
  169. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_mag2.py +1 -1
  170. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_rotateX.py +1 -1
  171. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_rotateY.py +1 -1
  172. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_rotate_axis.py +1 -1
  173. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_rotate_euler.py +1 -1
  174. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_rotate_quaternion.py +1 -1
  175. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_theta.py +1 -1
  176. {vector-1.6.2 → vector-1.6.3}/tests/compute/spatial/test_z.py +1 -1
  177. vector-1.6.3/tests/compute/sympy/lorentz/__init__.py +4 -0
  178. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_Et.py +1 -1
  179. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_Et2.py +1 -1
  180. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_Mt.py +1 -1
  181. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_Mt2.py +1 -1
  182. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_boostX_beta.py +1 -1
  183. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_boostX_gamma.py +1 -1
  184. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_boostY_beta.py +1 -1
  185. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_boostY_gamma.py +1 -1
  186. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_boostZ_beta.py +1 -1
  187. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_boostZ_gamma.py +1 -1
  188. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_boost_beta3.py +1 -1
  189. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_boost_p4.py +1 -1
  190. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_deltaRapidityPhi.py +8 -8
  191. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_deltaRapidityPhi2.py +8 -8
  192. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_gamma.py +7 -14
  193. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_is_lightlike.py +1 -1
  194. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_rapidity.py +5 -8
  195. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_t.py +4 -8
  196. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_t2.py +6 -8
  197. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_tau.py +3 -4
  198. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_tau2.py +3 -4
  199. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_to_beta3.py +10 -14
  200. vector-1.6.3/tests/compute/sympy/planar/__init__.py +4 -0
  201. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/planar/test_deltaphi.py +1 -1
  202. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/planar/test_phi.py +1 -1
  203. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/planar/test_rho.py +1 -1
  204. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/planar/test_rho2.py +1 -1
  205. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/planar/test_rotateZ.py +1 -1
  206. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/planar/test_x.py +1 -1
  207. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/planar/test_y.py +1 -1
  208. vector-1.6.3/tests/compute/sympy/spatial/__init__.py +4 -0
  209. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_costheta.py +1 -1
  210. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_cottheta.py +1 -1
  211. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_cross.py +1 -1
  212. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_deltaR.py +1 -1
  213. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_deltaR2.py +1 -1
  214. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_deltaangle.py +1 -1
  215. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_deltaeta.py +1 -1
  216. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_eta.py +1 -1
  217. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_mag.py +1 -1
  218. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_mag2.py +1 -1
  219. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_rotateX.py +1 -1
  220. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_rotateY.py +1 -1
  221. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_rotate_axis.py +1 -1
  222. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_rotate_euler.py +1 -1
  223. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_rotate_quaternion.py +1 -1
  224. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_theta.py +1 -1
  225. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/spatial/test_z.py +1 -1
  226. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/test_add.py +1 -1
  227. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/test_conversions.py +1 -1
  228. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/test_dot.py +1 -1
  229. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/test_equal.py +1 -1
  230. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/test_is_antiparallel.py +1 -1
  231. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/test_is_parallel.py +1 -1
  232. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/test_is_perpendicular.py +1 -1
  233. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/test_not_equal.py +1 -1
  234. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/test_scale.py +1 -1
  235. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/test_subtract.py +1 -1
  236. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/test_unit.py +1 -1
  237. {vector-1.6.2 → vector-1.6.3}/tests/compute/test_add.py +1 -1
  238. {vector-1.6.2 → vector-1.6.3}/tests/compute/test_conversions.py +1 -1
  239. {vector-1.6.2 → vector-1.6.3}/tests/compute/test_dot.py +1 -1
  240. {vector-1.6.2 → vector-1.6.3}/tests/compute/test_equal.py +1 -1
  241. {vector-1.6.2 → vector-1.6.3}/tests/compute/test_is_antiparallel.py +1 -1
  242. {vector-1.6.2 → vector-1.6.3}/tests/compute/test_is_parallel.py +1 -1
  243. {vector-1.6.2 → vector-1.6.3}/tests/compute/test_is_perpendicular.py +1 -1
  244. {vector-1.6.2 → vector-1.6.3}/tests/compute/test_isclose.py +1 -1
  245. {vector-1.6.2 → vector-1.6.3}/tests/compute/test_not_equal.py +1 -1
  246. {vector-1.6.2 → vector-1.6.3}/tests/compute/test_scale.py +1 -1
  247. {vector-1.6.2 → vector-1.6.3}/tests/compute/test_subtract.py +1 -1
  248. {vector-1.6.2 → vector-1.6.3}/tests/compute/test_unit.py +1 -1
  249. {vector-1.6.2 → vector-1.6.3}/tests/test_compute_features.py +5 -9
  250. {vector-1.6.2 → vector-1.6.3}/tests/test_issues.py +1 -1
  251. {vector-1.6.2 → vector-1.6.3}/tests/test_methods.py +1 -1
  252. vector-1.6.2/.github/codecov.yml +0 -3
  253. vector-1.6.2/CITATION.cff +0 -26
  254. vector-1.6.2/src/vector/_lib.py +0 -95
  255. vector-1.6.2/tests/backends/test_object.py +0 -222
  256. vector-1.6.2/tests/compute/lorentz/__init__.py +0 -4
  257. vector-1.6.2/tests/compute/planar/__init__.py +0 -4
  258. vector-1.6.2/tests/compute/spatial/__init__.py +0 -4
  259. vector-1.6.2/tests/compute/sympy/lorentz/__init__.py +0 -4
  260. vector-1.6.2/tests/compute/sympy/planar/__init__.py +0 -4
  261. vector-1.6.2/tests/compute/sympy/spatial/__init__.py +0 -4
  262. {vector-1.6.2 → vector-1.6.3}/.git_archival.txt +0 -0
  263. {vector-1.6.2 → vector-1.6.3}/.gitattributes +0 -0
  264. {vector-1.6.2 → vector-1.6.3}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  265. {vector-1.6.2 → vector-1.6.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  266. {vector-1.6.2 → vector-1.6.3}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  267. {vector-1.6.2 → vector-1.6.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  268. {vector-1.6.2 → vector-1.6.3}/.github/dependabot.yml +0 -0
  269. {vector-1.6.2 → vector-1.6.3}/.github/matchers/pylint.json +0 -0
  270. {vector-1.6.2 → vector-1.6.3}/.github/workflows/notebooks.yml +0 -0
  271. {vector-1.6.2 → vector-1.6.3}/.gitignore +0 -0
  272. {vector-1.6.2 → vector-1.6.3}/.readthedocs.yml +0 -0
  273. {vector-1.6.2 → vector-1.6.3}/LICENSE +0 -0
  274. {vector-1.6.2 → vector-1.6.3}/docs/Makefile +0 -0
  275. {vector-1.6.2 → vector-1.6.3}/docs/_images/LogoSrc.svg +0 -0
  276. {vector-1.6.2 → vector-1.6.3}/docs/_images/coordinate-systems.png +0 -0
  277. {vector-1.6.2 → vector-1.6.3}/docs/_images/coordinate-systems.svg +0 -0
  278. {vector-1.6.2 → vector-1.6.3}/docs/_images/vector-logo.png +0 -0
  279. {vector-1.6.2 → vector-1.6.3}/docs/make.bat +0 -0
  280. {vector-1.6.2 → vector-1.6.3}/docs/src/awkward.ipynb +0 -0
  281. {vector-1.6.2 → vector-1.6.3}/docs/src/common.md +0 -0
  282. {vector-1.6.2 → vector-1.6.3}/docs/src/make_awkward.md +0 -0
  283. {vector-1.6.2 → vector-1.6.3}/docs/src/make_numpy.md +0 -0
  284. {vector-1.6.2 → vector-1.6.3}/docs/src/make_object.md +0 -0
  285. {vector-1.6.2 → vector-1.6.3}/docs/src/make_sympy.md +0 -0
  286. {vector-1.6.2 → vector-1.6.3}/docs/src/momentum2d.md +0 -0
  287. {vector-1.6.2 → vector-1.6.3}/docs/src/momentum3d.md +0 -0
  288. {vector-1.6.2 → vector-1.6.3}/docs/src/momentum4d.md +0 -0
  289. {vector-1.6.2 → vector-1.6.3}/docs/src/numba.ipynb +0 -0
  290. {vector-1.6.2 → vector-1.6.3}/docs/src/numpy.ipynb +0 -0
  291. {vector-1.6.2 → vector-1.6.3}/docs/src/object.ipynb +0 -0
  292. {vector-1.6.2 → vector-1.6.3}/docs/src/sympy.ipynb +0 -0
  293. {vector-1.6.2 → vector-1.6.3}/docs/src/vector2d.md +0 -0
  294. {vector-1.6.2 → vector-1.6.3}/docs/src/vector3d.md +0 -0
  295. {vector-1.6.2 → vector-1.6.3}/docs/src/vector4d.md +0 -0
  296. {vector-1.6.2 → vector-1.6.3}/environment.yml +0 -0
  297. {vector-1.6.2 → vector-1.6.3}/src/vector/_version.pyi +0 -0
  298. {vector-1.6.2 → vector-1.6.3}/src/vector/py.typed +0 -0
  299. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_is_spacelike.py +0 -0
  300. {vector-1.6.2 → vector-1.6.3}/tests/compute/lorentz/test_is_timelike.py +0 -0
  301. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_beta.py +0 -0
  302. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_is_spacelike.py +0 -0
  303. {vector-1.6.2 → vector-1.6.3}/tests/compute/sympy/lorentz/test_is_timelike.py +0 -0
  304. {vector-1.6.2 → vector-1.6.3}/tests/samples/issue-161-v2.pkl +0 -0
  305. {vector-1.6.2 → vector-1.6.3}/tests/test_notebooks.py +0 -0
@@ -87,7 +87,19 @@
87
87
  "contributions": [
88
88
  "ideas"
89
89
  ]
90
+ },
91
+ {
92
+ "login": "Saransh-cpp",
93
+ "name": "Saransh Chopra",
94
+ "avatar_url": "https://avatars.githubusercontent.com/u/74055102?v=4",
95
+ "profile": "https://saransh-cpp.github.io/",
96
+ "contributions": [
97
+ "maintenance",
98
+ "code",
99
+ "doc"
100
+ ]
90
101
  }
91
102
  ],
92
- "contributorsPerLine": 7
103
+ "contributorsPerLine": 7,
104
+ "commitType": "docs"
93
105
  }
@@ -0,0 +1,3 @@
1
+ codecov:
2
+ notify:
3
+ after_n_builds: 6
@@ -37,7 +37,7 @@ jobs:
37
37
  run: ls -l dist/
38
38
 
39
39
  - name: Generate artifact attestation for sdist and wheel
40
- uses: actions/attest-build-provenance@c074443f1aee8d4aeeae555aebba3282517141b2 # v2.2.3
40
+ uses: actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be # v2.4.0
41
41
  with:
42
42
  subject-path: "dist/vector-*"
43
43
 
@@ -28,7 +28,7 @@ jobs:
28
28
  - uses: actions/setup-python@v5
29
29
  with:
30
30
  python-version: 3.x
31
- - uses: astral-sh/setup-uv@v5
31
+ - uses: astral-sh/setup-uv@v6
32
32
  - name: PyLint
33
33
  run: uvx nox -s pylint -- --output-format=github
34
34
 
@@ -53,7 +53,7 @@ jobs:
53
53
  python-version: ${{ matrix.python-version }}
54
54
  allow-prereleases: true
55
55
 
56
- - uses: astral-sh/setup-uv@v5
56
+ - uses: astral-sh/setup-uv@v6
57
57
 
58
58
  - name: Test lite package
59
59
  run: uvx nox -s lite-${{ matrix.python-version }} --verbose
@@ -80,7 +80,7 @@ jobs:
80
80
  python-version: ${{ matrix.python-version }}
81
81
  allow-prereleases: true
82
82
 
83
- - uses: astral-sh/setup-uv@v5
83
+ - uses: astral-sh/setup-uv@v6
84
84
 
85
85
  - name: Install nox
86
86
  run: uv tool install nox
@@ -93,7 +93,7 @@ jobs:
93
93
  run: nox -s coverage-${{ matrix.python-version }} --verbose
94
94
 
95
95
  - name: Upload coverage report
96
- uses: codecov/codecov-action@v5.4.2
96
+ uses: codecov/codecov-action@v5.4.3
97
97
  with:
98
98
  token: ${{ secrets.CODECOV_TOKEN }}
99
99
 
@@ -107,7 +107,7 @@ jobs:
107
107
  with:
108
108
  python-version: 3.8.13
109
109
 
110
- - uses: astral-sh/setup-uv@v5
110
+ - uses: astral-sh/setup-uv@v6
111
111
 
112
112
  - name: Test compute features
113
113
  run: uvx nox -s disassemble --verbose
@@ -19,14 +19,14 @@ repos:
19
19
  - id: trailing-whitespace
20
20
 
21
21
  - repo: https://github.com/astral-sh/ruff-pre-commit
22
- rev: "v0.11.6"
22
+ rev: "v0.12.3"
23
23
  hooks:
24
- - id: ruff
24
+ - id: ruff-check
25
25
  args: ["--fix", "--show-fixes"]
26
26
  - id: ruff-format
27
27
 
28
28
  - repo: https://github.com/pre-commit/mirrors-mypy
29
- rev: v1.15.0
29
+ rev: v1.16.1
30
30
  hooks:
31
31
  - id: mypy
32
32
  files: src
@@ -44,7 +44,7 @@ repos:
44
44
  exclude: ^docs/usage/intro.ipynb$
45
45
 
46
46
  - repo: https://github.com/rbubley/mirrors-prettier
47
- rev: "v3.5.3"
47
+ rev: "v3.6.2"
48
48
  hooks:
49
49
  - id: prettier
50
50
  types_or: [yaml, markdown, html, css, scss, javascript, json]
@@ -0,0 +1,56 @@
1
+ cff-version: "1.2.0"
2
+ authors:
3
+ - family-names: Chopra
4
+ given-names: Saransh
5
+ orcid: "https://orcid.org/0000-0003-3046-7675"
6
+ - family-names: Schreiner
7
+ given-names: Henry
8
+ orcid: "https://orcid.org/0000-0002-7833-783X"
9
+ - family-names: Rodrigues
10
+ given-names: Eduardo
11
+ orcid: "https://orcid.org/0000-0003-2846-7625"
12
+ - family-names: Eschle
13
+ given-names: Jonas
14
+ orcid: "https://orcid.org/0000-0002-7312-3699"
15
+ - family-names: Pivarski
16
+ given-names: Jim
17
+ orcid: "https://orcid.org/0000-0002-6649-343X"
18
+ contact:
19
+ - family-names: Pivarski
20
+ given-names: Jim
21
+ orcid: "https://orcid.org/0000-0002-6649-343X"
22
+ doi: 10.5281/zenodo.15263860
23
+ message: If you use this software, please cite our article in the
24
+ Journal of Open Source Software.
25
+ preferred-citation:
26
+ authors:
27
+ - family-names: Chopra
28
+ given-names: Saransh
29
+ orcid: "https://orcid.org/0000-0003-3046-7675"
30
+ - family-names: Schreiner
31
+ given-names: Henry
32
+ orcid: "https://orcid.org/0000-0002-7833-783X"
33
+ - family-names: Rodrigues
34
+ given-names: Eduardo
35
+ orcid: "https://orcid.org/0000-0003-2846-7625"
36
+ - family-names: Eschle
37
+ given-names: Jonas
38
+ orcid: "https://orcid.org/0000-0002-7312-3699"
39
+ - family-names: Pivarski
40
+ given-names: Jim
41
+ orcid: "https://orcid.org/0000-0002-6649-343X"
42
+ date-published: 2025-05-23
43
+ doi: 10.21105/joss.07791
44
+ issn: 2475-9066
45
+ issue: 109
46
+ journal: Journal of Open Source Software
47
+ publisher:
48
+ name: Open Journals
49
+ start: 7791
50
+ title: "Vector: JIT-compilable mathematical manipulations of ragged
51
+ Lorentz vectors"
52
+ type: article
53
+ url: "https://joss.theoj.org/papers/10.21105/joss.07791"
54
+ volume: 10
55
+ title: "Vector: JIT-compilable mathematical manipulations of ragged
56
+ Lorentz vectors"
@@ -11,7 +11,8 @@ the stable version of `vector`. The steps below describe the installation proces
11
11
  We recommend using a virtual environment to install `vector`. This would isolate the library from your global `Python` environment, which would be beneficial for reproducing bugs, and the overall development of `vector`. The first step would be to clone `vector` -
12
12
 
13
13
  ```bash
14
- git clone https://github.com/Scikit-hep/vector.git
14
+ # fork scikit-hep/vector
15
+ git clone https://github.com/<your_github_userame>/vector.git
15
16
  ```
16
17
 
17
18
  and then we can change the current working directory and enter `vector` -
@@ -22,7 +23,8 @@ cd vector
22
23
 
23
24
  ### Creating a virtual environment
24
25
 
25
- A virtual environment can be set up and activated using `venv` in both `UNIX` and `Windows` systems.
26
+ A virtual environment can be set up and activated using `venv` in both `UNIX` and `Windows` systems
27
+ (or use your favorite environment tool).
26
28
 
27
29
  **UNIX**:
28
30
 
@@ -42,11 +44,13 @@ python -m venv .env
42
44
 
43
45
  The developer installation of `vector` comes with several options -
44
46
 
45
- - `awkward`: installs [awkward](https://github.com/scikit-hep/awkward) along with `vector`
47
+ - `awkward`: installs [awkward](https://github.com/scikit-hep/awkward) for the `awkward` backend
48
+ - `numba`: installs [numba](https://github.com/numba/numba) for JIT compilation
49
+ - `sympy`: installs [sympy](https://github.com/sympy/sympy) for the `sympy` backend
46
50
  - `test`: the test dependencies
47
- - `test-extras`: extra dependencies to run tests on a specific Python version and Operating System
51
+ - `test-extras`: extra dependencies to run disassemble and `dask_awkward` tests
48
52
  - `docs`: extra dependencies to build and develop `vector`'s documentation
49
- - `dev`: installs the `awkward` option + the `test` option + [numba](https://github.com/numba/numba)
53
+ - `dev`: installs the `awkward`, `test`, `numba`, and `sympy` options
50
54
 
51
55
  These options can be used with `pip` with the editable (`-e`) mode of installation in the following way -
52
56
 
@@ -65,7 +69,7 @@ Furthermore, `vector` can also be installed using `conda`. This installation als
65
69
  ```bash
66
70
  conda env create
67
71
  conda activate vector
68
- conda config --env --add channels conda-forge # Optional
72
+ conda config --env --add channels conda-forge # optional
69
73
  ```
70
74
 
71
75
  ### Adding vector for notebooks
@@ -170,7 +174,7 @@ folder. You can view this build in any browser by opening the `index.html` file.
170
174
  pip install nox
171
175
  ```
172
176
 
173
- The default sessions (`lint`, `tests`, and `doctests`) can be executed using -
177
+ The default sessions (`lint`, `lite`, `tests`, `doctests`, and `disassemble`) can be executed using -
174
178
 
175
179
  ```bash
176
180
  nox
@@ -178,24 +182,32 @@ nox
178
182
 
179
183
  ### Running pre-commit with nox
180
184
 
181
- The `pre-commit` hooks can be run with `nox` in the following way -
185
+ The `pre-commit` hooks and `pylint` can be run with `nox` in the following way -
182
186
 
183
187
  ```
184
- nox -s lint
188
+ nox -s lint # run pre-commit on the default Python version
189
+ nox -s pylint # run pylint on the default Python version
185
190
  ```
186
191
 
187
- ### Running tests with nox
192
+ ### Building vector with nox
188
193
 
189
- Tests can be run with `nox` in the following way -
194
+ `vector` can be built with `nox` in the following way -
190
195
 
191
196
  ```
192
- nox -s tests
197
+ nox -s build
193
198
  ```
194
199
 
195
- Notebooks can be tested with `nox` in the following way -
200
+ ### Running tests with nox
201
+
202
+ Tests can be run with `nox` in the following way -
196
203
 
197
204
  ```
198
- nox -s notebooks
205
+ nox -s lite # test only with the required dependencies on all available Python versions (use lite-3.11 for a specific Python version)
206
+ nox -s tests # test with all extra dependencies on all available Python versions
207
+ nox -s tests # run doctests on all available Python versions
208
+ nox -s coverage # run the tests session and generate a coverage report on all available Python versions
209
+ nox -s notebooks # test notebooks on the default Python version
210
+ nox -s disassemble # check compute functions on Python 3.8
199
211
  ```
200
212
 
201
213
  ### Building documentation with nox
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vector
3
- Version: 1.6.2
3
+ Version: 1.6.3
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
@@ -38,7 +38,7 @@ Provides-Extra: dev
38
38
  Requires-Dist: awkward>=2; extra == 'dev'
39
39
  Requires-Dist: dask-awkward; extra == 'dev'
40
40
  Requires-Dist: nox; extra == 'dev'
41
- Requires-Dist: numba>=0.57; (python_version < '3.13') and extra == 'dev'
41
+ Requires-Dist: numba>=0.57; (python_version < '3.14') and extra == 'dev'
42
42
  Requires-Dist: papermill>=2.4; extra == 'dev'
43
43
  Requires-Dist: pytest-cov>=3; extra == 'dev'
44
44
  Requires-Dist: pytest-doctestplus; extra == 'dev'
@@ -55,7 +55,7 @@ Requires-Dist: sphinx-math-dollar; extra == 'docs'
55
55
  Requires-Dist: sphinx>=4; extra == 'docs'
56
56
  Requires-Dist: sympy; extra == 'docs'
57
57
  Provides-Extra: numba
58
- Requires-Dist: numba>=0.57; (python_version < '3.13') and extra == 'numba'
58
+ Requires-Dist: numba>=0.57; (python_version < '3.14') and extra == 'numba'
59
59
  Provides-Extra: sympy
60
60
  Requires-Dist: sympy; extra == 'sympy'
61
61
  Provides-Extra: test
@@ -74,19 +74,22 @@ Description-Content-Type: text/markdown
74
74
 
75
75
  # Vector: arrays of 2D, 3D, and Lorentz vectors
76
76
 
77
+ [![DOI][zenodo-badge]][zenodo-link]
78
+ [![DOI][joss-badge]][joss-link]
79
+ [![Scikit-HEP][sk-badge]][sk-link]
80
+
77
81
  [![Actions Status][actions-badge]][actions-link]
78
82
  [![Documentation Status][rtd-badge]][rtd-link]
79
83
  [![pre-commit.ci status][pre-commit-badge]][pre-commit-link]
80
84
  [![codecov percentage][codecov-badge]][codecov-link]
81
- [![GitHub Discussion][github-discussions-badge]][github-discussions-link]
82
- [![Gitter][gitter-badge]][gitter-link]
83
85
 
84
86
  [![PyPI platforms][pypi-platforms]][pypi-link]
85
87
  [![PyPI version][pypi-version]][pypi-link]
86
88
  [![Conda latest release][conda-version]][conda-link]
87
- [![DOI][zenodo-badge]][zenodo-link]
89
+
88
90
  [![LICENSE][license-badge]][license-link]
89
- [![Scikit-HEP][sk-badge]][sk-link]
91
+ [![GitHub Discussion][github-discussions-badge]][github-discussions-link]
92
+ [![Gitter][gitter-badge]][gitter-link]
90
93
 
91
94
  ## Installation
92
95
 
@@ -158,6 +161,24 @@ pip install -e .
158
161
 
159
162
  Refer to [CONTRIBUTING.md](https://github.com/scikit-hep/vector/blob/main/.github/CONTRIBUTING.md) for more.
160
163
 
164
+ ## Citing Vector
165
+
166
+ To cite Vector, please use [![DOI][joss-badge]][joss-link]
167
+
168
+ ```bib
169
+ @article{Chopra2025,
170
+ doi = {10.21105/joss.07791},
171
+ url = {https://doi.org/10.21105/joss.07791},
172
+ year = {2025}, publisher = {The Open Journal},
173
+ volume = {10},
174
+ number = {109},
175
+ pages = {7791},
176
+ author = {Saransh Chopra and Henry Schreiner and Eduardo Rodrigues and Jonas Eschle and Jim Pivarski},
177
+ title = {Vector: JIT-compilable mathematical manipulations of ragged Lorentz vectors},
178
+ journal = {Journal of Open Source Software}
179
+ }
180
+ ```
181
+
161
182
  ## Documentation
162
183
 
163
184
  ### Tutorials
@@ -187,7 +208,7 @@ Refer to [CONTRIBUTING.md](https://github.com/scikit-hep/vector/blob/main/.githu
187
208
 
188
209
  ### More ways to learn
189
210
 
190
- - [Presentations about Vector](https://vector.readthedocs.io/en/latest/src/talks.html)
211
+ - [Papers and talks](https://vector.readthedocs.io/en/latest/src/talks.html)
191
212
 
192
213
  ## Contributors
193
214
 
@@ -197,18 +218,21 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
197
218
  <!-- prettier-ignore-start -->
198
219
  <!-- markdownlint-disable -->
199
220
  <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>
221
+ <tbody>
222
+ <tr>
223
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/jpivarski"><img src="https://avatars.githubusercontent.com/u/1852447?v=4?s=100" width="100px;" alt="Jim Pivarski"/><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>
224
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/henryiii"><img src="https://avatars.githubusercontent.com/u/4616906?v=4?s=100" width="100px;" alt="Henry Schreiner"/><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>
225
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/eduardo-rodrigues"><img src="https://avatars.githubusercontent.com/u/5013581?v=4?s=100" width="100px;" alt="Eduardo Rodrigues"/><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>
226
+ <td align="center" valign="top" width="14.28%"><a href="http://lovelybuggies.com.cn/"><img src="https://avatars.githubusercontent.com/u/29083689?v=4?s=100" width="100px;" alt="N!no"/><br /><sub><b>N!no</b></sub></a><br /><a href="https://github.com/scikit-hep/vector/commits?author=LovelyBuggies" title="Documentation">📖</a></td>
227
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/pfackeldey"><img src="https://avatars.githubusercontent.com/u/18463582?v=4?s=100" width="100px;" alt="Peter Fackeldey"/><br /><sub><b>Peter Fackeldey</b></sub></a><br /><a href="https://github.com/scikit-hep/vector/commits?author=pfackeldey" title="Documentation">📖</a></td>
228
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/kreczko"><img src="https://avatars.githubusercontent.com/u/1213276?v=4?s=100" width="100px;" alt="Luke Kreczko"/><br /><sub><b>Luke Kreczko</b></sub></a><br /><a href="https://github.com/scikit-hep/vector/commits?author=kreczko" title="Code">💻</a></td>
229
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/nsmith-"><img src="https://avatars.githubusercontent.com/u/6587412?v=4?s=100" width="100px;" alt="Nicholas Smith"/><br /><sub><b>Nicholas Smith</b></sub></a><br /><a href="#ideas-nsmith-" title="Ideas, Planning, & Feedback">🤔</a></td>
230
+ </tr>
231
+ <tr>
232
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/mayou36"><img src="https://avatars.githubusercontent.com/u/17454848?v=4?s=100" width="100px;" alt="Jonas Eschle"/><br /><sub><b>Jonas Eschle</b></sub></a><br /><a href="#ideas-mayou36" title="Ideas, Planning, & Feedback">🤔</a></td>
233
+ <td align="center" valign="top" width="14.28%"><a href="https://saransh-cpp.github.io/"><img src="https://avatars.githubusercontent.com/u/74055102?v=4?s=100" width="100px;" alt="Saransh Chopra"/><br /><sub><b>Saransh Chopra</b></sub></a><br /><a href="#maintenance-Saransh-cpp" title="Maintenance">🚧</a> <a href="https://github.com/scikit-hep/vector/commits?author=Saransh-cpp" title="Code">💻</a> <a href="https://github.com/scikit-hep/vector/commits?author=Saransh-cpp" title="Documentation">📖</a></td>
234
+ </tr>
235
+ </tbody>
212
236
  </table>
213
237
 
214
238
  <!-- markdownlint-restore -->
@@ -238,6 +262,8 @@ Support for this work was provided by the National Science Foundation cooperativ
238
262
  [github-discussions-link]: https://github.com/scikit-hep/vector/discussions
239
263
  [gitter-badge]: https://badges.gitter.im/Scikit-HEP/vector.svg
240
264
  [gitter-link]: https://gitter.im/Scikit-HEP/vector?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
265
+ [joss-badge]: https://joss.theoj.org/papers/10.21105/joss.07791/status.svg
266
+ [joss-link]: https://doi.org/10.21105/joss.07791
241
267
  [license-badge]: https://img.shields.io/badge/License-BSD_3--Clause-blue.svg
242
268
  [license-link]: https://opensource.org/licenses/BSD-3-Clause
243
269
  [pre-commit-badge]: https://results.pre-commit.ci/badge/github/scikit-hep/vector/main.svg
@@ -249,5 +275,5 @@ Support for this work was provided by the National Science Foundation cooperativ
249
275
  [rtd-link]: https://vector.readthedocs.io/en/latest/?badge=latest
250
276
  [sk-badge]: https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg
251
277
  [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
278
+ [zenodo-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.15263860.svg
279
+ [zenodo-link]: https://zenodo.org/records/15263860
@@ -2,19 +2,22 @@
2
2
 
3
3
  # Vector: arrays of 2D, 3D, and Lorentz vectors
4
4
 
5
+ [![DOI][zenodo-badge]][zenodo-link]
6
+ [![DOI][joss-badge]][joss-link]
7
+ [![Scikit-HEP][sk-badge]][sk-link]
8
+
5
9
  [![Actions Status][actions-badge]][actions-link]
6
10
  [![Documentation Status][rtd-badge]][rtd-link]
7
11
  [![pre-commit.ci status][pre-commit-badge]][pre-commit-link]
8
12
  [![codecov percentage][codecov-badge]][codecov-link]
9
- [![GitHub Discussion][github-discussions-badge]][github-discussions-link]
10
- [![Gitter][gitter-badge]][gitter-link]
11
13
 
12
14
  [![PyPI platforms][pypi-platforms]][pypi-link]
13
15
  [![PyPI version][pypi-version]][pypi-link]
14
16
  [![Conda latest release][conda-version]][conda-link]
15
- [![DOI][zenodo-badge]][zenodo-link]
17
+
16
18
  [![LICENSE][license-badge]][license-link]
17
- [![Scikit-HEP][sk-badge]][sk-link]
19
+ [![GitHub Discussion][github-discussions-badge]][github-discussions-link]
20
+ [![Gitter][gitter-badge]][gitter-link]
18
21
 
19
22
  ## Installation
20
23
 
@@ -86,6 +89,24 @@ pip install -e .
86
89
 
87
90
  Refer to [CONTRIBUTING.md](https://github.com/scikit-hep/vector/blob/main/.github/CONTRIBUTING.md) for more.
88
91
 
92
+ ## Citing Vector
93
+
94
+ To cite Vector, please use [![DOI][joss-badge]][joss-link]
95
+
96
+ ```bib
97
+ @article{Chopra2025,
98
+ doi = {10.21105/joss.07791},
99
+ url = {https://doi.org/10.21105/joss.07791},
100
+ year = {2025}, publisher = {The Open Journal},
101
+ volume = {10},
102
+ number = {109},
103
+ pages = {7791},
104
+ author = {Saransh Chopra and Henry Schreiner and Eduardo Rodrigues and Jonas Eschle and Jim Pivarski},
105
+ title = {Vector: JIT-compilable mathematical manipulations of ragged Lorentz vectors},
106
+ journal = {Journal of Open Source Software}
107
+ }
108
+ ```
109
+
89
110
  ## Documentation
90
111
 
91
112
  ### Tutorials
@@ -115,7 +136,7 @@ Refer to [CONTRIBUTING.md](https://github.com/scikit-hep/vector/blob/main/.githu
115
136
 
116
137
  ### More ways to learn
117
138
 
118
- - [Presentations about Vector](https://vector.readthedocs.io/en/latest/src/talks.html)
139
+ - [Papers and talks](https://vector.readthedocs.io/en/latest/src/talks.html)
119
140
 
120
141
  ## Contributors
121
142
 
@@ -125,18 +146,21 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
125
146
  <!-- prettier-ignore-start -->
126
147
  <!-- markdownlint-disable -->
127
148
  <table>
128
- <tr>
129
- <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>
130
- <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>
131
- <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>
132
- <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>
133
- <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>
134
- <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>
135
- <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>
136
- </tr>
137
- <tr>
138
- <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>
139
- </tr>
149
+ <tbody>
150
+ <tr>
151
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/jpivarski"><img src="https://avatars.githubusercontent.com/u/1852447?v=4?s=100" width="100px;" alt="Jim Pivarski"/><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>
152
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/henryiii"><img src="https://avatars.githubusercontent.com/u/4616906?v=4?s=100" width="100px;" alt="Henry Schreiner"/><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>
153
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/eduardo-rodrigues"><img src="https://avatars.githubusercontent.com/u/5013581?v=4?s=100" width="100px;" alt="Eduardo Rodrigues"/><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>
154
+ <td align="center" valign="top" width="14.28%"><a href="http://lovelybuggies.com.cn/"><img src="https://avatars.githubusercontent.com/u/29083689?v=4?s=100" width="100px;" alt="N!no"/><br /><sub><b>N!no</b></sub></a><br /><a href="https://github.com/scikit-hep/vector/commits?author=LovelyBuggies" title="Documentation">📖</a></td>
155
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/pfackeldey"><img src="https://avatars.githubusercontent.com/u/18463582?v=4?s=100" width="100px;" alt="Peter Fackeldey"/><br /><sub><b>Peter Fackeldey</b></sub></a><br /><a href="https://github.com/scikit-hep/vector/commits?author=pfackeldey" title="Documentation">📖</a></td>
156
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/kreczko"><img src="https://avatars.githubusercontent.com/u/1213276?v=4?s=100" width="100px;" alt="Luke Kreczko"/><br /><sub><b>Luke Kreczko</b></sub></a><br /><a href="https://github.com/scikit-hep/vector/commits?author=kreczko" title="Code">💻</a></td>
157
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/nsmith-"><img src="https://avatars.githubusercontent.com/u/6587412?v=4?s=100" width="100px;" alt="Nicholas Smith"/><br /><sub><b>Nicholas Smith</b></sub></a><br /><a href="#ideas-nsmith-" title="Ideas, Planning, & Feedback">🤔</a></td>
158
+ </tr>
159
+ <tr>
160
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/mayou36"><img src="https://avatars.githubusercontent.com/u/17454848?v=4?s=100" width="100px;" alt="Jonas Eschle"/><br /><sub><b>Jonas Eschle</b></sub></a><br /><a href="#ideas-mayou36" title="Ideas, Planning, & Feedback">🤔</a></td>
161
+ <td align="center" valign="top" width="14.28%"><a href="https://saransh-cpp.github.io/"><img src="https://avatars.githubusercontent.com/u/74055102?v=4?s=100" width="100px;" alt="Saransh Chopra"/><br /><sub><b>Saransh Chopra</b></sub></a><br /><a href="#maintenance-Saransh-cpp" title="Maintenance">🚧</a> <a href="https://github.com/scikit-hep/vector/commits?author=Saransh-cpp" title="Code">💻</a> <a href="https://github.com/scikit-hep/vector/commits?author=Saransh-cpp" title="Documentation">📖</a></td>
162
+ </tr>
163
+ </tbody>
140
164
  </table>
141
165
 
142
166
  <!-- markdownlint-restore -->
@@ -166,6 +190,8 @@ Support for this work was provided by the National Science Foundation cooperativ
166
190
  [github-discussions-link]: https://github.com/scikit-hep/vector/discussions
167
191
  [gitter-badge]: https://badges.gitter.im/Scikit-HEP/vector.svg
168
192
  [gitter-link]: https://gitter.im/Scikit-HEP/vector?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
193
+ [joss-badge]: https://joss.theoj.org/papers/10.21105/joss.07791/status.svg
194
+ [joss-link]: https://doi.org/10.21105/joss.07791
169
195
  [license-badge]: https://img.shields.io/badge/License-BSD_3--Clause-blue.svg
170
196
  [license-link]: https://opensource.org/licenses/BSD-3-Clause
171
197
  [pre-commit-badge]: https://results.pre-commit.ci/badge/github/scikit-hep/vector/main.svg
@@ -177,5 +203,5 @@ Support for this work was provided by the National Science Foundation cooperativ
177
203
  [rtd-link]: https://vector.readthedocs.io/en/latest/?badge=latest
178
204
  [sk-badge]: https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg
179
205
  [sk-link]: https://scikit-hep.org/
180
- [zenodo-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.7054478.svg
181
- [zenodo-link]: https://doi.org/10.5281/zenodo.7054478
206
+ [zenodo-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.15263860.svg
207
+ [zenodo-link]: https://zenodo.org/records/15263860
@@ -0,0 +1,9 @@
1
+ /* to render Awkward Array reprs correctly */
2
+ html[data-theme="dark"] div.output_area.rendered_html pre {
3
+ background-color: #000000df;
4
+ padding: 15px;
5
+ }
6
+
7
+ html[data-theme="light"] div.output_area.rendered_html pre {
8
+ background: unset;
9
+ }
@@ -90,7 +90,8 @@ html_theme_options = {
90
90
  # Add any paths that contain custom static files (such as style sheets) here,
91
91
  # relative to this directory. They are copied after the builtin static files,
92
92
  # so a file named "default.css" will overwrite the builtin "default.css".
93
- html_static_path = [] # _static is the default
93
+ html_static_path = ["_static"]
94
+ html_css_files = ["css/awkward_output.css"]
94
95
 
95
96
  # -- Options for notebooks --------------------------------------------------
96
97
 
@@ -2,19 +2,22 @@
2
2
 
3
3
  # Overview
4
4
 
5
+ [![DOI][zenodo-badge]][zenodo-link]
6
+ [![DOI][joss-badge]][joss-link]
7
+ [![Scikit-HEP][sk-badge]][sk-link]
8
+
5
9
  [![Actions Status][actions-badge]][actions-link]
6
10
  [![Documentation Status][rtd-badge]][rtd-link]
7
11
  [![pre-commit.ci status][pre-commit-badge]][pre-commit-link]
8
12
  [![codecov percentage][codecov-badge]][codecov-link]
9
- [![GitHub Discussion][github-discussions-badge]][github-discussions-link]
10
- [![Gitter][gitter-badge]][gitter-link]
11
13
 
12
14
  [![PyPI platforms][pypi-platforms]][pypi-link]
13
15
  [![PyPI version][pypi-version]][pypi-link]
14
16
  [![Conda latest release][conda-version]][conda-link]
15
- [![DOI][zenodo-badge]][zenodo-link]
17
+
16
18
  [![LICENSE][license-badge]][license-link]
17
- [![Scikit-HEP][sk-badge]][sk-link]
19
+ [![GitHub Discussion][github-discussions-badge]][github-discussions-link]
20
+ [![Gitter][gitter-badge]][gitter-link]
18
21
 
19
22
  ## Installation
20
23
 
@@ -102,6 +105,24 @@ pip install -e .
102
105
 
103
106
  Refer to [CONTRIBUTING.md](https://github.com/scikit-hep/vector/blob/main/.github/CONTRIBUTING.md) for more.
104
107
 
108
+ ## Citing Vector
109
+
110
+ To cite Vector, please use [![DOI][joss-badge]][joss-link]
111
+
112
+ ```bib
113
+ @article{Chopra2025,
114
+ doi = {10.21105/joss.07791},
115
+ url = {https://doi.org/10.21105/joss.07791},
116
+ year = {2025}, publisher = {The Open Journal},
117
+ volume = {10},
118
+ number = {109},
119
+ pages = {7791},
120
+ author = {Saransh Chopra and Henry Schreiner and Eduardo Rodrigues and Jonas Eschle and Jim Pivarski},
121
+ title = {Vector: JIT-compilable mathematical manipulations of ragged Lorentz vectors},
122
+ journal = {Journal of Open Source Software}
123
+ }
124
+ ```
125
+
105
126
  ## Documentation
106
127
 
107
128
  ```{toctree}
@@ -151,6 +172,8 @@ src/talks.md
151
172
  [github-discussions-link]: https://github.com/scikit-hep/vector/discussions
152
173
  [gitter-badge]: https://badges.gitter.im/Scikit-HEP/vector.svg
153
174
  [gitter-link]: https://gitter.im/Scikit-HEP/vector?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
175
+ [joss-badge]: https://joss.theoj.org/papers/10.21105/joss.07791/status.svg
176
+ [joss-link]: https://doi.org/10.21105/joss.07791
154
177
  [license-badge]: https://img.shields.io/badge/License-BSD_3--Clause-blue.svg
155
178
  [license-link]: https://opensource.org/licenses/BSD-3-Clause
156
179
  [pre-commit-badge]: https://results.pre-commit.ci/badge/github/scikit-hep/vector/main.svg
@@ -162,5 +185,5 @@ src/talks.md
162
185
  [rtd-link]: https://vector.readthedocs.io/en/latest/?badge=latest
163
186
  [sk-badge]: https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg
164
187
  [sk-link]: https://scikit-hep.org/
165
- [zenodo-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.7054478.svg
166
- [zenodo-link]: https://doi.org/10.5281/zenodo.7054478
188
+ [zenodo-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.15263860.svg
189
+ [zenodo-link]: https://zenodo.org/records/15263860