python-snappy icon indicating copy to clipboard operation
python-snappy copied to clipboard

0.6.1: pytest is failing

Open kloczek opened this issue 3 years ago • 10 comments

I'm trying to package your module as an rpm package. So I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

  • python3 -sBm build -w --no-isolation
  • because I'm calling build with --no-isolation I'm using during all processes only locally installed modules
  • install .whl file in </install/prefix>
  • run pytest with PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>

Here is pytest output:

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-snappy-0.6.1-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-snappy-0.6.1-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.13, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/python-snappy-0.6.1
plugins: forked-1.4.0, xdist-2.5.0
collected 28 items

test_formats.py .........                                                                                                                                            [ 32%]
test_hadoop_snappy.py ..                                                                                                                                             [ 39%]
test_snappy.py ...............                                                                                                                                       [ 92%]
test_snappy_cffi.py FF                                                                                                                                               [100%]

================================================================================= FAILURES =================================================================================
__________________________________________________________________________ test_snappy_cffi_enum ___________________________________________________________________________

    def test_snappy_cffi_enum():
>       from snappy.snappy_cffi import lib

test_snappy_cffi.py:9:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    from __future__ import absolute_import

>   from ._snappy_cffi import ffi, lib
E   ModuleNotFoundError: No module named 'snappy._snappy_cffi'

../../BUILDROOT/python-snappy-0.6.1-2.fc35.x86_64/usr/lib64/python3.8/site-packages/snappy/snappy_cffi.py:3: ModuleNotFoundError
___________________________________________________________________________ test_snappy_all_cffi ___________________________________________________________________________

    def test_snappy_all_cffi():
>       from snappy.snappy_cffi import ffi, lib

test_snappy_cffi.py:16:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    from __future__ import absolute_import

>   from ._snappy_cffi import ffi, lib
E   ModuleNotFoundError: No module named 'snappy._snappy_cffi'

../../BUILDROOT/python-snappy-0.6.1-2.fc35.x86_64/usr/lib64/python3.8/site-packages/snappy/snappy_cffi.py:3: ModuleNotFoundError
========================================================================= short test summary info ==========================================================================
FAILED test_snappy_cffi.py::test_snappy_cffi_enum - ModuleNotFoundError: No module named 'snappy._snappy_cffi'
FAILED test_snappy_cffi.py::test_snappy_all_cffi - ModuleNotFoundError: No module named 'snappy._snappy_cffi'
======================================================================= 2 failed, 26 passed in 1.14s =======================================================================
Here is content
[tkloczko@devel-g2v python-snappy-0.6.1-2.fc35.x86_64]$ ls -lR usr/lib64/python3.8/site-packages/snappy/
usr/lib64/python3.8/site-packages/snappy/:
total 68
-rw-r--r--. 1 tkloczko tkloczko  7552 May 21 19:23 hadoop_snappy.py
-rw-r--r--. 1 tkloczko tkloczko   347 May 21 19:23 __init__.py
-rw-r--r--. 1 tkloczko tkloczko  2412 May 21 19:23 __main__.py
drwxr-xr-x. 1 tkloczko tkloczko  1272 May 21 19:23 __pycache__
-rw-r--r--. 1 tkloczko tkloczko  5581 May 21 19:23 snappy_cffi_builder.py
-rw-r--r--. 1 tkloczko tkloczko  2124 May 21 19:23 snappy_cffi.py
-rwxr-xr-x. 1 tkloczko tkloczko 16400 May 21 19:23 _snappy.cpython-38-x86_64-linux-gnu.so
-rw-r--r--. 1 tkloczko tkloczko  2901 May 21 19:23 snappy_formats.py
-rw-r--r--. 1 tkloczko tkloczko 13136 May 21 19:23 snappy.py

