@@ -329,9 +329,24 @@ static PyObject *py_zstd_module_version(PyObject* self, PyObject *args)
329329}
330330
331331/**
332- * Returns ZSTD library version as string
332+ * Returns ZSTD library version as string - compiled with
333333 */
334- static PyObject * py_zstd_library_version (PyObject * self , PyObject * args )
334+ static PyObject * py_zstd_library_version_compiled (PyObject * self , PyObject * args )
335+ {
336+ UNUSED (self );
337+ UNUSED (args );
338+
339+ #if PY_MAJOR_VERSION >= 3
340+ return PyUnicode_FromFormat ("%s" , ZSTD_VERSION_STRING );
341+ #else
342+ return PyString_FromFormat ("%s" , ZSTD_VERSION_STRING );
343+ #endif
344+ }
345+
346+ /**
347+ * Returns ZSTD library version as string - loaded with
348+ */
349+ static PyObject * py_zstd_library_version_loaded (PyObject * self , PyObject * args )
335350{
336351 UNUSED (self );
337352 UNUSED (args );
@@ -545,7 +560,9 @@ static PyMethodDef ZstdMethods[] = {
545560 {"dumps" , py_zstd_compress_mt , METH_VARARGS , COMPRESS_DOCSTRING },
546561 {"loads" , py_zstd_uncompress , METH_VARARGS , UNCOMPRESS_DOCSTRING },
547562 {"version" , py_zstd_module_version , METH_NOARGS , VERSION_DOCSTRING },
548- {"ZSTD_version" , py_zstd_library_version , METH_NOARGS , ZSTD_VERSION_DOCSTRING },
563+ {"ZSTD_version" , py_zstd_library_version_compiled , METH_NOARGS , ZSTD_VERSION_DOCSTRING },
564+ {"ZSTD_version_compiled" , py_zstd_library_version_compiled , METH_NOARGS , NULL },
565+ {"ZSTD_version_loaded" , py_zstd_library_version_loaded , METH_NOARGS , NULL },
549566 {"ZSTD_version_number" , py_zstd_library_version_int , METH_NOARGS , ZSTD_INT_VERSION_DOCSTRING },
550567 {"ZSTD_threads_count" , py_zstd_threads_count , METH_NOARGS , ZSTD_THREADS_COUNT_DOCSTRING },
551568 {"ZSTD_max_threads_count" , py_zstd_max_threads_count , METH_NOARGS , ZSTD_MAX_THREADS_COUNT_DOCSTRING },
0 commit comments