vector 1.6.2__tar.gz → 1.7.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.
- {vector-1.6.2 → vector-1.7.0}/.all-contributorsrc +13 -1
- vector-1.7.0/.github/codecov.yml +3 -0
- {vector-1.6.2 → vector-1.7.0}/.github/workflows/cd.yml +3 -3
- {vector-1.6.2 → vector-1.7.0}/.github/workflows/ci.yml +12 -29
- {vector-1.6.2 → vector-1.7.0}/.github/workflows/notebooks.yml +2 -2
- {vector-1.6.2 → vector-1.7.0}/.gitignore +3 -0
- {vector-1.6.2 → vector-1.7.0}/.pre-commit-config.yaml +7 -8
- vector-1.7.0/.readthedocs.yml +27 -0
- vector-1.7.0/CITATION.cff +56 -0
- {vector-1.6.2/.github → vector-1.7.0}/CONTRIBUTING.md +25 -14
- {vector-1.6.2 → vector-1.7.0}/PKG-INFO +62 -56
- {vector-1.6.2 → vector-1.7.0}/README.md +55 -19
- vector-1.7.0/docs/_static/css/awkward_output.css +9 -0
- {vector-1.6.2 → vector-1.7.0}/docs/conf.py +3 -1
- {vector-1.6.2 → vector-1.7.0}/docs/index.md +42 -6
- {vector-1.6.2 → vector-1.7.0}/docs/src/awkward.ipynb +71 -91
- vector-1.7.0/docs/src/pytree.ipynb +292 -0
- vector-1.7.0/docs/src/pytree_api.md +5 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/talks.md +8 -2
- {vector-1.6.2 → vector-1.7.0}/environment.yml +1 -1
- {vector-1.6.2 → vector-1.7.0}/noxfile.py +24 -17
- {vector-1.6.2 → vector-1.7.0}/pyproject.toml +72 -40
- {vector-1.6.2 → vector-1.7.0}/src/vector/__init__.py +3 -2
- {vector-1.6.2/tests → vector-1.7.0/src/vector/_compute}/__init__.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/Et.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/Et2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/Mt.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/Mt2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/__init__.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/add.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/beta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/boostX_beta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/boostX_gamma.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/boostY_beta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/boostY_gamma.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/boostZ_beta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/boostZ_gamma.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/boost_beta3.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/boost_p4.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/deltaRapidityPhi.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/deltaRapidityPhi2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/dot.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/equal.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/gamma.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/is_lightlike.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/is_spacelike.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/is_timelike.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/isclose.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/not_equal.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/rapidity.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/scale.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/subtract.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/t.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/t2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/tau.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/tau2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/to_beta3.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/transform4D.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/lorentz/unit.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/__init__.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/add.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/deltaphi.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/dot.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/equal.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/is_antiparallel.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/is_parallel.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/is_perpendicular.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/isclose.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/not_equal.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/phi.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/rho.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/rho2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/rotateZ.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/scale.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/subtract.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/transform2D.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/unit.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/x.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/planar/y.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/__init__.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/add.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/costheta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/cottheta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/cross.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/deltaR.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/deltaR2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/deltaangle.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/deltaeta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/dot.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/equal.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/eta.py +16 -13
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/is_antiparallel.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/is_parallel.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/is_perpendicular.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/isclose.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/mag.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/mag2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/not_equal.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/rotateX.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/rotateY.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/rotate_axis.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/rotate_euler.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/rotate_quaternion.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/scale.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/subtract.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/theta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/transform3D.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/unit.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_compute/spatial/z.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_methods.py +1 -1
- vector-1.7.0/src/vector/_pytree.py +218 -0
- {vector-1.6.2 → vector-1.7.0}/src/vector/_typeutils.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/_version.py +16 -3
- {vector-1.6.2 → vector-1.7.0}/src/vector/backends/__init__.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/backends/_numba.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/backends/_numba_object.py +19 -33
- {vector-1.6.2 → vector-1.7.0}/src/vector/backends/awkward.py +5 -6
- {vector-1.6.2 → vector-1.7.0}/src/vector/backends/awkward_constructors.py +8 -9
- {vector-1.6.2 → vector-1.7.0}/src/vector/backends/numba_numpy.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/src/vector/backends/numpy.py +19 -37
- {vector-1.6.2 → vector-1.7.0}/src/vector/backends/object.py +53 -12
- {vector-1.6.2 → vector-1.7.0}/src/vector/backends/sympy.py +102 -4
- {vector-1.6.2/src/vector/_compute → vector-1.7.0/tests}/__init__.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/backends/__init__.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/backends/test_awkward.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/backends/test_awkward_numba.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/backends/test_dask_awkward.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/backends/test_numba_numpy.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/backends/test_numba_object.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/backends/test_numpy.py +1 -1
- vector-1.7.0/tests/backends/test_object.py +453 -0
- {vector-1.6.2 → vector-1.7.0}/tests/backends/test_operators.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/backends/test_sympy.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/__init__.py +1 -1
- vector-1.7.0/tests/compute/lorentz/__init__.py +4 -0
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_Et.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_Et2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_Mt.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_Mt2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_beta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_boostX_beta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_boostX_gamma.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_boostY_beta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_boostY_gamma.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_boostZ_beta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_boostZ_gamma.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_boost_beta3.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_boost_p4.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_deltaRapidityPhi.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_deltaRapidityPhi2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_gamma.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_is_lightlike.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_rapidity.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_t.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_t2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_tau.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_tau2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_to_beta3.py +1 -1
- vector-1.7.0/tests/compute/planar/__init__.py +4 -0
- {vector-1.6.2 → vector-1.7.0}/tests/compute/planar/test_deltaphi.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/planar/test_phi.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/planar/test_rho.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/planar/test_rho2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/planar/test_rotateZ.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/planar/test_x.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/planar/test_y.py +1 -1
- vector-1.7.0/tests/compute/spatial/__init__.py +4 -0
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_costheta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_cottheta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_cross.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_deltaR.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_deltaR2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_deltaangle.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_deltaeta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_eta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_mag.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_mag2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_rotateX.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_rotateY.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_rotate_axis.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_rotate_euler.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_rotate_quaternion.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_theta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/spatial/test_z.py +1 -1
- vector-1.7.0/tests/compute/sympy/lorentz/__init__.py +4 -0
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_Et.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_Et2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_Mt.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_Mt2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_boostX_beta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_boostX_gamma.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_boostY_beta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_boostY_gamma.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_boostZ_beta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_boostZ_gamma.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_boost_beta3.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_boost_p4.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_deltaRapidityPhi.py +8 -8
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_deltaRapidityPhi2.py +8 -8
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_gamma.py +7 -14
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_is_lightlike.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_rapidity.py +5 -8
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_t.py +4 -8
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_t2.py +6 -8
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_tau.py +3 -4
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_tau2.py +3 -4
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_to_beta3.py +10 -14
- vector-1.7.0/tests/compute/sympy/planar/__init__.py +4 -0
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/planar/test_deltaphi.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/planar/test_phi.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/planar/test_rho.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/planar/test_rho2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/planar/test_rotateZ.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/planar/test_x.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/planar/test_y.py +1 -1
- vector-1.7.0/tests/compute/sympy/spatial/__init__.py +4 -0
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_costheta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_cottheta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_cross.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_deltaR.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_deltaR2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_deltaangle.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_deltaeta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_eta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_mag.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_mag2.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_rotateX.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_rotateY.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_rotate_axis.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_rotate_euler.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_rotate_quaternion.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_theta.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/spatial/test_z.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/test_add.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/test_conversions.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/test_dot.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/test_equal.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/test_is_antiparallel.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/test_is_parallel.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/test_is_perpendicular.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/test_not_equal.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/test_scale.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/test_subtract.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/test_unit.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/test_add.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/test_conversions.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/test_dot.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/test_equal.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/test_is_antiparallel.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/test_is_parallel.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/test_is_perpendicular.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/test_isclose.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/test_not_equal.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/test_scale.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/test_subtract.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/compute/test_unit.py +1 -1
- {vector-1.6.2 → vector-1.7.0}/tests/test_issues.py +16 -1
- {vector-1.6.2 → vector-1.7.0}/tests/test_methods.py +1 -1
- vector-1.7.0/tests/test_pytree.py +173 -0
- vector-1.6.2/.github/codecov.yml +0 -3
- vector-1.6.2/.readthedocs.yml +0 -24
- vector-1.6.2/CITATION.cff +0 -26
- vector-1.6.2/src/vector/_lib.py +0 -95
- vector-1.6.2/tests/backends/test_object.py +0 -222
- vector-1.6.2/tests/compute/lorentz/__init__.py +0 -4
- vector-1.6.2/tests/compute/planar/__init__.py +0 -4
- vector-1.6.2/tests/compute/spatial/__init__.py +0 -4
- vector-1.6.2/tests/compute/sympy/lorentz/__init__.py +0 -4
- vector-1.6.2/tests/compute/sympy/planar/__init__.py +0 -4
- vector-1.6.2/tests/compute/sympy/spatial/__init__.py +0 -4
- vector-1.6.2/tests/test_compute_features.py +0 -380
- {vector-1.6.2 → vector-1.7.0}/.git_archival.txt +0 -0
- {vector-1.6.2 → vector-1.7.0}/.gitattributes +0 -0
- {vector-1.6.2 → vector-1.7.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {vector-1.6.2 → vector-1.7.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {vector-1.6.2 → vector-1.7.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {vector-1.6.2 → vector-1.7.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {vector-1.6.2 → vector-1.7.0}/.github/dependabot.yml +0 -0
- {vector-1.6.2 → vector-1.7.0}/.github/matchers/pylint.json +0 -0
- {vector-1.6.2 → vector-1.7.0}/LICENSE +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/Makefile +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/_images/LogoSrc.svg +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/_images/coordinate-systems.png +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/_images/coordinate-systems.svg +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/_images/vector-logo.png +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/make.bat +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/common.md +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/make_awkward.md +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/make_numpy.md +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/make_object.md +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/make_sympy.md +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/momentum2d.md +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/momentum3d.md +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/momentum4d.md +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/numba.ipynb +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/numpy.ipynb +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/object.ipynb +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/sympy.ipynb +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/vector2d.md +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/vector3d.md +0 -0
- {vector-1.6.2 → vector-1.7.0}/docs/src/vector4d.md +0 -0
- {vector-1.6.2 → vector-1.7.0}/src/vector/_version.pyi +0 -0
- {vector-1.6.2 → vector-1.7.0}/src/vector/py.typed +0 -0
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_is_spacelike.py +0 -0
- {vector-1.6.2 → vector-1.7.0}/tests/compute/lorentz/test_is_timelike.py +0 -0
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_beta.py +0 -0
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_is_spacelike.py +0 -0
- {vector-1.6.2 → vector-1.7.0}/tests/compute/sympy/lorentz/test_is_timelike.py +0 -0
- {vector-1.6.2 → vector-1.7.0}/tests/samples/issue-161-v2.pkl +0 -0
- {vector-1.6.2 → vector-1.7.0}/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
|
}
|
|
@@ -10,7 +10,7 @@ jobs:
|
|
|
10
10
|
dist:
|
|
11
11
|
runs-on: ubuntu-latest
|
|
12
12
|
steps:
|
|
13
|
-
- uses: actions/checkout@
|
|
13
|
+
- uses: actions/checkout@v5
|
|
14
14
|
with:
|
|
15
15
|
fetch-depth: 0
|
|
16
16
|
|
|
@@ -28,7 +28,7 @@ jobs:
|
|
|
28
28
|
attestations: write
|
|
29
29
|
|
|
30
30
|
steps:
|
|
31
|
-
- uses: actions/download-artifact@
|
|
31
|
+
- uses: actions/download-artifact@v5
|
|
32
32
|
with:
|
|
33
33
|
name: Packages
|
|
34
34
|
path: dist
|
|
@@ -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@
|
|
40
|
+
uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
|
|
41
41
|
with:
|
|
42
42
|
subject-path: "dist/vector-*"
|
|
43
43
|
|
|
@@ -24,11 +24,11 @@ jobs:
|
|
|
24
24
|
runs-on: ubuntu-latest
|
|
25
25
|
name: Check SDist
|
|
26
26
|
steps:
|
|
27
|
-
- uses: actions/checkout@
|
|
28
|
-
- uses: actions/setup-python@
|
|
27
|
+
- uses: actions/checkout@v5
|
|
28
|
+
- uses: actions/setup-python@v6
|
|
29
29
|
with:
|
|
30
30
|
python-version: 3.x
|
|
31
|
-
- uses: astral-sh/setup-uv@
|
|
31
|
+
- uses: astral-sh/setup-uv@v7
|
|
32
32
|
- name: PyLint
|
|
33
33
|
run: uvx nox -s pylint -- --output-format=github
|
|
34
34
|
|
|
@@ -38,7 +38,6 @@ jobs:
|
|
|
38
38
|
fail-fast: false
|
|
39
39
|
matrix:
|
|
40
40
|
python-version:
|
|
41
|
-
- "3.8"
|
|
42
41
|
- "3.9"
|
|
43
42
|
- "3.10"
|
|
44
43
|
- "3.11"
|
|
@@ -46,14 +45,14 @@ jobs:
|
|
|
46
45
|
- "3.13"
|
|
47
46
|
name: Python ${{ matrix.python-version }} - Lite
|
|
48
47
|
steps:
|
|
49
|
-
- uses: actions/checkout@
|
|
48
|
+
- uses: actions/checkout@v5
|
|
50
49
|
|
|
51
|
-
- uses: actions/setup-python@
|
|
50
|
+
- uses: actions/setup-python@v6
|
|
52
51
|
with:
|
|
53
52
|
python-version: ${{ matrix.python-version }}
|
|
54
53
|
allow-prereleases: true
|
|
55
54
|
|
|
56
|
-
- uses: astral-sh/setup-uv@
|
|
55
|
+
- uses: astral-sh/setup-uv@v7
|
|
57
56
|
|
|
58
57
|
- name: Test lite package
|
|
59
58
|
run: uvx nox -s lite-${{ matrix.python-version }} --verbose
|
|
@@ -65,7 +64,6 @@ jobs:
|
|
|
65
64
|
fail-fast: false
|
|
66
65
|
matrix:
|
|
67
66
|
python-version:
|
|
68
|
-
- "3.8"
|
|
69
67
|
- "3.9"
|
|
70
68
|
- "3.10"
|
|
71
69
|
- "3.11"
|
|
@@ -73,14 +71,14 @@ jobs:
|
|
|
73
71
|
- "3.13"
|
|
74
72
|
name: Python ${{ matrix.python-version }} - Full
|
|
75
73
|
steps:
|
|
76
|
-
- uses: actions/checkout@
|
|
74
|
+
- uses: actions/checkout@v5
|
|
77
75
|
|
|
78
|
-
- uses: actions/setup-python@
|
|
76
|
+
- uses: actions/setup-python@v6
|
|
79
77
|
with:
|
|
80
78
|
python-version: ${{ matrix.python-version }}
|
|
81
79
|
allow-prereleases: true
|
|
82
80
|
|
|
83
|
-
- uses: astral-sh/setup-uv@
|
|
81
|
+
- uses: astral-sh/setup-uv@v7
|
|
84
82
|
|
|
85
83
|
- name: Install nox
|
|
86
84
|
run: uv tool install nox
|
|
@@ -93,27 +91,12 @@ jobs:
|
|
|
93
91
|
run: nox -s coverage-${{ matrix.python-version }} --verbose
|
|
94
92
|
|
|
95
93
|
- name: Upload coverage report
|
|
96
|
-
uses: codecov/codecov-action@v5.
|
|
94
|
+
uses: codecov/codecov-action@v5.5.1
|
|
97
95
|
with:
|
|
98
96
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
99
97
|
|
|
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
98
|
pass:
|
|
116
|
-
needs: [pre-commit, check-lite, check-full
|
|
99
|
+
needs: [pre-commit, check-lite, check-full]
|
|
117
100
|
runs-on: ubuntu-latest
|
|
118
101
|
steps:
|
|
119
102
|
- run: echo "All jobs passed"
|
|
@@ -121,7 +104,7 @@ jobs:
|
|
|
121
104
|
# root:
|
|
122
105
|
# runs-on: ubuntu-latest
|
|
123
106
|
# steps:
|
|
124
|
-
# - uses: actions/checkout@
|
|
107
|
+
# - uses: actions/checkout@v5
|
|
125
108
|
|
|
126
109
|
# - name: Get Conda
|
|
127
110
|
# uses: conda-incubator/setup-miniconda@v2
|
|
@@ -4,7 +4,7 @@ ci:
|
|
|
4
4
|
|
|
5
5
|
repos:
|
|
6
6
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
7
|
-
rev:
|
|
7
|
+
rev: v6.0.0
|
|
8
8
|
hooks:
|
|
9
9
|
- id: check-added-large-files
|
|
10
10
|
- id: check-case-conflict
|
|
@@ -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.
|
|
22
|
+
rev: "v0.14.1"
|
|
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.
|
|
29
|
+
rev: v1.18.2
|
|
30
30
|
hooks:
|
|
31
31
|
- id: mypy
|
|
32
32
|
files: src
|
|
@@ -35,23 +35,22 @@ repos:
|
|
|
35
35
|
- numpy
|
|
36
36
|
- packaging
|
|
37
37
|
- sympy
|
|
38
|
+
- optree
|
|
38
39
|
|
|
39
40
|
- repo: https://github.com/codespell-project/codespell
|
|
40
41
|
rev: v2.4.1
|
|
41
42
|
hooks:
|
|
42
43
|
- id: codespell
|
|
43
|
-
args: ["-LHEP"]
|
|
44
|
-
exclude: ^docs/usage/intro.ipynb$
|
|
45
44
|
|
|
46
45
|
- repo: https://github.com/rbubley/mirrors-prettier
|
|
47
|
-
rev: "v3.
|
|
46
|
+
rev: "v3.6.2"
|
|
48
47
|
hooks:
|
|
49
48
|
- id: prettier
|
|
50
49
|
types_or: [yaml, markdown, html, css, scss, javascript, json]
|
|
51
50
|
exclude: assets/js/webapp\.js
|
|
52
51
|
|
|
53
52
|
- repo: https://github.com/adamchainz/blacken-docs
|
|
54
|
-
rev: 1.
|
|
53
|
+
rev: 1.20.0
|
|
55
54
|
hooks:
|
|
56
55
|
- id: blacken-docs
|
|
57
56
|
args: ["-E"]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# .readthedocs.yml
|
|
2
|
+
# Read the Docs configuration file
|
|
3
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
|
4
|
+
|
|
5
|
+
# Required
|
|
6
|
+
version: 2
|
|
7
|
+
build:
|
|
8
|
+
os: ubuntu-24.04
|
|
9
|
+
tools:
|
|
10
|
+
python: latest
|
|
11
|
+
jobs:
|
|
12
|
+
pre_create_environment:
|
|
13
|
+
- asdf plugin add uv
|
|
14
|
+
- asdf install uv latest
|
|
15
|
+
- asdf global uv latest
|
|
16
|
+
create_environment:
|
|
17
|
+
- uv venv $READTHEDOCS_VIRTUALENV_PATH
|
|
18
|
+
install:
|
|
19
|
+
# Optimize cache location on readthedocs
|
|
20
|
+
- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH uv pip install --cache-dir $READTHEDOCS_VIRTUALENV_PATH/../../uv_cache -e. --group docs
|
|
21
|
+
|
|
22
|
+
# Build documentation in the docs/ directory with Sphinx
|
|
23
|
+
sphinx:
|
|
24
|
+
configuration: docs/conf.py
|
|
25
|
+
|
|
26
|
+
# Include PDF and ePub
|
|
27
|
+
formats: all
|
|
@@ -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
|
-
|
|
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)
|
|
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
|
|
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`
|
|
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 #
|
|
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 `
|
|
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,31 @@ 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
|
-
###
|
|
192
|
+
### Building vector with nox
|
|
188
193
|
|
|
189
|
-
|
|
194
|
+
`vector` can be built with `nox` in the following way -
|
|
190
195
|
|
|
191
196
|
```
|
|
192
|
-
nox -s
|
|
197
|
+
nox -s build
|
|
193
198
|
```
|
|
194
199
|
|
|
195
|
-
|
|
200
|
+
### Running tests with nox
|
|
201
|
+
|
|
202
|
+
Tests can be run with `nox` in the following way -
|
|
196
203
|
|
|
197
204
|
```
|
|
198
|
-
nox -s
|
|
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
|
|
199
210
|
```
|
|
200
211
|
|
|
201
212
|
### Building documentation with nox
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vector
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.7.0
|
|
4
4
|
Summary: Vector classes and utilities
|
|
5
5
|
Project-URL: Bug Tracker, https://github.com/scikit-hep/vector/issues
|
|
6
6
|
Project-URL: Changelog, https://vector.readthedocs.io/en/latest/changelog.html
|
|
@@ -9,84 +9,57 @@ Project-URL: Documentation, https://vector.readthedocs.io/
|
|
|
9
9
|
Project-URL: Homepage, https://github.com/scikit-hep/vector
|
|
10
10
|
Author-email: "Jim Pivarski, Henry Schreiner, Eduardo Rodrigues" <eduardo.rodrigues@cern.ch>
|
|
11
11
|
Maintainer-email: The Scikit-HEP admins <scikit-hep-admins@googlegroups.com>
|
|
12
|
+
License-Expression: BSD-3-Clause
|
|
12
13
|
License-File: LICENSE
|
|
13
14
|
Keywords: vector
|
|
14
15
|
Classifier: Development Status :: 5 - Production/Stable
|
|
15
16
|
Classifier: Intended Audience :: Developers
|
|
16
17
|
Classifier: Intended Audience :: Science/Research
|
|
17
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
18
18
|
Classifier: Operating System :: OS Independent
|
|
19
19
|
Classifier: Programming Language :: Python
|
|
20
20
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.9
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.10
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.12
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.13
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
27
27
|
Classifier: Topic :: Scientific/Engineering
|
|
28
28
|
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
29
29
|
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
30
30
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
31
31
|
Classifier: Typing :: Typed
|
|
32
|
-
Requires-Python: >=3.
|
|
33
|
-
Requires-Dist: numpy>=1.
|
|
34
|
-
Requires-Dist: packaging>=
|
|
32
|
+
Requires-Python: >=3.9
|
|
33
|
+
Requires-Dist: numpy>=1.19.3
|
|
34
|
+
Requires-Dist: packaging>=20
|
|
35
35
|
Provides-Extra: awkward
|
|
36
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
37
|
Provides-Extra: numba
|
|
58
|
-
Requires-Dist: numba>=0.57; (python_version < '3.
|
|
38
|
+
Requires-Dist: numba>=0.57; (python_version < '3.14') and extra == 'numba'
|
|
59
39
|
Provides-Extra: sympy
|
|
60
40
|
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
41
|
Description-Content-Type: text/markdown
|
|
72
42
|
|
|
73
43
|
<img alt="Vector logo" width="50%" src="https://raw.githubusercontent.com/scikit-hep/vector/main/docs/_images/LogoSrc.svg"/>
|
|
74
44
|
|
|
75
45
|
# Vector: arrays of 2D, 3D, and Lorentz vectors
|
|
76
46
|
|
|
47
|
+
[![DOI][zenodo-badge]][zenodo-link]
|
|
48
|
+
[![DOI][joss-badge]][joss-link]
|
|
49
|
+
[![Scikit-HEP][sk-badge]][sk-link]
|
|
50
|
+
|
|
77
51
|
[![Actions Status][actions-badge]][actions-link]
|
|
78
52
|
[![Documentation Status][rtd-badge]][rtd-link]
|
|
79
53
|
[![pre-commit.ci status][pre-commit-badge]][pre-commit-link]
|
|
80
54
|
[![codecov percentage][codecov-badge]][codecov-link]
|
|
81
|
-
[![GitHub Discussion][github-discussions-badge]][github-discussions-link]
|
|
82
|
-
[![Gitter][gitter-badge]][gitter-link]
|
|
83
55
|
|
|
84
56
|
[![PyPI platforms][pypi-platforms]][pypi-link]
|
|
85
57
|
[![PyPI version][pypi-version]][pypi-link]
|
|
86
58
|
[![Conda latest release][conda-version]][conda-link]
|
|
87
|
-
|
|
59
|
+
|
|
88
60
|
[![LICENSE][license-badge]][license-link]
|
|
89
|
-
[![
|
|
61
|
+
[![GitHub Discussion][github-discussions-badge]][github-discussions-link]
|
|
62
|
+
[![Gitter][gitter-badge]][gitter-link]
|
|
90
63
|
|
|
91
64
|
## Installation
|
|
92
65
|
|
|
@@ -126,6 +99,12 @@ Vectors may be included in any of these data types:
|
|
|
126
99
|
|
|
127
100
|
Each of these "backends" provides the same suite of properties and methods, through a common "compute" library.
|
|
128
101
|
|
|
102
|
+
### Integrations
|
|
103
|
+
|
|
104
|
+
Optionally, the vector package provides integration with other libraries. Currently, this includes:
|
|
105
|
+
|
|
106
|
+
- [PyTree integrations](https://vector.readthedocs.io/en/latest/src/pytree.html) using the [optree](https://github.com/metaopt/optree) package.
|
|
107
|
+
|
|
129
108
|
### Geometric versus momentum
|
|
130
109
|
|
|
131
110
|
Finally, vectors come in two flavors:
|
|
@@ -158,6 +137,24 @@ pip install -e .
|
|
|
158
137
|
|
|
159
138
|
Refer to [CONTRIBUTING.md](https://github.com/scikit-hep/vector/blob/main/.github/CONTRIBUTING.md) for more.
|
|
160
139
|
|
|
140
|
+
## Citing Vector
|
|
141
|
+
|
|
142
|
+
To cite Vector, please use [![DOI][joss-badge]][joss-link]
|
|
143
|
+
|
|
144
|
+
```bib
|
|
145
|
+
@article{Chopra2025,
|
|
146
|
+
doi = {10.21105/joss.07791},
|
|
147
|
+
url = {https://doi.org/10.21105/joss.07791},
|
|
148
|
+
year = {2025}, publisher = {The Open Journal},
|
|
149
|
+
volume = {10},
|
|
150
|
+
number = {109},
|
|
151
|
+
pages = {7791},
|
|
152
|
+
author = {Saransh Chopra and Henry Schreiner and Eduardo Rodrigues and Jonas Eschle and Jim Pivarski},
|
|
153
|
+
title = {Vector: JIT-compilable mathematical manipulations of ragged Lorentz vectors},
|
|
154
|
+
journal = {Journal of Open Source Software}
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
161
158
|
## Documentation
|
|
162
159
|
|
|
163
160
|
### Tutorials
|
|
@@ -185,9 +182,13 @@ Refer to [CONTRIBUTING.md](https://github.com/scikit-hep/vector/blob/main/.githu
|
|
|
185
182
|
- [Interface for 3D momentum](https://vector.readthedocs.io/en/latest/src/momentum3d.html)
|
|
186
183
|
- [Interface for 4D momentum](https://vector.readthedocs.io/en/latest/src/momentum4d.html)
|
|
187
184
|
|
|
185
|
+
### Integrations
|
|
186
|
+
|
|
187
|
+
- [PyTree integration API](https://vector.readthedocs.io/en/latest/src/pytree_api.html)
|
|
188
|
+
|
|
188
189
|
### More ways to learn
|
|
189
190
|
|
|
190
|
-
- [
|
|
191
|
+
- [Papers and talks](https://vector.readthedocs.io/en/latest/src/talks.html)
|
|
191
192
|
|
|
192
193
|
## Contributors
|
|
193
194
|
|
|
@@ -197,18 +198,21 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
197
198
|
<!-- prettier-ignore-start -->
|
|
198
199
|
<!-- markdownlint-disable -->
|
|
199
200
|
<table>
|
|
200
|
-
<
|
|
201
|
-
<
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
<
|
|
211
|
-
|
|
201
|
+
<tbody>
|
|
202
|
+
<tr>
|
|
203
|
+
<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>
|
|
204
|
+
<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>
|
|
205
|
+
<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>
|
|
206
|
+
<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>
|
|
207
|
+
<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>
|
|
208
|
+
<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>
|
|
209
|
+
<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>
|
|
210
|
+
</tr>
|
|
211
|
+
<tr>
|
|
212
|
+
<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>
|
|
213
|
+
<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>
|
|
214
|
+
</tr>
|
|
215
|
+
</tbody>
|
|
212
216
|
</table>
|
|
213
217
|
|
|
214
218
|
<!-- markdownlint-restore -->
|
|
@@ -238,6 +242,8 @@ Support for this work was provided by the National Science Foundation cooperativ
|
|
|
238
242
|
[github-discussions-link]: https://github.com/scikit-hep/vector/discussions
|
|
239
243
|
[gitter-badge]: https://badges.gitter.im/Scikit-HEP/vector.svg
|
|
240
244
|
[gitter-link]: https://gitter.im/Scikit-HEP/vector?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
|
|
245
|
+
[joss-badge]: https://joss.theoj.org/papers/10.21105/joss.07791/status.svg
|
|
246
|
+
[joss-link]: https://doi.org/10.21105/joss.07791
|
|
241
247
|
[license-badge]: https://img.shields.io/badge/License-BSD_3--Clause-blue.svg
|
|
242
248
|
[license-link]: https://opensource.org/licenses/BSD-3-Clause
|
|
243
249
|
[pre-commit-badge]: https://results.pre-commit.ci/badge/github/scikit-hep/vector/main.svg
|
|
@@ -249,5 +255,5 @@ Support for this work was provided by the National Science Foundation cooperativ
|
|
|
249
255
|
[rtd-link]: https://vector.readthedocs.io/en/latest/?badge=latest
|
|
250
256
|
[sk-badge]: https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg
|
|
251
257
|
[sk-link]: https://scikit-hep.org/
|
|
252
|
-
[zenodo-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.
|
|
253
|
-
[zenodo-link]: https://
|
|
258
|
+
[zenodo-badge]: https://zenodo.org/badge/DOI/10.5281/zenodo.15263860.svg
|
|
259
|
+
[zenodo-link]: https://zenodo.org/records/15263860
|