Missing and Unimplemented Features

This document attempts to capture features of the zstd C API that are currently not exposed to Python.

If there is a feature on this page that would be beneficial to you, please open a GitHub issue requesting its implementation. If an existing GitHub issue exists, please leave a comment on the issue to amplify the importance of the request (this project’s author doesn’t monitor the emoji counts).

Missing Constants

  • ZSTD_CLEVEL_DEFAULT

  • ZSTD_SRCSIZEHINT_MIN

  • ZSTD_SRCSIZEHINT_MAX

  • ZSTD_BLOCKSIZE_MAX_MIN

  • ZSTD_DECOMPRESSION_MARGIN

Compression and Decompression Parameters

  • ZSTD_p_forceAttachDict

  • ZSTD_dictForceLoad

  • ZSTD_c_targetCBlockSize

  • ZSTD_c_literalCompressionMode

  • ZSTD_c_srcSizeHint

  • ZSTD_d_stableOutBuffer

  • ZSTD_c_enableDedicatedDictSearch

  • ZSTD_c_stableInBuffer

  • ZSTD_c_stableOutBuffer

  • ZSTD_c_blockDelimiters

  • ZSTD_c_validateSequences

  • ZSTD_c_useBlockSplitter

  • ZSTD_c_useRowMatchFinder

  • ZSTD_d_forceIgnoreChecksum

  • ZSTD_d_refMultipleDDicts

  • ZSTD_refMultipleDDicts_e

  • ZSTD_c_prefetchCDictTables

  • ZSTD_c_enableSeqProducerFallback

  • ZSTD_c_maxBlockSize

  • ZSTD_c_searchForExternalRepcodes

  • ZSTD_d_disableHuffmanAssembly

  • ZSTD_d_stableOutBuffer

Missing Functions

  • ZSTDMT_toFlushNow()

  • ZSTD_minCLevel()

  • ZSTD_cParam_getBounds()

  • ZSTD_dParam_getBounds()

  • ZSTD_generateSequences()

  • ZSTD_mergeBlockDelimiters()

  • ZSTD_compressSequences()

  • ZSTD_writeSkippableFrame()

  • ZSTD_decompressionMargin()

  • ZSTD_sequenceBound()

Missing Features

  • ZSTD_getFrameProgression() isn’t exposed everywhere it could be.

  • Compression parameters cannot be modified mid operation.

  • ZSTD_Sequence and related ZSTD_getSequences() not exposed.

  • ZSTD_threadPool not exposed.

  • ZSTD_sequenceProducer_F and ZSTD_registerSequenceProducer() not exposed.

  • ZSTD_CCtx_getParameter(), ZSTD_CCtxParam_getParameter(), and ZSTD_DCtx_getParameter() could be leveraged for parameter retrieval.

  • ZSTD_CCtx_setCParams() could potentially be utilized.

  • ZSTD_error_* constants / error codes not exposed.