summaryrefslogtreecommitdiff
path: root/gnu/packages/python-science.scm
diff options
context:
space:
mode:
authorJake Forster <jakecameron.forster@gmail.com>2025-08-15 00:34:09 +0930
committerSharlatan Hellseher <sharlatanus@gmail.com>2025-08-22 16:26:30 +0100
commit3052463ccf5f7c104bd051a4f4c5e35a78ce7f77 (patch)
tree49e90cb82b65891816326e9fe523357f73dee9ec /gnu/packages/python-science.scm
parent05a1d90454d0a258275ae850f65b0b4b7170ecb2 (diff)
gnu: Add python-uproot.
* gnu/packages/python-science.scm: Import (gnu packages python-compression). (python-uproot): New variable. Change-Id: If2e637d037649d551fa84874121ee08dc2a8c8d5 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu/packages/python-science.scm')
-rw-r--r--gnu/packages/python-science.scm57
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 21f4403917..8504593b1e 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -35,6 +35,7 @@
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Mark Walker <mark.damon.walker@gmail.com>
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
+;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -81,6 +82,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-graphics)
#:use-module (gnu packages python-web)
@@ -4379,6 +4381,61 @@ units. It defines the @code{unyt.array.unyt_array} and
for handling arrays and scalars with units,respectively")
(license license:bsd-3)))
+(define-public python-uproot
+ (package
+ (name "python-uproot")
+ (version "5.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "uproot" version))
+ (sha256
+ (base32 "024k5kjwcd2nw5hfxhpl0x9p5aq0qrg0nlh9v24vr39rcqadh52a"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list
+ ;; conftest.py is not required and it imports modules we do not use.
+ "--noconftest"
+ ;; There is no easy way to skip tests that require the network, so
+ ;; just run a handful of tests that pass.
+ "tests/test_0351_write_TList.py"
+ "tests/test_0352_write_THashList.py"
+ "tests/test_0439_check_awkward_before_numpy.py"
+ "tests/test_0976_path_object_split.py"
+ "tests/test_1198_coalesce.py"
+ "tests/test_1264_write_NumPy_array_of_strings.py"
+ "tests/test_1318_dont_compare_big_endian_in_awkward.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-version
+ (lambda _
+ ;; Version is determined dynamically from .git.
+ (substitute* "pyproject.toml"
+ (("\\[project\\]")
+ (string-append "[project]" "\n" "version = \""
+ #$version "\""))
+ (("\"version\"") "")))))))
+ (native-inputs
+ (list python-hatch-vcs
+ python-pytest
+ python-pytest-timeout
+ python-setuptools))
+ (propagated-inputs
+ (list python-awkward
+ python-cramjam
+ python-fsspec
+ python-numpy
+ python-packaging
+ python-xxhash))
+ (home-page "https://uproot.readthedocs.io")
+ (synopsis "ROOT I/O in Python using NumPy")
+ (description
+ "Uproot is a Python library for reading and writing ROOT files. It uses
+NumPy and does not depend on C++ ROOT.")
+ (license license:bsd-3)))
+
(define-public python-upsetplot
(package
(name "python-upsetplot")