summaryrefslogtreecommitdiff
path: root/gnu/packages/python-compression.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python-compression.scm')
-rw-r--r--gnu/packages/python-compression.scm166
1 files changed, 141 insertions, 25 deletions
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index 1426ad9f097..c483d68b5f5 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -1,9 +1,9 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> 2;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
3;;; Copyright © 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> 3;;; Copyright © 2017, 2019, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
4;;; Copyright © 2017 Nikita <nikita@n0.is> 4;;; Copyright © 2017 Nikita <nikita@n0.is>
5;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> 5;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
6;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> 6;;; Copyright © 2018-2020, 2022 Efraim Flashner <efraim@flashner.co.il>
7;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> 7;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
8;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org> 8;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
9;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> 9;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
@@ -31,6 +31,7 @@
31 #:use-module (guix gexp) 31 #:use-module (guix gexp)
32 #:use-module (guix build-system gnu) 32 #:use-module (guix build-system gnu)
33 #:use-module (guix build-system python) 33 #:use-module (guix build-system python)
34 #:use-module (guix build-system pyproject)
34 #:use-module (gnu packages) 35 #:use-module (gnu packages)
35 #:use-module (gnu packages libffi) 36 #:use-module (gnu packages libffi)
36 #:use-module (gnu packages compression) 37 #:use-module (gnu packages compression)
@@ -47,21 +48,20 @@
47(define-public python-multivolumefile 48(define-public python-multivolumefile
48 (package 49 (package
49 (name "python-multivolumefile") 50 (name "python-multivolumefile")
50 (version "0.2.2") 51 (version "0.2.3")
51 (source 52 (source
52 (origin 53 (origin
53 (method url-fetch) 54 (method url-fetch)
54 (uri (pypi-uri "multivolumefile" version)) 55 (uri (pypi-uri "multivolumefile" version))
55 (sha256 56 (sha256
56 (base32 57 (base32
57 "0j46wab4b09s3favjzp3zs1cn2sn8pr7qyngs5wn31hpqqxbbz76")))) 58 "1mh9sz50s1p8ik83a455pqd57syprad7xhfmk28yb5mwmw58sr50"))))
58 (build-system python-build-system) 59 (build-system pyproject-build-system)
59 (native-inputs 60 (native-inputs
60 (list python-pep517 61 (list python-setuptools-scm
61 python-setuptools
62 python-setuptools-scm
63 python-coverage 62 python-coverage
64 python-coveralls 63 python-coveralls
64 python-hypothesis
65 python-pyannotate 65 python-pyannotate
66 python-pytest 66 python-pytest
67 python-pytest-cov)) 67 python-pytest-cov))
@@ -72,6 +72,36 @@ file-object abstraction, making it possible to use multiple files as if they
72were a single file.") 72were a single file.")
73 (license license:lgpl2.1+))) 73 (license license:lgpl2.1+)))
74 74
75(define-public python-pybcj
76 (package
77 (name "python-pybcj")
78 (version "1.0.1")
79 (source (origin
80 (method url-fetch)
81 (uri (pypi-uri "pybcj" version))
82 (sha256
83 (base32
84 "1hvm3c3mb20z25kmbzyyn6pr5inx50z0ignl8b0bggxaik82ws4b"))))
85 (build-system pyproject-build-system)
86 (propagated-inputs (list python-importlib-metadata))
87 (native-inputs
88 (list python-coverage
89 python-hypothesis
90 python-pytest
91 python-pytest-cov
92 python-setuptools-scm))
93 (home-page "https://codeberg.org/miurahr/pybcj")
94 (synopsis "BCJ filter library")
95 (description "In data compression, BCJ, short for Branch-Call-Jump, refers
96to a technique that improves the compression of machine code of executable
97binaries by replacing relative branch addresses with absolute ones. This
98allows a LZMA compressor to identify duplicate targets and archive higher
99compression rate. BCJ is used in the 7-zip compression utility as the default
100filter for executable binaries.
101
102pybcj provides Python bindings to a BCJ implementation in C.")
103 (license license:lgpl2.1+)))
104
75(define-public python-bcj-cffi 105(define-public python-bcj-cffi
76 (package 106 (package
77 (name "python-bcj-cffi") 107 (name "python-bcj-cffi")
@@ -95,6 +125,59 @@ were a single file.")
95Jump conversion filter by CFFI for Python.") 125Jump conversion filter by CFFI for Python.")
96 (license license:lgpl2.1+))) 126 (license license:lgpl2.1+)))
97 127
128(define-public python-brotlicffi
129 (package
130 (name "python-brotlicffi")
131 (version "1.0.9.2")
132 (source (origin
133 (method url-fetch)
134 (uri (pypi-uri "brotlicffi" version))
135 (sha256
136 (base32
137 "15kxgdiqcg0cm6h5xq3vkbhw7674673hcx3n2yicd3wx29l8l90c"))
138 (snippet
139 #~(begin
140 (use-modules (guix build utils))
141 (delete-file-recursively "libbrotli")))))
142 (build-system pyproject-build-system)
143 (arguments
144 (list
145 #:phases
146 #~(modify-phases %standard-phases
147 (add-after 'unpack 'use-shared-brotli
148 (lambda _
149 (setenv "USE_SHARED_BROTLI" "1"))))))
150 (propagated-inputs (list python-cffi))
151 (inputs (list brotli))
152 (home-page "https://github.com/python-hyper/brotlicffi")
153 (synopsis "Python CFFI bindings to the Brotli library")
154 (description "This package provides Python CFFI bindings to the Brotli
155library.")
156 (license license:expat)))
157
158(define-public python-inflate64
159 (package
160 (name "python-inflate64")
161 (version "0.3.1")
162 (source (origin
163 (method url-fetch)
164 (uri (pypi-uri "inflate64" version))
165 (sha256
166 (base32
167 "0767j35gkwaykl1iq9qn8rc25j1ggv56x3d1vzjpk89bzpzdhbdm"))))
168 (build-system pyproject-build-system)
169 (propagated-inputs (list python-importlib-metadata))
170 (native-inputs
171 (list python-pyannotate
172 python-pytest
173 python-setuptools-scm))
174 (home-page "https://pypi.org/project/inflate64/")
175 (synopsis "deflate64 compression/decompression library")
176 (description "The @code{inflate64} package provides @code{Deflater} and
177@code{Inflater} classes to compress and decompress with the Enhanced Deflate
178compression algorithm.")
179 (license license:lgpl2.1+)))
180
98(define-public python-isal 181(define-public python-isal
99 (package 182 (package
100 (name "python-isal") 183 (name "python-isal")
@@ -124,24 +207,50 @@ Jump conversion filter by CFFI for Python.")
124and decompression by implementing Python bindings for the ISA-L library.") 207and decompression by implementing Python bindings for the ISA-L library.")
125 (license license:expat))) 208 (license license:expat)))
126 209
210(define-public python-pyppmd
211 (package
212 (name "python-pyppmd")
213 (version "1.0.0")
214 (source (origin
215 (method url-fetch)
216 (uri (pypi-uri "pyppmd" version))
217 (sha256
218 (base32
219 "03w4x26mar0ha73c3v39psn1i0k6xrzwmaxfsxysic73jz99np07"))))
220 (build-system pyproject-build-system)
221 (native-inputs
222 (list python-coverage
223 python-hypothesis
224 python-pytest
225 python-pytest-benchmark
226 python-pytest-cov
227 python-pytest-timeout
228 python-setuptools-scm))
229 (home-page "https://github.com/miurahr/pyppmd")
230 (synopsis "PPMd compression/decompression library")
231 (description "Pyppmd provides classes and functions for compressing and
232decompressing text data, using the @dfn{Prediction by partial matching} (PPM)
233compression algorithm variation H and I.2. It provides an API similar to
234Python's zlib/bz2/lzma modules.")
235 (license license:lgpl2.1+)))
236
127(define-public python-ppmd-cffi 237(define-public python-ppmd-cffi
128 (package 238 (package
129 (name "python-ppmd-cffi") 239 (name "python-ppmd-cffi")
130 (version "0.3.3") 240 (version "0.5.0")
131 (source 241 (source
132 (origin 242 (origin
133 (method url-fetch) 243 (method url-fetch)
134 (uri (pypi-uri "ppmd-cffi" version)) 244 (uri (pypi-uri "ppmd-cffi" version))
135 (sha256 245 (sha256
136 (base32 246 (base32
137 "01wcd9l6pp6hivdmd275qh9dhcwficjqfl67hxix5n07vvq7jzz0")))) 247 "0vprpl29fkflqx0m6anfpx7q7i4cw0d0qxcdm91k4pl82dcad81g"))))
138 (build-system python-build-system) 248 (build-system python-build-system)
139 (propagated-inputs 249 (propagated-inputs
140 (list python-cffi)) 250 (list python-cffi))
141 (native-inputs 251 (native-inputs
142 (list python-setuptools 252 (list python-hypothesis
143 python-setuptools-scm 253 python-setuptools-scm
144 python-pep517
145 python-coverage 254 python-coverage
146 python-pytest 255 python-pytest
147 python-pytest-cov)) 256 python-pytest-cov))
@@ -155,23 +264,27 @@ several possible methods.")
155(define-public python-py7zr 264(define-public python-py7zr
156 (package 265 (package
157 (name "python-py7zr") 266 (name "python-py7zr")
158 (version "0.14.1") 267 (version "0.20.2")
159 (source 268 (source
160 (origin 269 (origin
161 (method url-fetch) 270 (method url-fetch)
162 (uri (pypi-uri "py7zr" version)) 271 (uri (pypi-uri "py7zr" version))
163 (sha256 272 (sha256
164 (base32 273 (base32
165 "1zmgp7yax328fj8yj8pj4l7yh78hp727j6wk12vfi6nmi82wl32i")))) 274 "0lwniinfr3rb10n0c203a09vz06vxnnj637yqn8ipdlml89gj7kr"))))
166 (build-system python-build-system) 275 (build-system pyproject-build-system)
167 (propagated-inputs 276 (propagated-inputs
168 (list python-bcj-cffi 277 (list python-brotli
278 python-brotlicffi
279 python-importlib-metadata
280 python-inflate64
169 python-multivolumefile 281 python-multivolumefile
170 python-ppmd-cffi 282 python-psutil
171 python-pycryptodome 283 python-pybcj
284 python-pycryptodomex
285 python-pyppmd
172 python-pyzstd 286 python-pyzstd
173 python-texttable 287 python-texttable))
174 python-zstandard))
175 (native-inputs 288 (native-inputs
176 (list python-setuptools 289 (list python-setuptools
177 python-setuptools-scm 290 python-setuptools-scm
@@ -429,14 +542,16 @@ wrapper. It provides a backport of the @code{Path} object.")
429(define-public python-zstandard 542(define-public python-zstandard
430 (package 543 (package
431 (name "python-zstandard") 544 (name "python-zstandard")
432 (version "0.15.2") 545 (version "0.19.0")
433 (source 546 (source
434 (origin 547 (origin
435 (method url-fetch) 548 (method url-fetch)
436 (uri (pypi-uri "zstandard" version)) 549 (uri (pypi-uri "zstandard" version))
437 (sha256 550 (sha256
438 (base32 "0by9z7nxnkzhmza075q6q91rs8lnpf91129k8ppv7kymbwshipjj")))) 551 (base32 "0qvqhs121spk7yc1l20samflxx47waxv3xm55ksxpn1djk6jzl9i"))))
439 (build-system python-build-system) 552 (build-system python-build-system)
553 (propagated-inputs
554 (list python-cffi))
440 (native-inputs 555 (native-inputs
441 (list python-hypothesis)) 556 (list python-hypothesis))
442 (home-page "https://github.com/indygreg/python-zstandard") 557 (home-page "https://github.com/indygreg/python-zstandard")
@@ -449,17 +564,18 @@ provided.")
449(define-public python-pyzstd 564(define-public python-pyzstd
450 (package 565 (package
451 (name "python-pyzstd") 566 (name "python-pyzstd")
452 (version "0.14.3") 567 (version "0.15.3")
453 (source 568 (source
454 (origin 569 (origin
455 (method url-fetch) 570 (method url-fetch)
456 (uri (pypi-uri "pyzstd" version)) 571 (uri (pypi-uri "pyzstd" version))
457 (sha256 572 (sha256
458 (base32 573 (base32
459 "1d3mngs45w2p490vrq5ymd2wz4lp15phmks1ilcx4k7amgibml3d")))) 574 "0wkli2i4my79l43b996bdga0fac8s8nfd1zjyzl46lwmsfsxlkmc"))))
460 (build-system python-build-system) 575 (build-system python-build-system)
461 (home-page "https://github.com/animalize/pyzstd") 576 (home-page "https://github.com/animalize/pyzstd")
462 (synopsis "Zstandard bindings for Python") 577 (synopsis "Zstandard bindings for Python")
463 (description "This package provides Python bindings to the Zstandard (zstd) 578 (description "This package provides Python bindings to the
579Zstandard (zstd)
464compression library. The API is similar to Python's bz2/lzma/zlib module.") 580compression library. The API is similar to Python's bz2/lzma/zlib module.")
465 (license license:bsd-3))) 581 (license license:bsd-3)))