usr/lib64/python3.8/site-packages/snappy/__pycache__:
total 124
-rw-r--r--. 1 tkloczko tkloczko 7229 May 21 19:23 hadoop_snappy.cpython-38.opt-1.pyc
-rw-r--r--. 1 tkloczko tkloczko 3917 May 21 19:23 hadoop_snappy.cpython-38.opt-2.pyc
-rw-r--r--. 1 tkloczko tkloczko 7229 May 21 19:23 hadoop_snappy.cpython-38.pyc
-rw-r--r--. 1 tkloczko tkloczko  539 May 21 19:23 __init__.cpython-38.opt-1.pyc
-rw-r--r--. 1 tkloczko tkloczko  539 May 21 19:23 __init__.cpython-38.opt-2.pyc
-rw-r--r--. 1 tkloczko tkloczko  539 May 21 19:23 __init__.cpython-38.pyc
-rw-r--r--. 1 tkloczko tkloczko 1952 May 21 19:23 __main__.cpython-38.opt-1.pyc
-rw-r--r--. 1 tkloczko tkloczko 1845 May 21 19:23 __main__.cpython-38.opt-2.pyc
-rw-r--r--. 1 tkloczko tkloczko 1952 May 21 19:23 __main__.cpython-38.pyc
-rw-r--r--. 1 tkloczko tkloczko 5770 May 21 19:23 snappy_cffi_builder.cpython-38.opt-1.pyc
-rw-r--r--. 1 tkloczko tkloczko 5770 May 21 19:23 snappy_cffi_builder.cpython-38.opt-2.pyc
-rw-r--r--. 1 tkloczko tkloczko 5770 May 21 19:23 snappy_cffi_builder.cpython-38.pyc
-rw-r--r--. 1 tkloczko tkloczko 2242 May 21 19:23 snappy_cffi.cpython-38.opt-1.pyc
-rw-r--r--. 1 tkloczko tkloczko 2242 May 21 19:23 snappy_cffi.cpython-38.opt-2.pyc
-rw-r--r--. 1 tkloczko tkloczko 2242 May 21 19:23 snappy_cffi.cpython-38.pyc
-rw-r--r--. 1 tkloczko tkloczko 9751 May 21 19:23 snappy.cpython-38.opt-1.pyc
-rw-r--r--. 1 tkloczko tkloczko 5592 May 21 19:23 snappy.cpython-38.opt-2.pyc
-rw-r--r--. 1 tkloczko tkloczko 9792 May 21 19:23 snappy.cpython-38.pyc
-rw-r--r--. 1 tkloczko tkloczko 1929 May 21 19:23 snappy_formats.cpython-38.opt-1.pyc
-rw-r--r--. 1 tkloczko tkloczko 1400 May 21 19:23 snappy_formats.cpython-38.opt-2.pyc
-rw-r--r--. 1 tkloczko tkloczko 1929 May 21 19:23 snappy_formats.cpython-38.pyc

kloczek avatar May 21 '22 19:05 kloczek

I don't see anything about missing module in pep517 build as well

