summaryrefslogtreecommitdiff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm281
1 files changed, 214 insertions, 67 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c8ba314d38..41b60325d2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27,7 +27,7 @@
;;; Copyright © 2016 Dylan Jeffers <sapientech@[email protected]>
;;; Copyright © 2016 David Craven <[email protected]>
;;; Copyright © 2016-2022 Marius Bakke <[email protected]>
-;;; Copyright © 2016, 2017, 2021 Stefan Reichör <[email protected]>
+;;; Copyright © 2016, 2017, 2021, 2022 Stefan Reichör <[email protected]>
;;; Copyright © 2016, 2017, 2019 Alex Vong <[email protected]>
;;; Copyright © 2016, 2017, 2018, 2021 Arun Isaac <[email protected]>
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Julien Lepiller <[email protected]>
@@ -2014,14 +2014,14 @@ class.")
(define-public python-can
(package
(name "python-can")
- (version "3.3.3")
+ (version "3.3.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-can" version))
(sha256
(base32
- "123lz1bl6xf3d0fvxzr4bg4884yg4m9s21z6xd2m68zhnbv9rmpc"))))
+ "0jclrvyxasaaxr0albq0kqrnrfqdgqxs7m2qw9nd8kfwg8xj4g1d"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -2030,7 +2030,8 @@ class.")
(substitute* "setup.py"
(("mock~=2\\.0") "mock")
(("coverage<5") "coverage")
- (("pytest~=4\\.3") "pytest")
+ (("pytest~=4\\.6") "pytest")
+ (("pytest-timeout~=1\\.3") "pytest-timeout")
(("hypothesis~=4\\.56") "hypothesis"))
#t))
(add-after 'unpack 'fix-broken-tests
@@ -5075,7 +5076,7 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.")
(define-public python-pydantic
(package
(name "python-pydantic")
- (version "1.8.2")
+ (version "1.9.0")
(source
(origin
(method git-fetch)
@@ -5084,7 +5085,7 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "06162dss6mvi7wiy2lzxwvzajwxgy8b2fyym7qipaj7zibcqalq2"))))
+ (base32 "14wj3k9007fpbxk7593w6gdqrr68yzrsw4a41sj5ji4cv3r8z18b"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -5238,6 +5239,8 @@ matching of file paths.")
(arguments
`(#:phases
(modify-phases %standard-phases
+ ;; XXX Remove this when updating this package:
+ ;; https://github.com/psf/black/issues/2703#issuecomment-1004752142
(add-after 'unpack 'relax-version-requirements
(lambda _
(substitute* "setup.py"
@@ -5829,12 +5832,13 @@ readable format.")
("pkg-config" ,pkg-config)
("python-sphinx" ,python-sphinx)
("python-numpydoc" ,python-numpydoc)
- ("texlive" ,(texlive-updmap.cfg (list texlive-cm-super
+ ("texlive" ,(texlive-updmap.cfg (list
+ texlive-capt-of
+ texlive-cm-super
texlive-fonts-ec
texlive-generic-iftex
texlive-pdftex
texlive-amsfonts
- texlive-latex-capt-of
texlive-latex-cmap
texlive-latex-environ
texlive-latex-eqparbox
@@ -6543,19 +6547,19 @@ toolkits.")
("python-mock" ,python-mock)
("graphviz" ,graphviz)
("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts
- texlive-latex-amsmath
- texlive-latex-enumitem
- texlive-latex-expdlist
- texlive-latex-geometry
- texlive-latex-preview
- texlive-latex-type1cm
- texlive-latex-ucs
-
- texlive-pdftex
-
- texlive-fonts-ec
- texlive-times
- texlive-txfonts)))
+ texlive-enumitem
+ texlive-latex-amsmath
+ texlive-latex-expdlist
+ texlive-latex-geometry
+ texlive-latex-preview
+ texlive-latex-type1cm
+ texlive-latex-ucs
+
+ texlive-pdftex
+
+ texlive-fonts-ec
+ texlive-times
+ texlive-txfonts)))
("texinfo" ,texinfo)
,@(package-native-inputs python-matplotlib)))
(arguments
@@ -7910,7 +7914,7 @@ cluster without needing to write any wrapper code yourself.")
(define-public python-honcho
(package
(name "python-honcho")
- (version "1.0.1")
+ (version "1.1.0")
(source
(origin
(method git-fetch)
@@ -7919,7 +7923,7 @@ cluster without needing to write any wrapper code yourself.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "11bd87474qpif20xdcn0ra1idj5k16ka51i658wfpxwc6nzsn92b"))))
+ (base32 "1y0r8dw4pqcq7r4n58ixjdg1iy60lp0gxsd7d2jmhals16ij71rj"))))
(build-system python-build-system)
(native-inputs
(list python-pytest python-mock python-tox which)) ;for tests
@@ -7938,7 +7942,8 @@ cluster without needing to write any wrapper code yourself.")
;; It's easier to run tests after install.
;; Make installed package available for running the tests
(add-installed-pythonpath inputs outputs)
- (invoke "py.test" "-v"))))))
+ ;; Skip failing test_export
+ (invoke "py.test" "-v" "-k" "not test_export"))))))
(home-page "https://github.com/nickstenning/honcho")
(synopsis "Manage Procfile-based applications")
(description
@@ -8238,6 +8243,15 @@ need to use the older and less efficient @code{pkg_resources} package.")
(base32
"1n7qxa1snj06aw45mcfz7bxc46zp7fxj687140g2k6jcnyjmfxrz"))))
(build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-v")))))))
+ (native-inputs
+ (list python-pytest))
(home-page "https://github.com/alecthomas/importmagic")
(synopsis "Library for adding, removing and managing Python imports")
(description
@@ -8869,6 +8883,7 @@ callback signature using a prototype function.")
Powerful interactive shells, a browser-based notebook, support for interactive
data visualization, embeddable interpreters and tools for parallel
computing.")
+ (properties '((cpe-name . "ipython")))
(license license:bsd-3)))
(define-public python-ipython-documentation
@@ -8916,10 +8931,10 @@ computing.")
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
;; FIXME: It's possible that a smaller union would work just as well.
("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts
+ texlive-capt-of
texlive-fonts-ec
texlive-generic-iftex
texlive-pdftex
- texlive-latex-capt-of
texlive-latex-cmap
texlive-latex-environ
texlive-latex-eqparbox
@@ -9612,11 +9627,28 @@ SVG, EPS, PNG and terminal output.")
(uri (pypi-uri "seaborn" version))
(sha256
(base32 "1xpl3zb945sihsiwm9q1yyx84sakk1phcg0fprj6i0j0dllfjifg"))
- (patches (search-patches "python-seaborn-kde-test.patch"))))
+ (patches (search-patches "python-seaborn-kde-test.patch"
+ "python-seaborn-2690.patch"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-more-tests
+ (lambda _
+ (substitute* "seaborn/tests/test_distributions.py"
+ (("get_contour_color\\(ax\\.collections\\[0\\]\\)")
+ "get_contour_color(ax.collections[0])")
+ (("c\\.get_color\\(\\)") "get_contour_color(c)")
+
+ ;; These three are borked and have been fixed upstream, but
+ ;; there's no simple patch we could apply here, so we just
+ ;; disable them.
+ (("def test_hue_ignores_cmap")
+ "def skip_test_hue_ignores_cmap")
+ (("def test_fill_artists")
+ "def skip_test_fill_artists")
+ (("def test_with_rug")
+ "def skip_test_with_rug"))))
(add-before 'check 'start-xserver
(lambda _
;; There must be a running X server and make check doesn't
@@ -11085,30 +11117,23 @@ third-party code.")
(define-public python-llfuse
(package
(name "python-llfuse")
- (version "1.3.8")
+ (version "1.4.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "llfuse" version))
(sha256
(base32
- "1g2cdhdqrb6m7655qp61pn61pwj1ql61cdzhr2jvl3w4i8877ddr"))))
+ "1jaf790rsxvz3hs9fbr3hrnmg0xzl6a2bqfa10bbbsjsdbcpk762"))))
(build-system python-build-system)
(inputs
(list fuse attr))
(native-inputs
- (list pkg-config))
+ (list pkg-config python-pytest))
(synopsis "Python bindings for FUSE")
(description
"Python-LLFUSE is a set of Python bindings for the low level FUSE API.")
(home-page "https://bitbucket.org/nikratio/python-llfuse/")
- (license license:lgpl2.0+)
- (properties `((python2-variant . ,(delay python2-llfuse))))))
-
-(define-public python2-llfuse
- (let ((base (package-with-python2
- (strip-python2-variant python-llfuse))))
- (package/inherit base
- (propagated-inputs `(("python2-contextlib2" ,python2-contextlib2))))))
+ (license license:lgpl2.0+)))
(define-public python-msgpack
(package
@@ -11416,6 +11441,32 @@ Unicode-aware. It is not intended as an end-user tool.")
(define-public python2-xlrd
(package-with-python2 python-xlrd))
+;; We need this for python-anndata
+(define-public python-xlrd-1
+ (package
+ (inherit python-xlrd)
+ (name "python-xlrd")
+ (version "1.2.0")
+ (source (origin
+ ;; The tests are not included in the PyPI archive.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/python-excel/xlrd")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0sm5p0ii5ayh52ak1jpw0n1kgsv72vdwwp8c3z13l8yf4irsb587"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Some tests depend on writing a temporary file to the user's home
+ ;; directory.
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ (setenv "HOME" "/tmp"))))))))
+
;;; Note: this package is unmaintained since 2018 (archived on GitHub).
(define-public python-xlwt
(package
@@ -11641,6 +11692,73 @@ asyncio.")
Python code formatter \"black\".")
(license license:expat)))
+(define-public python-geojson
+ (package
+ (name "python-geojson")
+ (version "2.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "geojson" version))
+ (sha256
+ (base32 "12k5bzqskvq3gqzkryarhdjl0df47y5k9cf8r3clasi2wjnbfjvf"))))
+ (build-system python-build-system)
+ (arguments
+ ;; https://github.com/jazzband/geojson/issues/175
+ `(#:tests? #f))
+ (home-page "https://github.com/jazzband/geojson")
+ (synopsis "Python bindings and utilities for GeoJSON")
+ (description
+ "This package provides Python bindings and utilities for
+@uref{http://geojson.org/, GeoJSON}, a format for encoding geographic data
+structures.")
+ (license license:bsd-3)))
+
+(define-public wfetch
+ (let ((commit "e1cfa37814aebc9eb56ce994ebe877b6a6f9a715")
+ (revision "1"))
+ (package
+ (name "wfetch")
+ (version (git-version "0.1-pre" revision commit))
+ (home-page "https://github.com/Gcat101/Wfetch")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1dmr85plx8zr6s14ym3r32g6crwxghkval5a24ah90ijx4dbn5q5"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:use-setuptools? #f ; no setup.py
+ #:tests? #f ; no test suite
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (share (string-append out "/share")))
+ (mkdir-p share)
+ (substitute* "wfetch/wfetch.py"
+ (("os.sep, 'opt', 'wfetch'") (string-append "'" share "'")))
+ (install-file "wfetch/wfetch.py" bin)
+ (copy-recursively "wfetch/icons" share)))))))
+ (inputs (list python-pyowm python-fire python-termcolor python-requests))
+ (synopsis "Command-line tool to display weather info")
+ (description
+ "This package provides a tool similar to Neofetch/pfetch, but for
+weather: it can display the weather condition, temperature, humidity, etc.
+
+To use it, you must first run:
+
+@example
+export WEATHER_CLI_API=@var{your OpenWeatherMap API key}
+@end example\n")
+ (license license:gpl3+))))
+
(define-public python-get-version
(package
(name "python-get-version")
@@ -11941,17 +12059,6 @@ the Python standard library but currently only supports the older 2003
specification.")
(license license:bsd-4)))
-(define-public python-idna-2.7
- (package (inherit python-idna)
- (version "2.7")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "idna" version))
- (sha256
- (base32
- "05jam7d31767dr12x0rbvvs8lxnpb1mhdb2zdlfxgh83z6k3hjk8"))))))
-
-
(define-public python2-idna
(package-with-python2 python-idna))
@@ -11971,17 +12078,27 @@ specification.")
(base32 "1r0kgl7i6nnhgjl44sjw57k08gh2qr7l8slqih550dyxbf1akbxh"))))
(build-system python-build-system)
(arguments
- `(#:phases
+ '(#:phases
(modify-phases %standard-phases
;; Use Guix package of libsass instead of compiling from a checkout.
(add-before 'build 'set-libsass
- (lambda _
- (setenv "SYSTEM_SASS" (assoc-ref %build-inputs "libsass"))
- #t))
+ (lambda _ (setenv "SYSTEM_SASS" "indeed")))
(replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "sasstests.py"))))
+ (add-after 'install 'delete-test
(lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (invoke "pytest" "sasstests.py"))))))
+ ;; Delete sasstests.py because it attempts to open a file
+ ;; that is not installed when loaded, which breaks the sanity
+ ;; check.
+ (delete-file (string-append
+ (assoc-ref outputs "out")
+ "/lib/python"
+ (python-version
+ (dirname (dirname
+ (search-input-file inputs "bin/python"))))
+ "/site-packages/sasstests.py")))))))
(native-inputs
(list python-pytest python-werkzeug))
(inputs
@@ -12611,13 +12728,12 @@ time.")
texlive-amsfonts
texlive-booktabs
texlive-caption
+ texlive-enumitem
texlive-eurosym
texlive-fonts-rsfs
- texlive-generic-ulem
texlive-generic-iftex
texlive-jknappen
texlive-latex-amsmath
- texlive-latex-enumitem
texlive-latex-fancyvrb
texlive-latex-float
texlive-fontspec
@@ -12637,6 +12753,7 @@ time.")
texlive-tcolorbox
texlive-titling
texlive-tools
+ texlive-ulem
texlive-xcolor
texlive-zapfding)))))
(propagated-inputs
@@ -15380,9 +15497,8 @@ CloudFront content delivery network.")
;; Hard-code the path to pkg-config.
(lambda _
(substitute* "pkgconfig/pkgconfig.py"
- (("cmd = 'pkg-config")
- (string-append "cmd = '" (which "pkg-config"))))
- #t))
+ (("'pkg-config'")
+ (string-append "'" (which "pkg-config") "'")))))
(replace 'check
(lambda _
(invoke "nosetests" "test.py"))))))
@@ -19137,7 +19253,12 @@ multitouch applications.")
;; TypeError: parse() missing 2 required positional arguments: 'tree' and
;; 'parse_funcs'
;; during test setup.
- `(#:tests? #f))
+ (list #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; translate-toolkit has many optional dependencies (see
+ ;; optional.txt), which the sanity check does not understand.
+ (delete 'sanity-check))))
(home-page "https://toolkit.translatehouse.org")
(synopsis "Tools and API for translation and localization engineering")
(description
@@ -21697,7 +21818,12 @@ working with iterables.")
(inputs
(list python-latexcodec python-pyyaml python-six))
(arguments
- `(#:test-target "nosetests"))
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "nosetests")))))))
(home-page "https://pybtex.org/")
(synopsis "BibTeX-compatible bibliography processor")
(description "Pybtex is a BibTeX-compatible bibliography processor written
@@ -22632,7 +22758,7 @@ N-dimensional arrays for Python.")
(define-public python-anndata
(package
(name "python-anndata")
- (version "0.7.6")
+ (version "0.7.8")
(source
(origin
;; The tarball from PyPi doesn't include tests.
@@ -22643,7 +22769,7 @@ N-dimensional arrays for Python.")
(file-name (git-file-name name version))
(sha256
(base32
- "1q30bsfsq9xfqm8nmabg3bjh9gix3yng0170xiiyw1lin4xncf0q"))))
+ "1rrr9xfdaf00ixj5gyym75bl78gkaj55yfw3wjhvx0pdwqpwp9py"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -22658,6 +22784,9 @@ N-dimensional arrays for Python.")
(replace 'build
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" ,version)
+ (substitute* "anndata/_metadata.py"
+ (("__version__ =.*")
+ (string-append "__version__ = \"" ,version "\"\n")))
;; ZIP does not support timestamps before 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(invoke "flit" "build")))
@@ -22669,8 +22798,7 @@ N-dimensional arrays for Python.")
(format #true wheel)
(invoke "python" "-m" "pip" "install"
wheel (string-append "--prefix=" out)))
- (find-files "dist" "\\.whl$")))
- #t)))))
+ (find-files "dist" "\\.whl$"))))))))
(propagated-inputs
(list python-h5py
python-importlib-metadata
@@ -22679,6 +22807,7 @@ N-dimensional arrays for Python.")
python-packaging
python-pandas
python-scipy
+ python-xlrd-1
python-zarr))
(native-inputs
(list python-joblib python-pytest python-toml python-flit
@@ -28088,13 +28217,13 @@ spreadsheet), CSV, TSV, XLS, XLSX (Microsoft Excel spreadsheet), and YAML.")
(define-public python-febelfin-coda
(package
(name "python-febelfin-coda")
- (version "0.1.0")
+ (version "0.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "febelfin-coda" version))
(sha256
- (base32 "10nf4hdwldqgdmh4g613vx55sbsw1x1yzpvs3crwlggbp75fjjfi"))))
+ (base32 "1isnf87gxlvfbmackv7b2c978vmnj7ij0v4svhyjl8pbb9hwjsvm"))))
(build-system python-build-system)
(home-page "https://coda.b2ck.com/")
(synopsis "Module to parse Belgian CODA files")
@@ -28786,3 +28915,21 @@ but not binary streams.")
"This package provides ECMAScript parsing infrastructure for
multipurpose analysis in Python.")
(license license:bsd-3)))
+
+(define-public python-types-dataclasses
+ (package
+ (name "python-types-dataclasses")
+ (version "0.6.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "types-dataclasses" version))
+ (sha256
+ (base32
+ "1mq6qd365m8ml889zl5dxj9kncjv71iq1d1fvgj59y0ixlpm6s35"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/python/typeshed")
+ (synopsis "Typing stubs for dataclasses")
+ (description
+ "This packages provides a collection of library stubs for Python, with
+static types.")
+ (license license:asl2.0)))