Skip to content

Commit 132b600

Browse files
committed
docs: capture missing features in own document
Pulled a lot of content from `news.rst` into a new page. Also added some items from 1.5.4.
1 parent 3b6cd5c commit 132b600

4 files changed

Lines changed: 102 additions & 94 deletions

File tree

Cargo.lock

Lines changed: 27 additions & 60 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ python-zstandard
1818
buffer
1919
contributing
2020
news
21+
missing_features

docs/missing_features.rst

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
==================================
2+
Missing and Unimplemented Features
3+
==================================
4+
5+
This document attempts to capture features of the zstd C API that are currently
6+
not exposed to Python.
7+
8+
If there is a feature on this page that would be beneficial to you, please
9+
open a GitHub issue requesting its implementation. If an existing GitHub
10+
issue exists, please leave a comment on the issue to amplify the importance of
11+
the request (this project's author doesn't monitor the emoji counts).
12+
13+
Missing Constants
14+
=================
15+
16+
* ``ZSTD_CLEVEL_DEFAULT``
17+
* ``ZSTD_SRCSIZEHINT_MIN``
18+
* ``ZSTD_SRCSIZEHINT_MAX``
19+
* ``ZSTD_BLOCKSIZE_MAX_MIN``
20+
* ``ZSTD_DECOMPRESSION_MARGIN``
21+
22+
Compression and Decompression Parameters
23+
========================================
24+
25+
* ``ZSTD_p_forceAttachDict``
26+
* ``ZSTD_dictForceLoad``
27+
* ``ZSTD_c_targetCBlockSize``
28+
* ``ZSTD_c_literalCompressionMode``
29+
* ``ZSTD_c_srcSizeHint``
30+
* ``ZSTD_d_stableOutBuffer``
31+
* ``ZSTD_c_enableDedicatedDictSearch``
32+
* ``ZSTD_c_stableInBuffer``
33+
* ``ZSTD_c_stableOutBuffer``
34+
* ``ZSTD_c_blockDelimiters``
35+
* ``ZSTD_c_validateSequences``
36+
* ``ZSTD_c_useBlockSplitter``
37+
* ``ZSTD_c_useRowMatchFinder``
38+
* ``ZSTD_d_forceIgnoreChecksum``
39+
* ``ZSTD_d_refMultipleDDicts``
40+
* ``ZSTD_refMultipleDDicts_e``
41+
* ``ZSTD_c_prefetchCDictTables``
42+
* ``ZSTD_c_enableSeqProducerFallback``
43+
* ``ZSTD_c_maxBlockSize``
44+
* ``ZSTD_c_searchForExternalRepcodes``
45+
* ``ZSTD_d_disableHuffmanAssembly``
46+
* ``ZSTD_d_stableOutBuffer``
47+
48+
Missing Functions
49+
=================
50+
51+
* ``ZSTDMT_toFlushNow()``
52+
* ``ZSTD_minCLevel()``
53+
* ``ZSTD_cParam_getBounds()``
54+
* ``ZSTD_dParam_getBounds()``
55+
* ``ZSTD_generateSequences()``
56+
* ``ZSTD_mergeBlockDelimiters()``
57+
* ``ZSTD_compressSequences()``
58+
* ``ZSTD_writeSkippableFrame()``
59+
* ``ZSTD_decompressionMargin()``
60+
* ``ZSTD_sequenceBound()``
61+
62+
Missing Features
63+
================
64+
65+
* ``ZSTD_getFrameProgression()`` isn't exposed everywhere it could be.
66+
* Compression parameters cannot be modified mid operation.
67+
* ``ZSTD_Sequence`` and related ``ZSTD_getSequences()`` not exposed.
68+
* ``ZSTD_threadPool`` not exposed.
69+
* ``ZSTD_sequenceProducer_F`` and ``ZSTD_registerSequenceProducer()`` not
70+
exposed.
71+
* ``ZSTD_CCtx_getParameter()``, ``ZSTD_CCtxParam_getParameter()``, and
72+
``ZSTD_DCtx_getParameter()`` could be leveraged for parameter retrieval.
73+
* ``ZSTD_CCtx_setCParams()`` could potentially be utilized.
74+
* ``ZSTD_error_*`` constants / error codes not exposed.

docs/news.rst

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -30,46 +30,12 @@ Actions Blocking Release
3030
* Detect memory leaks via bench.py.
3131
* Remove low-level compression parameters from ``ZstdCompressor.__init__`` and
3232
require use of ``ZstdCompressionParameters``.
33-
* Expose ``ZSTD_getFrameProgression()`` from more compressor types.
34-
* Support modifying compression parameters mid operation when supported by
35-
zstd API.
36-
* Expose ``ZSTD_CLEVEL_DEFAULT`` constant.
37-
* Expose ``ZSTD_SRCSIZEHINT_{MIN,MAX}`` constants.
38-
* Support ``ZSTD_p_forceAttachDict`` compression parameter.
39-
* Support ``ZSTD_dictForceLoad`` dictionary compression parameter.
40-
* Support ``ZSTD_c_targetCBlockSize`` compression parameter.
41-
* Support ``ZSTD_c_literalCompressionMode`` compression parameter.
42-
* Support ``ZSTD_c_srcSizeHint`` compression parameter.
43-
* Use ``ZSTD_CCtx_getParameter()``/``ZSTD_CCtxParam_getParameter()`` for retrieving
44-
compression parameters.
45-
* Consider exposing ``ZSTDMT_toFlushNow()``.
46-
* Expose ``ZSTD_Sequence`` struct and related ``ZSTD_getSequences()`` API.
47-
* Expose and enforce ``ZSTD_minCLevel()`` for minimum compression level.
4833
* Consider a ``chunker()`` API for decompression.
4934
* Consider stats for ``chunker()`` API, including finding the last consumed
5035
offset of input data.
51-
* Consider exposing ``ZSTD_cParam_getBounds()`` and
52-
``ZSTD_dParam_getBounds()`` APIs.
5336
* Consider controls over resetting compression contexts (session only, parameters,
5437
or session and parameters).
55-
* Consider exposing ``ZSTD_d_stableOutBuffer``.
56-
* Support ``ZSTD_c_enableDedicatedDictSearch``.
57-
* Support ``ZSTD_c_stableInBuffer``.
58-
* Support ``ZSTD_c_stableOutBuffer``.
59-
* Support ``ZSTD_c_blockDelimiters``.
60-
* Support ``ZSTD_c_validateSequences``.
61-
* Support ``ZSTD_c_useBlockSplitter``.
62-
* Support ``ZSTD_c_useRowMatchFinder``.
63-
* Support ``ZSTD_d_forceIgnoreChecksum``.
64-
* Support ``ZSTD_d_refMultipleDDicts``.
65-
* Support ``ZSTD_generateSequences()``.
66-
* Support ``ZSTD_mergeBlockDelimiters()``.
67-
* Support ``ZSTD_compressSequences()``.
68-
* Support ``ZSTD_threadPool`` APIs for managing a thread pool.
69-
* Support ``ZSTD_refMultipleDDicts_e``.
70-
* Support ``ZSTD_writeSkippableFrame()``.
7138
* Utilize ``ZSTD_getDictID_fromCDict()``?
72-
* Utilize ``ZSTD_DCtx_getParameter()``.
7339
* Stop relying on private libzstd headers and symbols (namely ``pool.h``).
7440

7541
Other Actions Not Blocking Release

0 commit comments

Comments
 (0)