vector 1.5.0__tar.gz → 1.5.2__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.5.0 → vector-1.5.2}/.github/workflows/cd.yml +10 -19
- {vector-1.5.0 → vector-1.5.2}/.github/workflows/ci.yml +17 -14
- {vector-1.5.0 → vector-1.5.2}/.pre-commit-config.yaml +5 -13
- {vector-1.5.0 → vector-1.5.2}/PKG-INFO +5 -4
- {vector-1.5.0 → vector-1.5.2}/docs/changelog.md +28 -4
- {vector-1.5.0 → vector-1.5.2}/noxfile.py +9 -8
- {vector-1.5.0 → vector-1.5.2}/pyproject.toml +8 -8
- {vector-1.5.0 → vector-1.5.2}/src/vector/__init__.py +1 -1
- {vector-1.5.0 → vector-1.5.2}/src/vector/_methods.py +1 -1
- {vector-1.5.0 → vector-1.5.2}/src/vector/_version.py +2 -2
- {vector-1.5.0 → vector-1.5.2}/src/vector/backends/numpy.py +20 -21
- {vector-1.5.0 → vector-1.5.2}/src/vector/backends/object.py +18 -18
- {vector-1.5.0 → vector-1.5.2}/src/vector/backends/sympy.py +18 -18
- {vector-1.5.0 → vector-1.5.2}/.all-contributorsrc +0 -0
- {vector-1.5.0 → vector-1.5.2}/.git_archival.txt +0 -0
- {vector-1.5.0 → vector-1.5.2}/.gitattributes +0 -0
- {vector-1.5.0 → vector-1.5.2}/.github/CONTRIBUTING.md +0 -0
- {vector-1.5.0 → vector-1.5.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {vector-1.5.0 → vector-1.5.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {vector-1.5.0 → vector-1.5.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {vector-1.5.0 → vector-1.5.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {vector-1.5.0 → vector-1.5.2}/.github/codecov.yml +0 -0
- {vector-1.5.0 → vector-1.5.2}/.github/dependabot.yml +0 -0
- {vector-1.5.0 → vector-1.5.2}/.github/matchers/pylint.json +0 -0
- {vector-1.5.0 → vector-1.5.2}/.github/workflows/notebooks.yml +0 -0
- {vector-1.5.0 → vector-1.5.2}/.gitignore +0 -0
- {vector-1.5.0 → vector-1.5.2}/.readthedocs.yml +0 -0
- {vector-1.5.0 → vector-1.5.2}/CITATION.cff +0 -0
- {vector-1.5.0 → vector-1.5.2}/LICENSE +0 -0
- {vector-1.5.0 → vector-1.5.2}/README.md +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/Makefile +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/_images/LogoSrc.svg +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/_images/vector-logo.png +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/backends/vector.backends._numba.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/backends/vector.backends._numba_object.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/backends/vector.backends.awkward.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/backends/vector.backends.awkward_constructors.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/backends/vector.backends.numba_numpy.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/backends/vector.backends.numpy.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/backends/vector.backends.object.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/backends/vector.backends.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.Et.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.Et2.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.Mt.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.Mt2.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.add.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.beta.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.boostX_beta.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.boostX_gamma.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.boostY_beta.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.boostY_gamma.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.boostZ_beta.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.boostZ_gamma.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.boost_beta3.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.boost_p4.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.deltaRapidityPhi.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.deltaRapidityPhi2.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.dot.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.equal.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.gamma.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.is_lightlike.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.is_spacelike.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.is_timelike.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.isclose.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.not_equal.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.rapidity.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.scale.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.subtract.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.t.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.t2.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.tau.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.tau2.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.to_beta3.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.transform4D.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/lorentz/vector._compute.lorentz.unit.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.add.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.deltaphi.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.dot.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.equal.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.is_antiparallel.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.is_parallel.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.is_perpendicular.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.isclose.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.not_equal.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.phi.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.rho.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.rho2.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.rotateZ.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.scale.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.subtract.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.transform2D.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.unit.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.x.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/planar/vector._compute.planar.y.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.add.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.costheta.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.cottheta.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.cross.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.deltaR.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.deltaR2.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.deltaangle.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.deltaeta.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.dot.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.equal.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.eta.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.is_antiparallel.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.is_parallel.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.is_perpendicular.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.isclose.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.mag.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.mag2.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.not_equal.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.rotateX.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.rotateY.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.rotate_axis.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.rotate_euler.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.rotate_quaternion.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.scale.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.subtract.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.theta.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.transform3D.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.unit.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/spatial/vector._compute.spatial.z.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/compute/vector._compute.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/inheritance.svg +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/modules.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/vector._methods.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/vector._typeutils.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/api/vector.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/conf.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/index.rst +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/make.bat +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/usage/intro.ipynb +0 -0
- {vector-1.5.0 → vector-1.5.2}/docs/usage/structure.md +0 -0
- {vector-1.5.0 → vector-1.5.2}/environment.yml +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/Et.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/Et2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/Mt.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/Mt2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/add.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/beta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/boostX_beta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/boostX_gamma.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/boostY_beta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/boostY_gamma.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/boostZ_beta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/boostZ_gamma.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/boost_beta3.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/boost_p4.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/deltaRapidityPhi.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/deltaRapidityPhi2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/dot.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/equal.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/gamma.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/is_lightlike.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/is_spacelike.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/is_timelike.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/isclose.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/not_equal.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/rapidity.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/scale.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/subtract.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/t.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/t2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/tau.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/tau2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/to_beta3.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/transform4D.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/lorentz/unit.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/add.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/deltaphi.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/dot.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/equal.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/is_antiparallel.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/is_parallel.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/is_perpendicular.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/isclose.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/not_equal.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/phi.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/rho.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/rho2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/rotateZ.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/scale.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/subtract.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/transform2D.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/unit.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/x.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/planar/y.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/add.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/costheta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/cottheta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/cross.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/deltaR.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/deltaR2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/deltaangle.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/deltaeta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/dot.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/equal.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/eta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/is_antiparallel.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/is_parallel.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/is_perpendicular.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/isclose.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/mag.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/mag2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/not_equal.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/rotateX.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/rotateY.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/rotate_axis.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/rotate_euler.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/rotate_quaternion.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/scale.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/subtract.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/theta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/transform3D.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/unit.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_compute/spatial/z.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_lib.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/_typeutils.py +0 -0
- /vector-1.5.0/src/vector/version.pyi → /vector-1.5.2/src/vector/_version.pyi +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/backends/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/backends/_numba.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/backends/_numba_object.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/backends/awkward.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/backends/awkward_constructors.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/backends/numba_numpy.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/src/vector/py.typed +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/backends/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/backends/test_awkward.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/backends/test_awkward_numba.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/backends/test_dask_awkward.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/backends/test_numba_numpy.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/backends/test_numba_object.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/backends/test_numpy.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/backends/test_object.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/backends/test_operators.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/backends/test_sympy.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_Et.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_Et2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_Mt.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_Mt2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_beta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_boostX_beta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_boostX_gamma.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_boostY_beta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_boostY_gamma.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_boostZ_beta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_boostZ_gamma.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_boost_beta3.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_boost_p4.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_deltaRapidityPhi.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_deltaRapidityPhi2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_gamma.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_is_lightlike.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_is_spacelike.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_is_timelike.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_rapidity.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_t.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_t2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_tau.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_tau2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/lorentz/test_to_beta3.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/planar/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/planar/test_deltaphi.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/planar/test_phi.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/planar/test_rho.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/planar/test_rho2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/planar/test_rotateZ.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/planar/test_x.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/planar/test_y.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_costheta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_cottheta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_cross.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_deltaR.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_deltaR2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_deltaangle.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_deltaeta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_eta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_mag.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_mag2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_rotateX.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_rotateY.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_rotate_axis.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_rotate_euler.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_rotate_quaternion.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_theta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/spatial/test_z.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_Et.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_Et2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_Mt.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_Mt2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_beta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_boostX_beta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_boostX_gamma.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_boostY_beta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_boostY_gamma.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_boostZ_beta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_boostZ_gamma.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_boost_beta3.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_boost_p4.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_deltaRapidityPhi.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_deltaRapidityPhi2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_gamma.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_is_lightlike.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_is_spacelike.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_is_timelike.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_rapidity.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_t.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_t2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_tau.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_tau2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/lorentz/test_to_beta3.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/planar/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/planar/test_deltaphi.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/planar/test_phi.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/planar/test_rho.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/planar/test_rho2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/planar/test_rotateZ.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/planar/test_x.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/planar/test_y.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/__init__.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_costheta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_cottheta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_cross.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_deltaR.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_deltaR2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_deltaangle.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_deltaeta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_eta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_mag.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_mag2.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_rotateX.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_rotateY.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_rotate_axis.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_rotate_euler.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_rotate_quaternion.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_theta.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/spatial/test_z.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/test_add.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/test_conversions.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/test_dot.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/test_equal.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/test_is_antiparallel.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/test_is_parallel.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/test_is_perpendicular.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/test_not_equal.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/test_scale.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/test_subtract.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/sympy/test_unit.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/test_add.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/test_conversions.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/test_dot.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/test_equal.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/test_is_antiparallel.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/test_is_parallel.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/test_is_perpendicular.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/test_isclose.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/test_not_equal.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/test_scale.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/test_subtract.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/compute/test_unit.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/samples/issue-161-v2.pkl +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/test_compute_features.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/test_issues.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/test_methods.py +0 -0
- {vector-1.5.0 → vector-1.5.2}/tests/test_notebooks.py +0 -0
|
@@ -9,29 +9,12 @@ on:
|
|
|
9
9
|
jobs:
|
|
10
10
|
dist:
|
|
11
11
|
runs-on: ubuntu-latest
|
|
12
|
-
permissions:
|
|
13
|
-
id-token: write
|
|
14
|
-
attestations: write
|
|
15
|
-
contents: read
|
|
16
12
|
steps:
|
|
17
13
|
- uses: actions/checkout@v4
|
|
18
14
|
with:
|
|
19
15
|
fetch-depth: 0
|
|
20
16
|
|
|
21
|
-
-
|
|
22
|
-
run: pipx run build
|
|
23
|
-
|
|
24
|
-
- name: Check metadata
|
|
25
|
-
run: pipx run twine check dist/*
|
|
26
|
-
|
|
27
|
-
- name: Generate artifact attestation for sdist and wheel
|
|
28
|
-
uses: actions/attest-build-provenance@6149ea5740be74af77f260b9db67e633f6b0a9a1 # v1.4.2
|
|
29
|
-
with:
|
|
30
|
-
subject-path: "dist/vector-*"
|
|
31
|
-
|
|
32
|
-
- uses: actions/upload-artifact@v4
|
|
33
|
-
with:
|
|
34
|
-
path: dist/*
|
|
17
|
+
- uses: hynek/build-and-inspect-python-package@v2
|
|
35
18
|
|
|
36
19
|
publish:
|
|
37
20
|
needs: [dist]
|
|
@@ -42,16 +25,22 @@ jobs:
|
|
|
42
25
|
url: https://pypi.org/p/vector
|
|
43
26
|
permissions:
|
|
44
27
|
id-token: write
|
|
28
|
+
attestations: write
|
|
45
29
|
|
|
46
30
|
steps:
|
|
47
31
|
- uses: actions/download-artifact@v4
|
|
48
32
|
with:
|
|
49
|
-
name:
|
|
33
|
+
name: Packages
|
|
50
34
|
path: dist
|
|
51
35
|
|
|
52
36
|
- name: List distributions to be deployed
|
|
53
37
|
run: ls -l dist/
|
|
54
38
|
|
|
39
|
+
- name: Generate artifact attestation for sdist and wheel
|
|
40
|
+
uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c # v1.4.3
|
|
41
|
+
with:
|
|
42
|
+
subject-path: "dist/vector-*"
|
|
43
|
+
|
|
55
44
|
- name: Verify sdist artifact attestation
|
|
56
45
|
env:
|
|
57
46
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -63,3 +52,5 @@ jobs:
|
|
|
63
52
|
run: gh attestation verify dist/vector-*.whl --repo ${{ github.repository }}
|
|
64
53
|
|
|
65
54
|
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
55
|
+
with:
|
|
56
|
+
attestations: true
|
|
@@ -28,10 +28,9 @@ jobs:
|
|
|
28
28
|
- uses: actions/setup-python@v5
|
|
29
29
|
with:
|
|
30
30
|
python-version: 3.x
|
|
31
|
+
- uses: astral-sh/setup-uv@v3
|
|
31
32
|
- name: PyLint
|
|
32
|
-
run:
|
|
33
|
-
echo "::add-matcher::$GITHUB_WORKSPACE/.github/matchers/pylint.json"
|
|
34
|
-
pipx run nox -s pylint
|
|
33
|
+
run: uvx nox -s pylint -- --output-format=github
|
|
35
34
|
|
|
36
35
|
check-lite:
|
|
37
36
|
runs-on: ubuntu-latest
|
|
@@ -44,6 +43,7 @@ jobs:
|
|
|
44
43
|
- "3.10"
|
|
45
44
|
- "3.11"
|
|
46
45
|
- "3.12"
|
|
46
|
+
- "3.13"
|
|
47
47
|
name: Python ${{ matrix.python-version }} - Lite
|
|
48
48
|
steps:
|
|
49
49
|
- uses: actions/checkout@v4
|
|
@@ -51,12 +51,12 @@ jobs:
|
|
|
51
51
|
- uses: actions/setup-python@v5
|
|
52
52
|
with:
|
|
53
53
|
python-version: ${{ matrix.python-version }}
|
|
54
|
+
allow-prereleases: true
|
|
54
55
|
|
|
55
|
-
-
|
|
56
|
-
run: python -m pip list
|
|
56
|
+
- uses: astral-sh/setup-uv@v3
|
|
57
57
|
|
|
58
58
|
- name: Test lite package
|
|
59
|
-
run:
|
|
59
|
+
run: uvx nox -s lite-${{ matrix.python-version.key || matrix.python-version }} --verbose
|
|
60
60
|
|
|
61
61
|
check-full:
|
|
62
62
|
needs: [check-lite]
|
|
@@ -70,6 +70,7 @@ jobs:
|
|
|
70
70
|
- "3.10"
|
|
71
71
|
- "3.11"
|
|
72
72
|
- "3.12"
|
|
73
|
+
- "3.13"
|
|
73
74
|
name: Python ${{ matrix.python-version }} - Full
|
|
74
75
|
steps:
|
|
75
76
|
- uses: actions/checkout@v4
|
|
@@ -77,19 +78,22 @@ jobs:
|
|
|
77
78
|
- uses: actions/setup-python@v5
|
|
78
79
|
with:
|
|
79
80
|
python-version: ${{ matrix.python-version }}
|
|
81
|
+
allow-prereleases: true
|
|
80
82
|
|
|
81
|
-
-
|
|
82
|
-
|
|
83
|
+
- uses: astral-sh/setup-uv@v3
|
|
84
|
+
|
|
85
|
+
- name: Install nox
|
|
86
|
+
run: uv tool install nox
|
|
83
87
|
|
|
84
88
|
- name: Run doctests on Python 3.11
|
|
85
89
|
if: matrix.python-version == 3.11
|
|
86
|
-
run:
|
|
90
|
+
run: nox -s doctests-${{ matrix.python-version.key || matrix.python-version }} --verbose
|
|
87
91
|
|
|
88
92
|
- name: Test package and generate coverage report
|
|
89
|
-
run:
|
|
93
|
+
run: nox -s coverage-${{ matrix.python-version.key || matrix.python-version }} --verbose
|
|
90
94
|
|
|
91
95
|
- name: Upload coverage report
|
|
92
|
-
uses: codecov/codecov-action@v4.
|
|
96
|
+
uses: codecov/codecov-action@v4.6.0
|
|
93
97
|
with:
|
|
94
98
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
95
99
|
|
|
@@ -103,11 +107,10 @@ jobs:
|
|
|
103
107
|
with:
|
|
104
108
|
python-version: 3.8.13
|
|
105
109
|
|
|
106
|
-
-
|
|
107
|
-
run: python -m pip list
|
|
110
|
+
- uses: astral-sh/setup-uv@v3
|
|
108
111
|
|
|
109
112
|
- name: Check compute features
|
|
110
|
-
run:
|
|
113
|
+
run: uv pip install --system .[test,test-extras]
|
|
111
114
|
|
|
112
115
|
- name: Test package
|
|
113
116
|
run: python -m pytest -ra -m dis --ignore tests/test_notebooks.py
|
|
@@ -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.6.
|
|
22
|
+
rev: "v0.6.8"
|
|
23
23
|
hooks:
|
|
24
24
|
- id: ruff
|
|
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.11.
|
|
29
|
+
rev: v1.11.2
|
|
30
30
|
hooks:
|
|
31
31
|
- id: mypy
|
|
32
32
|
files: src
|
|
@@ -42,8 +42,8 @@ repos:
|
|
|
42
42
|
- id: codespell
|
|
43
43
|
exclude: ^docs/usage/intro.ipynb$
|
|
44
44
|
|
|
45
|
-
- repo: https://github.com/
|
|
46
|
-
rev: "
|
|
45
|
+
- repo: https://github.com/rbubley/mirrors-prettier
|
|
46
|
+
rev: "v3.3.3"
|
|
47
47
|
hooks:
|
|
48
48
|
- id: prettier
|
|
49
49
|
types_or: [yaml, markdown, html, css, scss, javascript, json]
|
|
@@ -54,7 +54,7 @@ repos:
|
|
|
54
54
|
hooks:
|
|
55
55
|
- id: blacken-docs
|
|
56
56
|
args: ["-E"]
|
|
57
|
-
additional_dependencies: [black
|
|
57
|
+
additional_dependencies: [black~=24.0]
|
|
58
58
|
|
|
59
59
|
- repo: https://github.com/pre-commit/pygrep-hooks
|
|
60
60
|
rev: v1.10.0
|
|
@@ -64,11 +64,3 @@ repos:
|
|
|
64
64
|
- id: rst-backticks
|
|
65
65
|
- id: rst-directive-colons
|
|
66
66
|
- id: rst-inline-touching-normal
|
|
67
|
-
|
|
68
|
-
- repo: https://github.com/nbQA-dev/nbQA
|
|
69
|
-
rev: 1.8.7
|
|
70
|
-
hooks:
|
|
71
|
-
- id: nbqa-pyupgrade
|
|
72
|
-
args: ["--py37-plus"]
|
|
73
|
-
- id: nbqa-isort
|
|
74
|
-
args: ["--float-to-top"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: vector
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.2
|
|
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
|
|
@@ -23,13 +23,14 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.10
|
|
24
24
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
25
|
Classifier: Programming Language :: Python :: 3.12
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
26
27
|
Classifier: Topic :: Scientific/Engineering
|
|
27
28
|
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
28
29
|
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
29
30
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
30
31
|
Classifier: Typing :: Typed
|
|
31
32
|
Requires-Python: >=3.8
|
|
32
|
-
Requires-Dist: numpy
|
|
33
|
+
Requires-Dist: numpy>=1.13.3
|
|
33
34
|
Requires-Dist: packaging>=19
|
|
34
35
|
Provides-Extra: awkward
|
|
35
36
|
Requires-Dist: awkward>=2; extra == 'awkward'
|
|
@@ -37,7 +38,7 @@ Provides-Extra: dev
|
|
|
37
38
|
Requires-Dist: awkward>=2; extra == 'dev'
|
|
38
39
|
Requires-Dist: dask-awkward; extra == 'dev'
|
|
39
40
|
Requires-Dist: nox; extra == 'dev'
|
|
40
|
-
Requires-Dist: numba>=0.57; (python_version < '3.
|
|
41
|
+
Requires-Dist: numba>=0.57; (python_version < '3.13') and extra == 'dev'
|
|
41
42
|
Requires-Dist: papermill>=2.4; extra == 'dev'
|
|
42
43
|
Requires-Dist: pytest-cov>=3; extra == 'dev'
|
|
43
44
|
Requires-Dist: pytest-doctestplus; extra == 'dev'
|
|
@@ -53,7 +54,7 @@ Requires-Dist: sphinx-copybutton; extra == 'docs'
|
|
|
53
54
|
Requires-Dist: sphinx-math-dollar; extra == 'docs'
|
|
54
55
|
Requires-Dist: sphinx>=4; extra == 'docs'
|
|
55
56
|
Provides-Extra: numba
|
|
56
|
-
Requires-Dist: numba>=0.57; (python_version < '3.
|
|
57
|
+
Requires-Dist: numba>=0.57; (python_version < '3.13') and extra == 'numba'
|
|
57
58
|
Provides-Extra: sympy
|
|
58
59
|
Requires-Dist: sympy; extra == 'sympy'
|
|
59
60
|
Provides-Extra: test
|
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
## Version 1.5
|
|
4
4
|
|
|
5
|
+
### Version 1.5.2
|
|
6
|
+
|
|
7
|
+
#### Maintenance
|
|
8
|
+
|
|
9
|
+
- ci: 3.13, attestations, and some modernization [#511][]
|
|
10
|
+
|
|
11
|
+
[#511]: https://github.com/scikit-hep/vector/pull/511
|
|
12
|
+
|
|
13
|
+
### Version 1.5.1
|
|
14
|
+
|
|
15
|
+
#### Fixes
|
|
16
|
+
|
|
17
|
+
- fix: uncap numpy [#502][]
|
|
18
|
+
|
|
19
|
+
[#502]: https://github.com/scikit-hep/vector/pull/502
|
|
20
|
+
|
|
5
21
|
### Version 1.5.0
|
|
6
22
|
|
|
7
23
|
#### Breaking
|
|
@@ -12,17 +28,25 @@
|
|
|
12
28
|
|
|
13
29
|
## Version 1.4
|
|
14
30
|
|
|
31
|
+
### Version 1.4.3
|
|
32
|
+
|
|
33
|
+
#### Fixes
|
|
34
|
+
|
|
35
|
+
- fix: uncap numpy [#502][]
|
|
36
|
+
|
|
37
|
+
[#502]: https://github.com/scikit-hep/vector/pull/502
|
|
38
|
+
|
|
15
39
|
### Version 1.4.2
|
|
16
40
|
|
|
17
41
|
#### Fixes
|
|
18
42
|
|
|
19
|
-
- fix: depend on numpy<2.1 to support numba
|
|
20
|
-
- fix: fix ci for awkward v1.x (numpy v2 is out)
|
|
21
|
-
- fix: sympy tests (sympy v1.13)
|
|
43
|
+
- fix: depend on numpy<2.1 to support numba [#476][]
|
|
44
|
+
- fix: fix ci for awkward v1.x (numpy v2 is out) [#479][]
|
|
45
|
+
- fix: sympy tests (sympy v1.13) [#485][]
|
|
22
46
|
|
|
23
47
|
#### Documentation
|
|
24
48
|
|
|
25
|
-
- docs: update intro notebook + readme
|
|
49
|
+
- docs: update intro notebook + readme [#489][]
|
|
26
50
|
|
|
27
51
|
[#476]: https://github.com/scikit-hep/vector/pull/476
|
|
28
52
|
[#479]: https://github.com/scikit-hep/vector/pull/479
|
|
@@ -5,9 +5,10 @@ from pathlib import Path
|
|
|
5
5
|
import nox
|
|
6
6
|
|
|
7
7
|
nox.options.sessions = ["lint", "lite", "tests", "doctests"]
|
|
8
|
+
nox.needs_version = ">=2024.4.15"
|
|
9
|
+
nox.options.default_venv_backend = "uv|virtualenv"
|
|
8
10
|
|
|
9
|
-
ALL_PYTHON = ["3.8", "3.9", "3.10", "3.11", "3.12"]
|
|
10
|
-
|
|
11
|
+
ALL_PYTHON = ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
|
|
11
12
|
DIR = Path(__file__).parent.resolve()
|
|
12
13
|
|
|
13
14
|
|
|
@@ -21,14 +22,14 @@ def lint(session: nox.Session) -> None:
|
|
|
21
22
|
@nox.session(reuse_venv=True)
|
|
22
23
|
def pylint(session: nox.Session) -> None:
|
|
23
24
|
"""Run pylint."""
|
|
24
|
-
session.install("pylint
|
|
25
|
+
session.install("pylint")
|
|
25
26
|
session.install("-e", ".")
|
|
26
27
|
session.run("pylint", "src/vector/", *session.posargs)
|
|
27
28
|
|
|
28
29
|
|
|
29
30
|
@nox.session(reuse_venv=True, python=ALL_PYTHON)
|
|
30
31
|
def lite(session: nox.Session) -> None:
|
|
31
|
-
"""Run
|
|
32
|
+
"""Run lightweight tests."""
|
|
32
33
|
session.install("-e", ".[test]")
|
|
33
34
|
session.run("pytest", "--ignore", "tests/test_notebooks.py", *session.posargs)
|
|
34
35
|
|
|
@@ -45,7 +46,7 @@ def tests(session: nox.Session) -> None:
|
|
|
45
46
|
)
|
|
46
47
|
|
|
47
48
|
|
|
48
|
-
@nox.session(reuse_venv=True, python=ALL_PYTHON)
|
|
49
|
+
@nox.session(reuse_venv=True, python=ALL_PYTHON, default=False)
|
|
49
50
|
def coverage(session: nox.Session) -> None:
|
|
50
51
|
"""Run tests and compute coverage."""
|
|
51
52
|
session.posargs.append("--cov=vector")
|
|
@@ -59,7 +60,7 @@ def doctests(session: nox.Session) -> None:
|
|
|
59
60
|
session.run("pytest", "--doctest-plus", "src/vector/", *session.posargs)
|
|
60
61
|
|
|
61
62
|
|
|
62
|
-
@nox.session(reuse_venv=True)
|
|
63
|
+
@nox.session(reuse_venv=True, default=False)
|
|
63
64
|
def notebooks(session: nox.Session) -> None:
|
|
64
65
|
"""Run the notebook tests"""
|
|
65
66
|
session.install("-e", ".[awkward,numba,test,sympy]")
|
|
@@ -67,7 +68,7 @@ def notebooks(session: nox.Session) -> None:
|
|
|
67
68
|
session.run("pytest", "tests/test_notebooks.py", *session.posargs)
|
|
68
69
|
|
|
69
70
|
|
|
70
|
-
@nox.session(reuse_venv=True)
|
|
71
|
+
@nox.session(reuse_venv=True, default=False)
|
|
71
72
|
def docs(session: nox.Session) -> None:
|
|
72
73
|
"""Build the docs. Pass "serve" to serve."""
|
|
73
74
|
session.install("-e", ".[docs]")
|
|
@@ -82,7 +83,7 @@ def docs(session: nox.Session) -> None:
|
|
|
82
83
|
print("Unsupported argument to docs")
|
|
83
84
|
|
|
84
85
|
|
|
85
|
-
@nox.session(reuse_venv=True)
|
|
86
|
+
@nox.session(reuse_venv=True, default=False)
|
|
86
87
|
def build(session: nox.Session) -> None:
|
|
87
88
|
"""Build an SDist and wheel."""
|
|
88
89
|
session.install("build")
|
|
@@ -32,6 +32,7 @@ classifiers = [
|
|
|
32
32
|
"Programming Language :: Python :: 3.10",
|
|
33
33
|
"Programming Language :: Python :: 3.11",
|
|
34
34
|
"Programming Language :: Python :: 3.12",
|
|
35
|
+
"Programming Language :: Python :: 3.13",
|
|
35
36
|
"Topic :: Scientific/Engineering",
|
|
36
37
|
"Topic :: Scientific/Engineering :: Information Analysis",
|
|
37
38
|
"Topic :: Scientific/Engineering :: Mathematics",
|
|
@@ -42,7 +43,7 @@ dynamic = [
|
|
|
42
43
|
"version",
|
|
43
44
|
]
|
|
44
45
|
dependencies = [
|
|
45
|
-
"numpy>=1.13.3
|
|
46
|
+
"numpy>=1.13.3",
|
|
46
47
|
"packaging>=19",
|
|
47
48
|
]
|
|
48
49
|
optional-dependencies.awkward = [
|
|
@@ -52,7 +53,7 @@ optional-dependencies.dev = [
|
|
|
52
53
|
"awkward>=2",
|
|
53
54
|
"dask-awkward",
|
|
54
55
|
"nox",
|
|
55
|
-
"numba>=0.57; python_version<'3.
|
|
56
|
+
"numba>=0.57; python_version<'3.13'",
|
|
56
57
|
"papermill>=2.4",
|
|
57
58
|
"pytest>=6",
|
|
58
59
|
"pytest-cov>=3",
|
|
@@ -70,7 +71,7 @@ optional-dependencies.docs = [
|
|
|
70
71
|
"sphinx-math-dollar",
|
|
71
72
|
]
|
|
72
73
|
optional-dependencies.numba = [
|
|
73
|
-
"numba>=0.57; python_version<'3.
|
|
74
|
+
"numba>=0.57; python_version<'3.13'",
|
|
74
75
|
]
|
|
75
76
|
optional-dependencies.sympy = [
|
|
76
77
|
"sympy",
|
|
@@ -98,11 +99,6 @@ entry-points.numba_extensions.init = "vector:register_numba"
|
|
|
98
99
|
version.source = "vcs"
|
|
99
100
|
build.hooks.vcs.version-file = "src/vector/_version.py"
|
|
100
101
|
|
|
101
|
-
[tool.ruff]
|
|
102
|
-
src = [
|
|
103
|
-
"src",
|
|
104
|
-
]
|
|
105
|
-
|
|
106
102
|
[tool.ruff.lint]
|
|
107
103
|
extend-select = [
|
|
108
104
|
"B", # flake8-bugbear
|
|
@@ -122,6 +118,7 @@ extend-select = [
|
|
|
122
118
|
ignore = [
|
|
123
119
|
"PLR09", # Too many X
|
|
124
120
|
"PLR2004", # Magic values
|
|
121
|
+
"ISC001", # Conflicts with formatter
|
|
125
122
|
]
|
|
126
123
|
typing-modules = [
|
|
127
124
|
"vector._typeutils",
|
|
@@ -172,6 +169,7 @@ messages_control.disable = [
|
|
|
172
169
|
"too-many-locals",
|
|
173
170
|
"too-many-return-statements",
|
|
174
171
|
"too-many-statements",
|
|
172
|
+
"too-many-positional-arguments",
|
|
175
173
|
"wrong-import-position",
|
|
176
174
|
"duplicate-code",
|
|
177
175
|
"import-outside-toplevel",
|
|
@@ -206,6 +204,8 @@ messages_control.disable = [
|
|
|
206
204
|
"unknown-option-value",
|
|
207
205
|
"no-else-raise",
|
|
208
206
|
"unidiomatic-typecheck",
|
|
207
|
+
"possibly-used-before-assignment", # TODO: Fix this
|
|
208
|
+
"used-before-assignment", # TODO: Fix this
|
|
209
209
|
]
|
|
210
210
|
|
|
211
211
|
[tool.pytest.ini_options]
|
|
@@ -32,7 +32,7 @@ from vector._methods import (
|
|
|
32
32
|
Vector4D,
|
|
33
33
|
dim,
|
|
34
34
|
)
|
|
35
|
-
from vector._version import
|
|
35
|
+
from vector._version import version as __version__
|
|
36
36
|
from vector.backends.awkward_constructors import Array, zip
|
|
37
37
|
from vector.backends.awkward_constructors import Array as awk
|
|
38
38
|
from vector.backends.numpy import (
|
|
@@ -215,38 +215,38 @@ def _getitem(
|
|
|
215
215
|
)
|
|
216
216
|
if hasattr(array, "_longitudinal_type"):
|
|
217
217
|
longitudinal = array._longitudinal_type.ObjectClass(
|
|
218
|
-
*(out[x] for x in _coordinate_class_to_names[_ltype(array)])
|
|
218
|
+
*(out[x] for x in _coordinate_class_to_names[_ltype(array)])
|
|
219
219
|
)
|
|
220
220
|
if hasattr(array, "_temporal_type"):
|
|
221
221
|
temporal = array._temporal_type.ObjectClass(
|
|
222
|
-
*(out[x] for x in _coordinate_class_to_names[_ttype(array)])
|
|
222
|
+
*(out[x] for x in _coordinate_class_to_names[_ttype(array)])
|
|
223
223
|
)
|
|
224
224
|
if temporal is not None:
|
|
225
225
|
return array.ObjectClass(
|
|
226
226
|
azimuthal=azimuthal,
|
|
227
|
-
longitudinal=longitudinal, # type: ignore[arg-type
|
|
227
|
+
longitudinal=longitudinal, # type: ignore[arg-type]
|
|
228
228
|
temporal=temporal, # type: ignore[arg-type]
|
|
229
229
|
)
|
|
230
230
|
elif longitudinal is not None:
|
|
231
|
-
return array.ObjectClass(azimuthal=azimuthal, longitudinal=longitudinal) # type: ignore[arg-type
|
|
231
|
+
return array.ObjectClass(azimuthal=azimuthal, longitudinal=longitudinal) # type: ignore[arg-type]
|
|
232
232
|
elif azimuthal is not None:
|
|
233
|
-
return array.ObjectClass(azimuthal=azimuthal)
|
|
233
|
+
return array.ObjectClass(azimuthal=azimuthal)
|
|
234
234
|
elif issubclass(array.ObjectClass, vector.backends.object.AzimuthalObject):
|
|
235
|
-
return array.ObjectClass(*tuple(out)[:2]) # type: ignore[arg-type
|
|
235
|
+
return array.ObjectClass(*tuple(out)[:2]) # type: ignore[arg-type]
|
|
236
236
|
elif issubclass(array.ObjectClass, vector.backends.object.LongitudinalObject):
|
|
237
237
|
coords = (
|
|
238
238
|
out.view(numpy.ndarray)[0]
|
|
239
239
|
if len(out) == 1 # type: ignore[arg-type]
|
|
240
240
|
else out.view(numpy.ndarray)[2]
|
|
241
241
|
)
|
|
242
|
-
return array.ObjectClass(coords)
|
|
242
|
+
return array.ObjectClass(coords)
|
|
243
243
|
else:
|
|
244
244
|
coords = (
|
|
245
245
|
out.view(numpy.ndarray)[0]
|
|
246
246
|
if len(out) == 1 # type: ignore[arg-type]
|
|
247
247
|
else out.view(numpy.ndarray)[3]
|
|
248
248
|
)
|
|
249
|
-
return array.ObjectClass(coords)
|
|
249
|
+
return array.ObjectClass(coords)
|
|
250
250
|
|
|
251
251
|
|
|
252
252
|
def _array_repr(
|
|
@@ -870,7 +870,6 @@ class VectorNumpy(Vector, GetItem):
|
|
|
870
870
|
) -> SameVectorNumpyType:
|
|
871
871
|
return typing.cast(
|
|
872
872
|
SameVectorNumpyType,
|
|
873
|
-
# pylint: disable-next=unexpected-keyword-arg
|
|
874
873
|
numpy.sum(
|
|
875
874
|
self,
|
|
876
875
|
axis=axis,
|
|
@@ -879,14 +878,14 @@ class VectorNumpy(Vector, GetItem):
|
|
|
879
878
|
keepdims=keepdims,
|
|
880
879
|
initial=initial,
|
|
881
880
|
where=where,
|
|
882
|
-
),
|
|
881
|
+
),
|
|
883
882
|
)
|
|
884
883
|
|
|
885
884
|
def __eq__(self, other: typing.Any) -> typing.Any:
|
|
886
|
-
return numpy.equal(self, other)
|
|
885
|
+
return numpy.equal(self, other)
|
|
887
886
|
|
|
888
887
|
def __ne__(self, other: typing.Any) -> typing.Any:
|
|
889
|
-
return numpy.not_equal(self, other)
|
|
888
|
+
return numpy.not_equal(self, other)
|
|
890
889
|
|
|
891
890
|
def __reduce__(self) -> str | tuple[typing.Any, ...]:
|
|
892
891
|
pickled_state = super().__reduce__()
|
|
@@ -1197,7 +1196,7 @@ class VectorNumpy2D(VectorNumpy, Planar, Vector2D, FloatArray): # type: ignore[
|
|
|
1197
1196
|
AzimuthalNumpyXY([(1.1, 2.1), (1.2, 2.2), (1.3, 2.3), (1.4, 2.4),
|
|
1198
1197
|
(1.5, 2.5)], dtype=[('x', '<f8'), ('y', '<f8')])
|
|
1199
1198
|
"""
|
|
1200
|
-
return self.view(self._azimuthal_type)
|
|
1199
|
+
return self.view(self._azimuthal_type)
|
|
1201
1200
|
|
|
1202
1201
|
def _wrap_result(
|
|
1203
1202
|
self,
|
|
@@ -1305,7 +1304,7 @@ class VectorNumpy2D(VectorNumpy, Planar, Vector2D, FloatArray): # type: ignore[
|
|
|
1305
1304
|
return _setitem(self, where, what, False)
|
|
1306
1305
|
|
|
1307
1306
|
|
|
1308
|
-
class MomentumNumpy2D(PlanarMomentum, VectorNumpy2D):
|
|
1307
|
+
class MomentumNumpy2D(PlanarMomentum, VectorNumpy2D):
|
|
1309
1308
|
"""
|
|
1310
1309
|
Two dimensional momentum vector class for the NumPy backend. This class can be directly
|
|
1311
1310
|
used to construct two dimensional NumPy momentum vectors. For two dimensional
|
|
@@ -1427,13 +1426,13 @@ class VectorNumpy3D(VectorNumpy, Spatial, Vector3D, FloatArray): # type: ignore
|
|
|
1427
1426
|
def azimuthal(self) -> AzimuthalNumpy:
|
|
1428
1427
|
"""Returns the azimuthal type class for the given ``VectorNumpy3D`` object."""
|
|
1429
1428
|
# TODO: Add an example here - see https://github.com/scikit-hep/vector/issues/194
|
|
1430
|
-
return self.view(self._azimuthal_type)
|
|
1429
|
+
return self.view(self._azimuthal_type)
|
|
1431
1430
|
|
|
1432
1431
|
@property
|
|
1433
1432
|
def longitudinal(self) -> LongitudinalNumpy:
|
|
1434
1433
|
"""Returns the longitudinal type class for the given ``VectorNumpy3D`` object."""
|
|
1435
1434
|
# TODO: Add an example here - see https://github.com/scikit-hep/vector/issues/194
|
|
1436
|
-
return self.view(self._longitudinal_type)
|
|
1435
|
+
return self.view(self._longitudinal_type)
|
|
1437
1436
|
|
|
1438
1437
|
def _wrap_result(
|
|
1439
1438
|
self,
|
|
@@ -1562,7 +1561,7 @@ class VectorNumpy3D(VectorNumpy, Spatial, Vector3D, FloatArray): # type: ignore
|
|
|
1562
1561
|
return _setitem(self, where, what, False)
|
|
1563
1562
|
|
|
1564
1563
|
|
|
1565
|
-
class MomentumNumpy3D(SpatialMomentum, VectorNumpy3D):
|
|
1564
|
+
class MomentumNumpy3D(SpatialMomentum, VectorNumpy3D):
|
|
1566
1565
|
"""
|
|
1567
1566
|
Three dimensional momentum vector class for the NumPy backend. This class can be directly
|
|
1568
1567
|
used to construct three dimensional NumPy momentum vectors. For three dimensional
|
|
@@ -1707,19 +1706,19 @@ class VectorNumpy4D(VectorNumpy, Lorentz, Vector4D, FloatArray): # type: ignore
|
|
|
1707
1706
|
def azimuthal(self) -> AzimuthalNumpy:
|
|
1708
1707
|
"""Returns the azimuthal type class for the given ``VectorNumpy4D`` object."""
|
|
1709
1708
|
# TODO: Add an example here - see https://github.com/scikit-hep/vector/issues/194
|
|
1710
|
-
return self.view(self._azimuthal_type)
|
|
1709
|
+
return self.view(self._azimuthal_type)
|
|
1711
1710
|
|
|
1712
1711
|
@property
|
|
1713
1712
|
def longitudinal(self) -> LongitudinalNumpy:
|
|
1714
1713
|
"""Returns the longitudinal type class for the given ``Vectornumpy4D`` object."""
|
|
1715
1714
|
# TODO: Add an example here - see https://github.com/scikit-hep/vector/issues/194
|
|
1716
|
-
return self.view(self._longitudinal_type)
|
|
1715
|
+
return self.view(self._longitudinal_type)
|
|
1717
1716
|
|
|
1718
1717
|
@property
|
|
1719
1718
|
def temporal(self) -> TemporalNumpy:
|
|
1720
1719
|
"""Returns the azimuthal type class for the given ``VectorNumpy4D`` object."""
|
|
1721
1720
|
# TODO: Add an example here - see https://github.com/scikit-hep/vector/issues/194
|
|
1722
|
-
return self.view(self._temporal_type)
|
|
1721
|
+
return self.view(self._temporal_type)
|
|
1723
1722
|
|
|
1724
1723
|
def _wrap_result(
|
|
1725
1724
|
self,
|
|
@@ -1882,7 +1881,7 @@ class VectorNumpy4D(VectorNumpy, Lorentz, Vector4D, FloatArray): # type: ignore
|
|
|
1882
1881
|
return _setitem(self, where, what, False)
|
|
1883
1882
|
|
|
1884
1883
|
|
|
1885
|
-
class MomentumNumpy4D(LorentzMomentum, VectorNumpy4D):
|
|
1884
|
+
class MomentumNumpy4D(LorentzMomentum, VectorNumpy4D):
|
|
1886
1885
|
"""
|
|
1887
1886
|
Four dimensional momentum vector class for the NumPy backend. This class can be directly
|
|
1888
1887
|
used to construct four dimensional NumPy momentum vectors. For three dimensional
|