+ /usr/bin/python3 -sBm build -w --no-isolation
* Getting dependencies for wheel...
running egg_info
creating src/python_snappy.egg-info
writing src/python_snappy.egg-info/PKG-INFO
writing dependency_links to src/python_snappy.egg-info/dependency_links.txt
writing top-level names to src/python_snappy.egg-info/top_level.txt
writing manifest file 'src/python_snappy.egg-info/SOURCES.txt'
reading manifest file 'src/python_snappy.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
adding license file 'AUTHORS'
writing manifest file 'src/python_snappy.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-38
creating build/lib.linux-x86_64-cpython-38/snappy
copying src/snappy/__init__.py -> build/lib.linux-x86_64-cpython-38/snappy
copying src/snappy/__main__.py -> build/lib.linux-x86_64-cpython-38/snappy
copying src/snappy/hadoop_snappy.py -> build/lib.linux-x86_64-cpython-38/snappy
copying src/snappy/snappy.py -> build/lib.linux-x86_64-cpython-38/snappy
copying src/snappy/snappy_cffi.py -> build/lib.linux-x86_64-cpython-38/snappy
copying src/snappy/snappy_cffi_builder.py -> build/lib.linux-x86_64-cpython-38/snappy
copying src/snappy/snappy_formats.py -> build/lib.linux-x86_64-cpython-38/snappy
running build_ext
building 'snappy._snappy' extension
creating build/temp.linux-x86_64-cpython-38
creating build/temp.linux-x86_64-cpython-38/src
creating build/temp.linux-x86_64-cpython-38/src/snappy
/usr/bin/gcc -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fPIC -I/usr/include/python3.8 -c src/snappy/crc32c.c -o build/temp.linux-x86_64-cpython-38/src/snappy/crc32c.o
/usr/bin/gcc -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fPIC -I/usr/include/python3.8 -c src/snappy/snappymodule.cc -o build/temp.linux-x86_64-cpython-38/src/snappy/snappymodule.o
/usr/bin/g++ -shared -Wl,-z,relro -Wl,--as-needed -Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,--build-id=sha1 -Wl,-z,relro -Wl,--as-needed -Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,--build-id=sha1 -Wl,-z,relro -Wl,--as-needed -Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,--build-id=sha1 -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none build/temp.linux-x86_64-cpython-38/src/snappy/crc32c.o build/temp.linux-x86_64-cpython-38/src/snappy/snappymodule.o -L/usr/lib64 -lsnappy -o build/lib.linux-x86_64-cpython-38/snappy/_snappy.cpython-38-x86_64-linux-gnu.so
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/snappy
copying build/lib.linux-x86_64-cpython-38/snappy/__init__.py -> build/bdist.linux-x86_64/wheel/snappy
copying build/lib.linux-x86_64-cpython-38/snappy/__main__.py -> build/bdist.linux-x86_64/wheel/snappy
copying build/lib.linux-x86_64-cpython-38/snappy/hadoop_snappy.py -> build/bdist.linux-x86_64/wheel/snappy
copying build/lib.linux-x86_64-cpython-38/snappy/snappy.py -> build/bdist.linux-x86_64/wheel/snappy
copying build/lib.linux-x86_64-cpython-38/snappy/snappy_cffi.py -> build/bdist.linux-x86_64/wheel/snappy
copying build/lib.linux-x86_64-cpython-38/snappy/snappy_cffi_builder.py -> build/bdist.linux-x86_64/wheel/snappy
copying build/lib.linux-x86_64-cpython-38/snappy/snappy_formats.py -> build/bdist.linux-x86_64/wheel/snappy
copying build/lib.linux-x86_64-cpython-38/snappy/_snappy.cpython-38-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/wheel/snappy
running install_egg_info
running egg_info
writing src/python_snappy.egg-info/PKG-INFO
writing dependency_links to src/python_snappy.egg-info/dependency_links.txt
writing top-level names to src/python_snappy.egg-info/top_level.txt
reading manifest file 'src/python_snappy.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
adding license file 'AUTHORS'
writing manifest file 'src/python_snappy.egg-info/SOURCES.txt'
Copying src/python_snappy.egg-info to build/bdist.linux-x86_64/wheel/python_snappy-0.6.1-py3.8.egg-info
running install_scripts
adding license file "LICENSE" (matched pattern "LICEN[CS]E*")
adding license file "AUTHORS" (matched pattern "AUTHORS*")
creating build/bdist.linux-x86_64/wheel/python_snappy-0.6.1.dist-info/WHEEL
creating '/home/tkloczko/rpmbuild/BUILD/python-snappy-0.6.1/dist/tmp0oru3cxt/python_snappy-0.6.1-cp38-cp38-linux_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'snappy/__init__.py'
adding 'snappy/__main__.py'
adding 'snappy/_snappy.cpython-38-x86_64-linux-gnu.so'
adding 'snappy/hadoop_snappy.py'
adding 'snappy/snappy.py'
adding 'snappy/snappy_cffi.py'
adding 'snappy/snappy_cffi_builder.py'
adding 'snappy/snappy_formats.py'
adding 'python_snappy-0.6.1.dist-info/AUTHORS'
adding 'python_snappy-0.6.1.dist-info/LICENSE'
adding 'python_snappy-0.6.1.dist-info/METADATA'
adding 'python_snappy-0.6.1.dist-info/WHEEL'
adding 'python_snappy-0.6.1.dist-info/top_level.txt'
adding 'python_snappy-0.6.1.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built python_snappy-0.6.1-cp38-cp38-linux_x86_64.whl

kloczek avatar May 21 '22 19:05 kloczek

_cffi is probably to do with missing snappy system binaries

martindurant avatar May 24 '22 15:05 martindurant

_cffi is probably to do with missing snappy system binaries

In build env there is no snappy installed because I'm building it 😄 As you see snappy._snappy_cffi was not build. Question remains .. why? 🤔

kloczek avatar May 24 '22 15:05 kloczek

Gentle ping .. any though/updates? Did you try to reproduce this effect using procedure which I've provided? 🤔

kloczek avatar Mar 09 '24 22:03 kloczek

In version 0.7.0, we no longer build ... anything. You should have an easier time installing and running snappy.

martindurant avatar Mar 10 '24 01:03 martindurant

