28
28
29
29
import _zstd
30
30
import enum
31
- from _zstd import *
31
+ from _zstd import (ZstdCompressor , ZstdDecompressor , ZstdDict , ZstdError ,
32
+ get_frame_size , zstd_version )
32
33
from compression .zstd ._zstdfile import ZstdFile , open , _nbytes
33
34
34
- COMPRESSION_LEVEL_DEFAULT = _zstd ._compressionLevel_values [0 ]
35
+ # zstd_version_number is (MAJOR * 100 * 100 + MINOR * 100 + RELEASE)
36
+ zstd_version_info = (* divmod (_zstd .zstd_version_number // 100 , 100 ),
37
+ _zstd .zstd_version_number % 100 )
38
+ """Version number of the runtime zstd library as a tuple of integers."""
39
+
40
+ COMPRESSION_LEVEL_DEFAULT = _zstd .ZSTD_CLEVEL_DEFAULT
35
41
"""The default compression level for Zstandard, currently '3'."""
36
42
37
43
@@ -167,28 +173,28 @@ def decompress(data, zstd_dict=None, options=None):
167
173
class CompressionParameter (enum .IntEnum ):
168
174
"""Compression parameters."""
169
175
170
- compression_level = _zstd ._ZSTD_c_compressionLevel
171
- window_log = _zstd ._ZSTD_c_windowLog
172
- hash_log = _zstd ._ZSTD_c_hashLog
173
- chain_log = _zstd ._ZSTD_c_chainLog
174
- search_log = _zstd ._ZSTD_c_searchLog
175
- min_match = _zstd ._ZSTD_c_minMatch
176
- target_length = _zstd ._ZSTD_c_targetLength
177
- strategy = _zstd ._ZSTD_c_strategy
178
-
179
- enable_long_distance_matching = _zstd ._ZSTD_c_enableLongDistanceMatching
180
- ldm_hash_log = _zstd ._ZSTD_c_ldmHashLog
181
- ldm_min_match = _zstd ._ZSTD_c_ldmMinMatch
182
- ldm_bucket_size_log = _zstd ._ZSTD_c_ldmBucketSizeLog
183
- ldm_hash_rate_log = _zstd ._ZSTD_c_ldmHashRateLog
184
-
185
- content_size_flag = _zstd ._ZSTD_c_contentSizeFlag
186
- checksum_flag = _zstd ._ZSTD_c_checksumFlag
187
- dict_id_flag = _zstd ._ZSTD_c_dictIDFlag
188
-
189
- nb_workers = _zstd ._ZSTD_c_nbWorkers
190
- job_size = _zstd ._ZSTD_c_jobSize
191
- overlap_log = _zstd ._ZSTD_c_overlapLog
176
+ compression_level = _zstd .ZSTD_c_compressionLevel
177
+ window_log = _zstd .ZSTD_c_windowLog
178
+ hash_log = _zstd .ZSTD_c_hashLog
179
+ chain_log = _zstd .ZSTD_c_chainLog
180
+ search_log = _zstd .ZSTD_c_searchLog
181
+ min_match = _zstd .ZSTD_c_minMatch
182
+ target_length = _zstd .ZSTD_c_targetLength
183
+ strategy = _zstd .ZSTD_c_strategy
184
+
185
+ enable_long_distance_matching = _zstd .ZSTD_c_enableLongDistanceMatching
186
+ ldm_hash_log = _zstd .ZSTD_c_ldmHashLog
187
+ ldm_min_match = _zstd .ZSTD_c_ldmMinMatch
188
+ ldm_bucket_size_log = _zstd .ZSTD_c_ldmBucketSizeLog
189
+ ldm_hash_rate_log = _zstd .ZSTD_c_ldmHashRateLog
190
+
191
+ content_size_flag = _zstd .ZSTD_c_contentSizeFlag
192
+ checksum_flag = _zstd .ZSTD_c_checksumFlag
193
+ dict_id_flag = _zstd .ZSTD_c_dictIDFlag
194
+
195
+ nb_workers = _zstd .ZSTD_c_nbWorkers
196
+ job_size = _zstd .ZSTD_c_jobSize
197
+ overlap_log = _zstd .ZSTD_c_overlapLog
192
198
193
199
def bounds (self ):
194
200
"""Return the (lower, upper) int bounds of a compression parameter.
@@ -201,7 +207,7 @@ def bounds(self):
201
207
class DecompressionParameter (enum .IntEnum ):
202
208
"""Decompression parameters."""
203
209
204
- window_log_max = _zstd ._ZSTD_d_windowLogMax
210
+ window_log_max = _zstd .ZSTD_d_windowLogMax
205
211
206
212
def bounds (self ):
207
213
"""Return the (lower, upper) int bounds of a decompression parameter.
@@ -219,15 +225,15 @@ class Strategy(enum.IntEnum):
219
225
the numeric value might change.
220
226
"""
221
227
222
- fast = _zstd ._ZSTD_fast
223
- dfast = _zstd ._ZSTD_dfast
224
- greedy = _zstd ._ZSTD_greedy
225
- lazy = _zstd ._ZSTD_lazy
226
- lazy2 = _zstd ._ZSTD_lazy2
227
- btlazy2 = _zstd ._ZSTD_btlazy2
228
- btopt = _zstd ._ZSTD_btopt
229
- btultra = _zstd ._ZSTD_btultra
230
- btultra2 = _zstd ._ZSTD_btultra2
228
+ fast = _zstd .ZSTD_fast
229
+ dfast = _zstd .ZSTD_dfast
230
+ greedy = _zstd .ZSTD_greedy
231
+ lazy = _zstd .ZSTD_lazy
232
+ lazy2 = _zstd .ZSTD_lazy2
233
+ btlazy2 = _zstd .ZSTD_btlazy2
234
+ btopt = _zstd .ZSTD_btopt
235
+ btultra = _zstd .ZSTD_btultra
236
+ btultra2 = _zstd .ZSTD_btultra2
231
237
232
238
233
239
# Check validity of the CompressionParameter & DecompressionParameter types
0 commit comments