zstd 1.5.6.2__tar.gz → 1.5.6.4__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {zstd-1.5.6.2 → zstd-1.5.6.4}/LICENSE +1 -1
- zstd-1.5.6.4/PKG-INFO +512 -0
- zstd-1.5.6.4/README.rst +471 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/setup.py +104 -26
- {zstd-1.5.6.2 → zstd-1.5.6.4}/src/python-zstd.c +90 -12
- {zstd-1.5.6.2 → zstd-1.5.6.4}/src/python-zstd.h +14 -0
- zstd-1.5.6.4/src/zstd.egg-info/PKG-INFO +512 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/tests/__init__.py +3 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/tests/base.py +16 -3
- {zstd-1.5.6.2 → zstd-1.5.6.4}/tests/test_compress.py +20 -4
- {zstd-1.5.6.2 → zstd-1.5.6.4}/tests/test_decompress.py +9 -3
- {zstd-1.5.6.2 → zstd-1.5.6.4}/tests/test_speed.py +12 -12
- zstd-1.5.6.2/PKG-INFO +0 -344
- zstd-1.5.6.2/README.rst +0 -304
- zstd-1.5.6.2/src/zstd.egg-info/PKG-INFO +0 -344
- {zstd-1.5.6.2 → zstd-1.5.6.4}/MANIFEST.in +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/setup.cfg +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/src/pythoncapi_compat.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/src/util.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/src/util.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/src/zstd.egg-info/SOURCES.txt +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/src/zstd.egg-info/dependency_links.txt +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/src/zstd.egg-info/top_level.txt +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/tests/test_version.py +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/allocations.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/bits.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/bitstream.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/compiler.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/cpu.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/debug.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/debug.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/entropy_common.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/error_private.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/error_private.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/fse.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/fse_decompress.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/huf.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/mem.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/pool.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/pool.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/portability_macros.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/threading.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/threading.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/xxhash.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/xxhash.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/zstd_common.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/zstd_deps.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/zstd_internal.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/common/zstd_trace.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/clevels.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/fse_compress.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/hist.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/hist.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/huf_compress.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_compress.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_compress_internal.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_compress_literals.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_compress_literals.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_compress_sequences.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_compress_sequences.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_compress_superblock.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_compress_superblock.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_cwksp.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_double_fast.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_double_fast.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_fast.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_fast.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_lazy.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_lazy.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_ldm.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_ldm.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_ldm_geartab.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_opt.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstd_opt.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstdmt_compress.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/compress/zstdmt_compress.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/decompress/huf_decompress.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/decompress/huf_decompress_amd64.S +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/decompress/zstd_ddict.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/decompress/zstd_ddict.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/decompress/zstd_decompress.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/decompress/zstd_decompress_block.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/decompress/zstd_decompress_block.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/decompress/zstd_decompress_internal.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_legacy.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v01.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v01.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v02.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v02.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v03.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v03.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v04.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v04.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v05.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v05.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v06.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v06.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v07.c +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/legacy/zstd_v07.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/zstd.h +0 -0
- {zstd-1.5.6.2 → zstd-1.5.6.4}/zstd/lib/zstd_errors.h +0 -0
zstd-1.5.6.4/PKG-INFO
ADDED
@@ -0,0 +1,512 @@
|
|
1
|
+
Metadata-Version: 2.2
|
2
|
+
Name: zstd
|
3
|
+
Version: 1.5.6.4
|
4
|
+
Summary: ZSTD Bindings for Python
|
5
|
+
Home-page: https://github.com/sergey-dryabzhinsky/python-zstd
|
6
|
+
Author: Sergey Dryabzhinsky, Anton Stuk
|
7
|
+
Author-email: sergey.dryabzhinsky@gmail.com
|
8
|
+
Maintainer: Sergey Dryabzhinsky
|
9
|
+
Maintainer-email: sergey.dryabzhinsky@gmail.com
|
10
|
+
License: BSD
|
11
|
+
Keywords: zstd,zstandard,compression
|
12
|
+
Classifier: License :: OSI Approved :: BSD License
|
13
|
+
Classifier: Intended Audience :: Developers
|
14
|
+
Classifier: Development Status :: 5 - Production/Stable
|
15
|
+
Classifier: Operating System :: POSIX
|
16
|
+
Classifier: Programming Language :: C
|
17
|
+
Classifier: Programming Language :: Python
|
18
|
+
Classifier: Programming Language :: Python :: 2.7
|
19
|
+
Classifier: Programming Language :: Python :: 3.4
|
20
|
+
Classifier: Programming Language :: Python :: 3.5
|
21
|
+
Classifier: Programming Language :: Python :: 3.6
|
22
|
+
Classifier: Programming Language :: Python :: 3.7
|
23
|
+
Classifier: Programming Language :: Python :: 3.8
|
24
|
+
Classifier: Programming Language :: Python :: 3.9
|
25
|
+
Classifier: Programming Language :: Python :: 3.10
|
26
|
+
Classifier: Programming Language :: Python :: 3.11
|
27
|
+
Classifier: Programming Language :: Python :: 3.12
|
28
|
+
Classifier: Programming Language :: Python :: 3.13
|
29
|
+
Classifier: Programming Language :: Python :: 3.14
|
30
|
+
License-File: LICENSE
|
31
|
+
Dynamic: author
|
32
|
+
Dynamic: author-email
|
33
|
+
Dynamic: classifier
|
34
|
+
Dynamic: description
|
35
|
+
Dynamic: home-page
|
36
|
+
Dynamic: keywords
|
37
|
+
Dynamic: license
|
38
|
+
Dynamic: maintainer
|
39
|
+
Dynamic: maintainer-email
|
40
|
+
Dynamic: summary
|
41
|
+
|
42
|
+
=============
|
43
|
+
python-zstd
|
44
|
+
=============
|
45
|
+
|
46
|
+
.. |releaseW| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/build-wheels.yml/badge.svg?tag=v1.5.6.4
|
47
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/build-wheels.yml
|
48
|
+
|
49
|
+
.. |masterW| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/build-wheels.yml/badge.svg
|
50
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/build-wheels.yml
|
51
|
+
|
52
|
+
.. |cpython27x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86_64.yml/badge.svg
|
53
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86_64.yml
|
54
|
+
|
55
|
+
.. |cpython27x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml/badge.svg
|
56
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml
|
57
|
+
|
58
|
+
.. |cpython27armhf| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_armhf.yml/badge.svg
|
59
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_armhf.yml
|
60
|
+
|
61
|
+
.. |cpython34x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython34_x86.yml/badge.svg
|
62
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython34_x86.yml
|
63
|
+
|
64
|
+
.. |cpython34x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython34_x86_64.yml/badge.svg
|
65
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython34_x86_64.yml
|
66
|
+
|
67
|
+
.. |cpython35x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython35_x86.yml/badge.svg
|
68
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython35_x86.yml
|
69
|
+
|
70
|
+
.. |cpython35x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython35_x86_64.yml/badge.svg
|
71
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython35_x86_64.yml
|
72
|
+
|
73
|
+
.. |cpython36x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython36_x86.yml/badge.svg
|
74
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython36_x86.yml
|
75
|
+
|
76
|
+
.. |cpython36x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython36_x86_64.yml/badge.svg
|
77
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython36_x86_64.yml
|
78
|
+
|
79
|
+
.. |cpython37x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86.yml/badge.svg
|
80
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86.yml
|
81
|
+
|
82
|
+
.. |cpython37x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86_64_u24.yml/badge.svg
|
83
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86_64_u24.yml
|
84
|
+
|
85
|
+
.. |cpython38x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86.yml/badge.svg
|
86
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86.yml
|
87
|
+
|
88
|
+
.. |cpython38x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86_64_u24.yml/badge.svg
|
89
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86_64_u24.yml
|
90
|
+
|
91
|
+
.. |cpython39x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86.yml/badge.svg
|
92
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86.yml
|
93
|
+
|
94
|
+
.. |cpython39x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86_64_u24.yml/badge.svg
|
95
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86_64_u24.yml
|
96
|
+
|
97
|
+
.. |cpython310x86u16| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_u16.yml/badge.svg
|
98
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_u16.yml
|
99
|
+
|
100
|
+
.. |cpython310x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64_u24.yml/badge.svg
|
101
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64_u24.yml
|
102
|
+
|
103
|
+
.. |cpython311x86u16| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_u16.yml/badge.svg
|
104
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_u16.yml
|
105
|
+
|
106
|
+
.. |cpython311x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64_u24.yml/badge.svg
|
107
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64_u24.yml
|
108
|
+
|
109
|
+
.. |cpython312x86u16| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_u16.yml/badge.svg
|
110
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_u16.yml
|
111
|
+
|
112
|
+
.. |cpython312x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_64_u20.yml/badge.svg
|
113
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_64_u20.yml
|
114
|
+
|
115
|
+
.. |cpython313x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython313_x86_64_u24.yml/badge.svg
|
116
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython313_x86_64_u24.yml
|
117
|
+
|
118
|
+
.. |cpython314x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython314_x86_64_u24.yml/badge.svg
|
119
|
+
:target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython314_x86_64_u24.yml
|
120
|
+
|
121
|
+
+----------------------+---------------------+
|
122
|
+
| wheels for: | status |
|
123
|
+
+======================+=====================+
|
124
|
+
| cpython 2.7 x86 | |cpython27x86| |
|
125
|
+
+----------------------+---------------------+
|
126
|
+
| cpython 2.7 x64 | |cpython27x64| |
|
127
|
+
+----------------------+---------------------+
|
128
|
+
| cpython 2.7 armhf | |cpython27armhf| |
|
129
|
+
+----------------------+---------------------+
|
130
|
+
| cpython 3.4 x86 | |cpython34x86| |
|
131
|
+
+----------------------+---------------------+
|
132
|
+
| cpython 3.4 x64 | |cpython34x64| |
|
133
|
+
+----------------------+---------------------+
|
134
|
+
| cpython 3.5 x86 | |cpython35x86| |
|
135
|
+
+----------------------+---------------------+
|
136
|
+
| cpython 3.5 x64 | |cpython35x64| |
|
137
|
+
+----------------------+---------------------+
|
138
|
+
| cpython 3.6 x86 | |cpython36x86| |
|
139
|
+
+----------------------+---------------------+
|
140
|
+
| cpython 3.6 x64 | |cpython36x64| |
|
141
|
+
+----------------------+---------------------+
|
142
|
+
| cpython 3.7 x86 | |cpython37x86| |
|
143
|
+
+----------------------+---------------------+
|
144
|
+
| cpython 3.7 x64 u24 | |cpython37x64| |
|
145
|
+
+----------------------+---------------------+
|
146
|
+
| cpython 3.8 x86 | |cpython38x86| |
|
147
|
+
+----------------------+---------------------+
|
148
|
+
| cpython 3.8 x64 u24 | |cpython38x64| |
|
149
|
+
+----------------------+---------------------+
|
150
|
+
| cpython 3.9 x86 | |cpython39x86| |
|
151
|
+
+----------------------+---------------------+
|
152
|
+
| cpython 3.9 x64 u24 | |cpython39x64| |
|
153
|
+
+----------------------+---------------------+
|
154
|
+
| cpython 3.10 x86 u16 | |cpython310x86u16| |
|
155
|
+
+----------------------+---------------------+
|
156
|
+
| cpython 3.10 x64 u24 | |cpython310x64u20| |
|
157
|
+
+----------------------+---------------------+
|
158
|
+
| cpython 3.11 x86 u16 | |cpython311x86u16| |
|
159
|
+
+----------------------+---------------------+
|
160
|
+
| cpython 3.11 x64 u24 | |cpython311x64u20| |
|
161
|
+
+----------------------+---------------------+
|
162
|
+
| cpython 3.12 x86 u16 | |cpython312x86u16| |
|
163
|
+
+----------------------+---------------------+
|
164
|
+
| cpython 3.12 x64 u24 | |cpython312x64u20| |
|
165
|
+
+----------------------+---------------------+
|
166
|
+
| cpython 3.13 x64 u24 | |cpython313x64u20| |
|
167
|
+
+----------------------+---------------------+
|
168
|
+
| cpython 3.14 x64 u24 | |cpython314x64u20| |
|
169
|
+
+----------------------+---------------------+
|
170
|
+
| Release | |releaseW| |
|
171
|
+
| 1.5.6.4 | |
|
172
|
+
+----------------------+---------------------+
|
173
|
+
| Master | |masterW| |
|
174
|
+
+----------------------+---------------------+
|
175
|
+
|
176
|
+
Simple python bindings to Yann Collet ZSTD compression library.
|
177
|
+
|
178
|
+
**Zstd**, short for Zstandard, is a new lossless compression algorithm,
|
179
|
+
which provides both good compression ratio *and* speed for your standard compression needs.
|
180
|
+
"Standard" translates into everyday situations which neither look for highest possible ratio
|
181
|
+
(which LZMA and ZPAQ cover) nor extreme speeds (which LZ4 covers).
|
182
|
+
|
183
|
+
It is provided as a BSD-license package, hosted on GitHub_.
|
184
|
+
|
185
|
+
.. _GitHub: https://github.com/facebook/zstd
|
186
|
+
|
187
|
+
|
188
|
+
WARNING!!!
|
189
|
+
----------
|
190
|
+
|
191
|
+
If you setup 1.0.0.99.1 version - remove it manualy to able to update.
|
192
|
+
PIP matching version strings not tuple of numbers.
|
193
|
+
|
194
|
+
Result generated by versions prior to 1.0.0.99.1 is not compatible with orignial Zstd
|
195
|
+
by any means. It generates custom header and can be read only by zstd python module.
|
196
|
+
|
197
|
+
As of 1.0.0.99.1 version it uses standard Zstd output, not modified.
|
198
|
+
|
199
|
+
To prevent data loss there is two functions now: ```compress_old``` and ```decompress_old```.
|
200
|
+
They are works just like in old versions prior to 1.0.0.99.1.
|
201
|
+
|
202
|
+
As of 1.1.4 version module build without them by default.
|
203
|
+
|
204
|
+
As of 1.3.4 version these functions are deprecated and will be removed in future releases.
|
205
|
+
|
206
|
+
As of 1.5.0 version these functions are removed.
|
207
|
+
|
208
|
+
|
209
|
+
DISCLAIMER
|
210
|
+
__________
|
211
|
+
|
212
|
+
These python bindings are kept simple and blunt.
|
213
|
+
|
214
|
+
Support of dictionaries and streaming is not planned.
|
215
|
+
|
216
|
+
|
217
|
+
LINKS
|
218
|
+
-----
|
219
|
+
|
220
|
+
* Zstandard: https://github.com/facebook/zstd
|
221
|
+
* More full-featured and compatible with Zstandard python bindings by Gregory Szorc: https://github.com/indygreg/python-zstandard
|
222
|
+
|
223
|
+
|
224
|
+
Build from source
|
225
|
+
-----------------
|
226
|
+
|
227
|
+
>>> $ git clone https://github.com/sergey-dryabzhinsky/python-zstd
|
228
|
+
>>> $ git submodule update --init
|
229
|
+
>>> $ apt-get install python-dev python3-dev python-setuptools python3-setuptools
|
230
|
+
>>> $ python setup.py build_ext clean
|
231
|
+
>>> $ python3 setup.py build_ext clean
|
232
|
+
|
233
|
+
And you need to install `libzstd` developer files at least version *1.4.0*:
|
234
|
+
|
235
|
+
>>> $ dnf install -y libzstd-devel
|
236
|
+
# or
|
237
|
+
>>> $ apt install -y libzstd-dev
|
238
|
+
# or
|
239
|
+
>>> $ apk add zstd-dev
|
240
|
+
|
241
|
+
or do manual installation of zstd from source.
|
242
|
+
|
243
|
+
Note: Zstd legacy format support disabled by default.
|
244
|
+
To build with Zstd legacy versions support - pass ``--legacy`` option to setup.py script:
|
245
|
+
|
246
|
+
>>> $ python setup.py build_ext --legacy clean
|
247
|
+
|
248
|
+
When using a PEP 517 builder you can use ``ZSTD_LEGACY`` environment variable instead:
|
249
|
+
|
250
|
+
>>> $ ZSTD_LEGACY=1 python -m build -w
|
251
|
+
|
252
|
+
Note: Python-Zstd legacy format support removed since 1.5.0.
|
253
|
+
If you need to convert old data - checkout 1.4.9.1 module version. Support of it disabled by default.
|
254
|
+
To build with python-zstd legacy format support (pre 1.1.2) - pass ``--pyzstd-legacy`` option to setup.py script:
|
255
|
+
|
256
|
+
>>> $ python setup.py build_ext --pyzstd-legacy clean
|
257
|
+
|
258
|
+
But beware! Legacy formats support state is unknown in this case.
|
259
|
+
And if your version not equal with python-zstd - tests may not pass.
|
260
|
+
|
261
|
+
If you're scared of threads you may pass option `--libzstd-no-threads`:
|
262
|
+
|
263
|
+
>>> $ python setup.py build_ext --libzstd-no-threads clean
|
264
|
+
|
265
|
+
When using a PEP 517 builder you can use ``ZSTD_THREADS`` environment variable instead:
|
266
|
+
|
267
|
+
>>> $ ZSTD_THREADS=0 python -m build -w
|
268
|
+
|
269
|
+
If you're meet some cpu instruction errorrs you may try to disable built-in optimizations and pass option `--libzstd-no-use-asm`:
|
270
|
+
|
271
|
+
>>> $ python setup.py build_ext --libzstd-no-use-asm clean
|
272
|
+
|
273
|
+
Or add more speed with option `--libzstd-use-asm-bmi2` to use instructions for new AMD CPU.
|
274
|
+
When using a PEP 517 builder you can use ``ZSTD_ASM`` environment variable instead:
|
275
|
+
And ``ZST_ASM_BMI2=1`` too for bmi2 use.
|
276
|
+
|
277
|
+
>>> $ ZSTD_ASM=0 python -m build -w
|
278
|
+
|
279
|
+
If you want bo build smaller module by size try to use option `--small`, but it will work slower.
|
280
|
+
|
281
|
+
>>> $ python setup.py build_ext --small clean
|
282
|
+
|
283
|
+
When using a PEP 517 builder you can use ``ZSTD_SMALL`` environment variable instead:
|
284
|
+
|
285
|
+
>>> $ ZSTD_SMALL=1 python -m build -w
|
286
|
+
|
287
|
+
If you want to build with existing distribution of libzstd just add ``--external`` option
|
288
|
+
|
289
|
+
>>> $ python setup.py build_ext --external clean
|
290
|
+
|
291
|
+
When using a PEP 517 builder you can use ``ZSTD_EXTERNAL`` environment variable instead:
|
292
|
+
|
293
|
+
>>> $ ZSTD_EXTERNAL=1 python -m build -w
|
294
|
+
|
295
|
+
If paths to header file ``zstd.h`` and libraries is uncommon - use common ``build`` params:
|
296
|
+
--libraries --include-dirs --library-dirs.
|
297
|
+
|
298
|
+
>>> $ python setup.py build_ext --external --include-dirs /opt/zstd/usr/include --libraries zstd --library-dirs /opt/zstd/lib clean
|
299
|
+
|
300
|
+
But If you want to force build with bundled distribution of libzstd just add ``--
|
301
|
+
libzstd-bundled`` option
|
302
|
+
|
303
|
+
>>> $ python setup.py build_ext --libzstd-bundled clean
|
304
|
+
|
305
|
+
When using a PEP 517 builder you can use ``ZSTD_BUNDLED`` environment variable instead:
|
306
|
+
|
307
|
+
>>> $ ZSTD_BUNDLED=1 python -m build -w
|
308
|
+
|
309
|
+
If you want to check if build w/o any warnings just add ``--
|
310
|
+
all-warnings`` option
|
311
|
+
|
312
|
+
>>> $ python setup.py build_ext --all-warnings clean
|
313
|
+
|
314
|
+
When using a PEP 517 builder you can use ``ZSTD_WARNINGS`` environment variable instead:
|
315
|
+
|
316
|
+
>>> $ ZSTD_WARNINGS=1 python -m build -w
|
317
|
+
|
318
|
+
Install from pypi
|
319
|
+
-----------------
|
320
|
+
|
321
|
+
>>> # for Python 2.7+
|
322
|
+
>>> $ pip install zstd
|
323
|
+
>>> # or for Python 3.4+
|
324
|
+
>>> $ pip3 install zstd
|
325
|
+
|
326
|
+
|
327
|
+
API
|
328
|
+
___
|
329
|
+
|
330
|
+
Error
|
331
|
+
Standard python Exception for zstd module
|
332
|
+
|
333
|
+
ZSTD_compress (data[, level, threads, strict]): string|bytes
|
334
|
+
Function, compress input data block via mutliple threads, return compressed block, or raises Error.
|
335
|
+
|
336
|
+
Params:
|
337
|
+
|
338
|
+
* **data**: string|bytes - input data block, length limited by 2Gb by Python API
|
339
|
+
* **level**: int - compression level, ultra-fast levels from -100 (ultra) to -1 (fast) available since zstd-1.3.4, and from 1 (fast) to 22 (slowest), 0 or unset - means default (3). Default - 3.
|
340
|
+
* **threads**: int - how many threads to use, from 0 to 200, 0 or unset - auto-tune by cpu cores count. Default - 0. Since: 1.4.4.1
|
341
|
+
* **strict**: int - strict behaviour, raise `zstd.Error` if threads number or compression level is beyond limitations. Default - 0. Since: 1.5.6.3
|
342
|
+
|
343
|
+
Aliases:
|
344
|
+
- *compress(...)*,
|
345
|
+
- *dumps(...)*,
|
346
|
+
- *encode(...)* since: 1.5.6.2
|
347
|
+
|
348
|
+
Exception if:
|
349
|
+
- level bigger than max level
|
350
|
+
|
351
|
+
Max number of threads:
|
352
|
+
- 32bit system: 64
|
353
|
+
- 64bit system: 256
|
354
|
+
If provided bigger number - silently set maximber (since 1.5.4.1)
|
355
|
+
|
356
|
+
Since: 0.1
|
357
|
+
|
358
|
+
ZSTD_uncompress (data): string|bytes
|
359
|
+
Function, decompress input compressed data block, return decompressed block, or raises Error.
|
360
|
+
|
361
|
+
Support compressed data with multiple/concatenated frames (blocks) (since 1.5.5.1).
|
362
|
+
|
363
|
+
Params:
|
364
|
+
|
365
|
+
* **data**: string|bytes - input compressed data block, length limited by 2Gb by Python API
|
366
|
+
|
367
|
+
Aliases:
|
368
|
+
- *decompress(...)*,
|
369
|
+
- *uncompress(...)*,
|
370
|
+
- *loads(...)*,
|
371
|
+
- *decode(...)* since: 1.5.6.2
|
372
|
+
|
373
|
+
Since: 0.1
|
374
|
+
|
375
|
+
ZSTD_check (data): int
|
376
|
+
Function, checks if input is zstd compressed data block, returns 1 if yes, 0 if no.
|
377
|
+
|
378
|
+
Support compressed data with multiple/concatenated frames (blocks) .
|
379
|
+
|
380
|
+
Params:
|
381
|
+
|
382
|
+
* **data**: string|bytes - input compressed data block, length limited by 2Gb by Python API
|
383
|
+
|
384
|
+
Aliases:
|
385
|
+
- *check(...)*,
|
386
|
+
- *verify(...)* since: 1.5.6.3
|
387
|
+
|
388
|
+
Since: 1.5.6.2
|
389
|
+
|
390
|
+
version (): string|bytes
|
391
|
+
Returns this module doted version string.
|
392
|
+
|
393
|
+
The first three digits are folow libzstd version.
|
394
|
+
Fourth digit - module revision number for that version.
|
395
|
+
|
396
|
+
Since: 1.3.4.3
|
397
|
+
|
398
|
+
ZSTD_version (): string|bytes
|
399
|
+
Returns ZSTD library doted version string.
|
400
|
+
|
401
|
+
Since: 1.3.4.3
|
402
|
+
|
403
|
+
ZSTD_version_number (): int
|
404
|
+
Returns ZSTD library version in format: MAJOR*100*100 + MINOR*100 + RELEASE.
|
405
|
+
|
406
|
+
Since: 1.3.4.3
|
407
|
+
|
408
|
+
ZSTD_threads_count (): int
|
409
|
+
Returns ZSTD determined CPU cores count.
|
410
|
+
|
411
|
+
Since: 1.5.4.1
|
412
|
+
|
413
|
+
ZSTD_max_threads_count (): int
|
414
|
+
Returns ZSTD library determined maximum working threads count.
|
415
|
+
|
416
|
+
Since: 1.5.4.1
|
417
|
+
|
418
|
+
ZSTD_max_compression_level (): int
|
419
|
+
Returns ZSTD library determined maximum number of compression level .
|
420
|
+
|
421
|
+
Since: 1.5.6.3
|
422
|
+
|
423
|
+
ZSTD_min_compression_level (): int
|
424
|
+
Returns ZSTD library determined minimum number of compression level .
|
425
|
+
|
426
|
+
Since: 1.5.6.3
|
427
|
+
|
428
|
+
ZSTD_external (): int
|
429
|
+
Returns 0 of 1 if ZSTD library linked as external.
|
430
|
+
|
431
|
+
Since: 1.5.0.2
|
432
|
+
|
433
|
+
ZSTD_legacy_support (): int
|
434
|
+
Returns 0 of 1 if ZSTD library built with legacy formats support.
|
435
|
+
|
436
|
+
Since: 1.5.6.3
|
437
|
+
|
438
|
+
ZSTD_with_threads (): int
|
439
|
+
Returns 0 of 1 if bundled ZSTD library build with threads support.
|
440
|
+
|
441
|
+
Since: 1.5.6.2
|
442
|
+
|
443
|
+
ZSTD_with_asm (): int
|
444
|
+
Returns 0 of 1 if bundled ZSTD library build with asm optimization s.
|
445
|
+
|
446
|
+
Since: 1.5.6.2
|
447
|
+
|
448
|
+
|
449
|
+
Removed
|
450
|
+
_______
|
451
|
+
|
452
|
+
ZSTD_compress_old (data[, level]): string|bytes
|
453
|
+
Function, compress input data block, return compressed block, or raises Error.
|
454
|
+
|
455
|
+
**DEPRECATED**: Returns not compatible with ZSTD block header
|
456
|
+
|
457
|
+
**REMOVED**: since 1.5.0
|
458
|
+
|
459
|
+
Params:
|
460
|
+
|
461
|
+
* **data**: string|bytes - input data block, length limited by 2Gb by Python API
|
462
|
+
* **level**: int - compression level, ultra-fast levels from -5 (ultra) to -1 (fast) available since zstd-1.3.4, and from 1 (fast) to 22 (slowest), 0 or unset - means default (3). Default - 3.
|
463
|
+
|
464
|
+
Since: 1.0.0.99.1
|
465
|
+
|
466
|
+
ZSTD_uncompress_old (data): string|bytes
|
467
|
+
Function, decompress input compressed data block, return decompressed block, or raises Error.
|
468
|
+
|
469
|
+
**DEPRECATED**: Accepts data with not compatible with ZSTD block header
|
470
|
+
|
471
|
+
**REMOVED**: since 1.5.0
|
472
|
+
|
473
|
+
Params:
|
474
|
+
|
475
|
+
* **data**: string|bytes - input compressed data block, length limited by 2Gb by Python API
|
476
|
+
|
477
|
+
Since: 1.0.0.99.1
|
478
|
+
|
479
|
+
Use
|
480
|
+
___
|
481
|
+
|
482
|
+
Module has simple API:
|
483
|
+
|
484
|
+
>>> import zstd
|
485
|
+
>>> dir(zstd)
|
486
|
+
['Error', 'ZSTD_compress', 'ZSTD_external', 'ZSTD_uncompress', 'ZSTD_version', 'ZSTD_version_number', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'compress', 'decompress', 'dumps', 'loads', 'uncompress', 'version']
|
487
|
+
>>> zstd.version()
|
488
|
+
'1.5.1.0'
|
489
|
+
>>> zstd.ZSTD_version()
|
490
|
+
'1.5.1'
|
491
|
+
>>> zstd.ZSTD_version_number()
|
492
|
+
10501
|
493
|
+
>>> zstd.ZSTD_external()
|
494
|
+
0
|
495
|
+
|
496
|
+
In python2
|
497
|
+
|
498
|
+
>>> data = "123456qwert"
|
499
|
+
|
500
|
+
In python3 use bytes
|
501
|
+
|
502
|
+
>>> data = b"123456qwert"
|
503
|
+
|
504
|
+
|
505
|
+
>>> cdata = zstd.compress(data, 1)
|
506
|
+
>>> data == zstd.decompress(cdata)
|
507
|
+
True
|
508
|
+
>>> cdata_mt = zstd.compress(data, 1, 4)
|
509
|
+
>>> cdata == cdata_mt
|
510
|
+
True
|
511
|
+
>>> data == zstd.decompress(cdata_mt)
|
512
|
+
True
|