I did't know anbout new version because I've not received email notification about that (this is why I've created RFE about start use gh releases 😋 )

I found that 0.7.0 has some new build dependencies like use some crc modules. May I ask why has been chosen some external crc module? 🤔 Python provides et least two standard modules (as DSOs) which provides calculate some checksums. Are you sure that cramjam and crc32c are really needed on build module stage? 🤔

kloczek avatar Mar 10 '24 10:03 kloczek

Yep just tested below patch

--- a/setup.py
+++ b/setup.py
@@ -40,7 +40,6 @@

 packages = ['snappy']
 install_requires = ['cramjam>=2.6.0', 'crc32c']
-setup_requires = ['cramjam>=2.6.0', 'crc32c']

 setup(
     name='python-snappy',
@@ -71,6 +71,5 @@
                  ],
     packages=packages,
     install_requires=install_requires,
-    setup_requires=setup_requires,
     package_dir={'': 'src'},
 )

and looks like build is OK.

+ /usr/bin/python3 -sBm build -w --no-isolation
* Getting build dependencies for wheel...
running egg_info
creating src/python_snappy.egg-info
writing src/python_snappy.egg-info/PKG-INFO
writing dependency_links to src/python_snappy.egg-info/dependency_links.txt
writing requirements to src/python_snappy.egg-info/requires.txt
writing top-level names to src/python_snappy.egg-info/top_level.txt
writing manifest file 'src/python_snappy.egg-info/SOURCES.txt'
ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
reading manifest file 'src/python_snappy.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'src/snappy/*.h'
adding license file 'LICENSE'
adding license file 'AUTHORS'
writing manifest file 'src/python_snappy.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/snappy
copying src/snappy/__init__.py -> build/lib/snappy
copying src/snappy/__main__.py -> build/lib/snappy
copying src/snappy/hadoop_snappy.py -> build/lib/snappy
copying src/snappy/snappy_formats.py -> build/lib/snappy
copying src/snappy/snappy.py -> build/lib/snappy
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/snappy
copying build/lib/snappy/__init__.py -> build/bdist.linux-x86_64/wheel/snappy
copying build/lib/snappy/__main__.py -> build/bdist.linux-x86_64/wheel/snappy
copying build/lib/snappy/hadoop_snappy.py -> build/bdist.linux-x86_64/wheel/snappy
copying build/lib/snappy/snappy_formats.py -> build/bdist.linux-x86_64/wheel/snappy
copying build/lib/snappy/snappy.py -> build/bdist.linux-x86_64/wheel/snappy
running install_egg_info
running egg_info
writing src/python_snappy.egg-info/PKG-INFO
writing dependency_links to src/python_snappy.egg-info/dependency_links.txt
writing requirements to src/python_snappy.egg-info/requires.txt
writing top-level names to src/python_snappy.egg-info/top_level.txt
ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
reading manifest file 'src/python_snappy.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'src/snappy/*.h'
adding license file 'LICENSE'
adding license file 'AUTHORS'
writing manifest file 'src/python_snappy.egg-info/SOURCES.txt'
Copying src/python_snappy.egg-info to build/bdist.linux-x86_64/wheel/python_snappy-0.7.0-py3.9.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/python_snappy-0.7.0.dist-info/WHEEL
creating '/home/tkloczko/rpmbuild/BUILD/python-snappy-0.7.0/dist/.tmp-dg6tvoqd/python_snappy-0.7.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'snappy/__init__.py'
adding 'snappy/__main__.py'
adding 'snappy/hadoop_snappy.py'
adding 'snappy/snappy.py'
adding 'snappy/snappy_formats.py'
adding 'python_snappy-0.7.0.dist-info/AUTHORS'
adding 'python_snappy-0.7.0.dist-info/LICENSE'
adding 'python_snappy-0.7.0.dist-info/METADATA'
adding 'python_snappy-0.7.0.dist-info/WHEEL'
adding 'python_snappy-0.7.0.dist-info/top_level.txt'
adding 'python_snappy-0.7.0.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built python_snappy-0.7.0-py3-none-any.whl

Please let me know if you want that patch as PR.

kloczek avatar Mar 10 '24 10:03 kloczek

Hmmm .. cramjam is written in rust so DSO will be probably +30 times bigger that libarchive 😞 Why no add snapper compression to libarchive and use libarchive module? 🤔

kloczek avatar Mar 10 '24 10:03 kloczek

If compression needs to be fastest-as-possible all that will be wasted in case of use rust (only because higher CPU cache misses/hits ratio). 🤔

kloczek avatar Mar 10 '24 10:03 kloczek

You are most welcome to propose changes to libarchive if you want, or indeed to do benchmarking.

martindurant avatar Mar 10 '24 11:03 martindurant