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