Skip to main content

A C++ implementation with Python bindings of StreamVByte.

Project description


libstreamvbyte


Table of Contents
  1. About The Project
  2. Getting Started
  3. Benchmark
  4. Roadmap
  5. Contributing
  6. License
  7. Reference
  8. Contact

About The Project

libstreamvbyte is a C++ implementation of StreamVByte, with Python bindings using pybind11.

StreamVByte is a integer compression technique that use SIMD instructions (vectorization) to improve performance. The library is optimized with SSSE3 intrinsics, which are supported by most x86_64 processors. It uses sse2neon to translate SSSE3 intrinsics to NEON intrinsics for ARM processors. The library can also be used with other 32-bit architectures, although it will fall back to scalar implementations in those cases.

With libstreamvbyte, you can quickly and efficiently compress integer sequences, reducing the amount of storage space and network bandwidth required. The library is easy to use and integrates seamlessly with Python via pybind11 bindings. Whether you're working with large datasets or building a distributed computing system, libstreamvbyte can help you improve performance and reduce the resources needed to handle your data.

Currently supports Python 3.10+ on Windows, Linux (manylinux_2_17, musllinux_1_1) and macOS (universal2).

(back to top)

Getting Started

Installation

For Python

Install from PyPI using pip.

pip install libstreamvbyte

Or install from .whl file.

pip install "path/to/your/downloaded/whl"

To find appropriate .whl file, please visit releases.

For C++

You must have CMake installed on your system.

# clone the repo
git clone https://github.com/wst24365888/libstreamvbyte
cd libstreamvbyte

# build and install
cmake .
make
sudo make install

Usage

For Python

Import libstreamvbyte first.

import libstreamvbyte as svb

And here are the APIs.

# Encode an array of unsigned integers into a byte array.
encode(arg0: numpy.ndarray[numpy.uint32]) -> numpy.ndarray[numpy.uint8]

# Decode a byte array into an array of unsigned integers.
decode(arg0: numpy.ndarray[numpy.uint8], arg1: int) -> numpy.ndarray[numpy.uint32]

# Encode an array of signed integers into an array of unsigned integers.
zigzag_encode(arg0: numpy.ndarray[numpy.int32]) -> numpy.ndarray[numpy.uint32]

# Decode an array of unsigned integers into an array of signed integers.
zigzag_decode(arg0: numpy.ndarray[numpy.uint32]) -> numpy.ndarray[numpy.int32]

# Check if the current wheel is a vectorized version.
is_vectorized_version() -> bool

For C++

Include streamvbyte.h first.

#include "streamvbyte.h"

For the APIs, please refer to include/streamvbyte.h.

Example

For Python

import libstreamvbyte as svb

N = 2**20 + 2

# type(original_data) == np.ndarray
# original_data.dtype == np.int32
original_data = np.random.randint(-2**31, 2**31, N, dtype=np.int32)

# type(compressed_bytes) == np.ndarray
# compressed_bytes.dtype == np.uint8
compressed_bytes = svb.encode(svb.zigzag_encode(original_data))

# type(recovered_data) == np.ndarray
# recovered_data.dtype == np.int32
recovered_data = svb.zigzag_decode(svb.decode(compressed_bytes, N))

For C++

#include "streamvbyte.h"

int main() {
    std::size_t N = (1 << 20) + 2;

    std::vector<int32_t> original_data(N);
    for (std::size_t i = 0; i < N; ++i) {
        original_data[i] = rand() - rand();
    }

    std::vector<uint8_t> compressed_bytes = streamvbyte::encode(streamvbyte::zigzag_encode(original_data));
    std::vector<int32_t> recovered_data = streamvbyte::zigzag_decode(streamvbyte::decode(compressed_bytes, N));

    return 0;
}

Compile it with linking to libstreamvbyte.

g++ -o example example.cpp -lstreamvbyte

(back to top)

Benchmark

OS: Linux 5.15.79.1-microsoft-standard-WSL2 x86_64
CPU: AMD Ryzen 5 3600 6-Core Processor (12) @ 3.600GHz

Run on (12 X 3593.26 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB (x6)
  L1 Instruction 32 KiB (x6)
  L2 Unified 512 KiB (x6)
  L3 Unified 16384 KiB (x1)
Load Average: 0.81, 0.85, 0.69
-----------------------------------------------------------------------------------
Benchmark                              Time             CPU   Iterations Throughput
-----------------------------------------------------------------------------------
BM_memcpy/4096                       149 ns          149 ns      4688531 13.7122G/s
BM_memcpy/8192                       548 ns          548 ns      1275803 7.46783G/s
BM_memcpy/16384                     1139 ns         1138 ns       640835 7.19553G/s
BM_memcpy/32768                     2185 ns         2185 ns       320840 7.49932G/s
BM_memcpy/65536                     4921 ns         4921 ns       142703 6.65895G/s
BM_memcpy/131072                   10968 ns        10968 ns        63502 5.97511G/s
BM_memcpy/262144                   22465 ns        22465 ns        31134 5.83457G/s
BM_memcpy/524288                   45101 ns        45100 ns        15541 5.81245G/s
BM_memcpy/1048576                  91131 ns        91131 ns         7639 5.75314G/s
BM_streamvbyte_encode/4096          1222 ns         1222 ns       580855 1.67556G/s
BM_streamvbyte_encode/8192          2470 ns         2467 ns       282349 1.66064G/s
BM_streamvbyte_encode/16384         4945 ns         4945 ns       139671 1.65662G/s
BM_streamvbyte_encode/32768         9990 ns         9989 ns        70497 1.64017G/s
BM_streamvbyte_encode/65536        19853 ns        19853 ns        30963 1.65051G/s
BM_streamvbyte_encode/131072       39933 ns        39932 ns        17401 1.64118G/s
BM_streamvbyte_encode/262144       80563 ns        80562 ns         8193 1.62697G/s
BM_streamvbyte_encode/524288      160716 ns       160716 ns         4284  1.6311G/s
BM_streamvbyte_encode/1048576     319253 ns       319253 ns         1942 1.64223G/s
BM_streamvbyte_decode/4096           691 ns          691 ns      1040462 2.96191G/s
BM_streamvbyte_decode/8192          1341 ns         1341 ns       516979 3.05539G/s
BM_streamvbyte_decode/16384         2683 ns         2683 ns       261208 3.05359G/s
BM_streamvbyte_decode/32768         5348 ns         5348 ns       130319 3.06353G/s
BM_streamvbyte_decode/65536        10817 ns        10817 ns        64427 3.02936G/s
BM_streamvbyte_decode/131072       23207 ns        23207 ns        31546   2.824G/s
BM_streamvbyte_decode/262144       45746 ns        45746 ns        11291 2.86519G/s
BM_streamvbyte_decode/524288       88660 ns        88660 ns         7947 2.95673G/s
BM_streamvbyte_decode/1048576     178497 ns       178497 ns         3907 2.93724G/s
BM_zigzag_encode/4096                810 ns          810 ns       854076 2.52829G/s
BM_zigzag_encode/8192               1611 ns         1608 ns       433154   2.548G/s
BM_zigzag_encode/16384              3174 ns         3174 ns       219165 2.58084G/s
BM_zigzag_encode/32768              6457 ns         6457 ns       108415 2.53754G/s
BM_zigzag_encode/65536             12582 ns        12582 ns        54747 2.60432G/s
BM_zigzag_encode/131072            25243 ns        25243 ns        27802 2.59617G/s
BM_zigzag_encode/262144            50278 ns        50278 ns        13952 2.60693G/s
BM_zigzag_encode/524288           100563 ns       100562 ns         6932 2.60678G/s
BM_zigzag_encode/1048576          211846 ns       211845 ns         3222 2.47487G/s
BM_zigzag_decode/4096                675 ns          675 ns      1041044 3.03263G/s
BM_zigzag_decode/8192               1342 ns         1342 ns       523553 3.05196G/s
BM_zigzag_decode/16384              2643 ns         2643 ns       265497 3.09905G/s
BM_zigzag_decode/32768              5383 ns         5383 ns       130976 3.04377G/s
BM_zigzag_decode/65536             11474 ns        11474 ns        60817 2.85588G/s
BM_zigzag_decode/131072            21777 ns        21777 ns        32345 3.00944G/s
BM_zigzag_decode/262144            43477 ns        43478 ns        14387  3.0147G/s
BM_zigzag_decode/524288            86120 ns        86120 ns         8145 3.04393G/s
BM_zigzag_decode/1048576          173095 ns       173093 ns         4028 3.02894G/s

The unit of Throughput is GB/s (Giga Bytes per second).

Build Benchmarks from Source

cmake . \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_SHARED_LIBS=OFF \
    -DBUILD_PYBIND11=OFF \
    -DPRINT_BENCHMARK=OFF \
    -DBUILD_TESTS=ON \
    -DBUILD_BENCHMARKS=ON
make libstreamvbyte_benchmarks
./libstreamvbyte_benchmarks --benchmark_counters_tabular=true

(back to top)

Roadmap

  • Zigzag encoding/decoding.
  • Support ARM processors with NEON intrinsics.
  • Differential coding (delta encoding/decoding).

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feat/amazing-feature)
  3. Commit your Changes with Conventional Commits
  4. Push to the Branch (git push origin feat/amazing-feature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Reference

(back to top)

Contact

Author

Project Link

(back to top)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libstreamvbyte-0.3.2.tar.gz (764.5 kB view details)

Uploaded Source

Built Distributions

libstreamvbyte-0.3.2-cp311-cp311-win_amd64.whl (60.0 kB view details)

Uploaded CPython 3.11 Windows x86-64

libstreamvbyte-0.3.2-cp311-cp311-win32.whl (48.0 kB view details)

Uploaded CPython 3.11 Windows x86

libstreamvbyte-0.3.2-cp311-cp311-musllinux_1_1_x86_64.whl (606.7 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

libstreamvbyte-0.3.2-cp311-cp311-musllinux_1_1_i686.whl (662.7 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

libstreamvbyte-0.3.2-cp311-cp311-musllinux_1_1_aarch64.whl (589.3 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

libstreamvbyte-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (82.1 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

libstreamvbyte-0.3.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (87.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

libstreamvbyte-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (77.9 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

libstreamvbyte-0.3.2-cp311-cp311-macosx_11_0_arm64.whl (54.6 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

libstreamvbyte-0.3.2-cp311-cp311-macosx_10_9_x86_64.whl (57.8 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

libstreamvbyte-0.3.2-cp310-cp310-win_amd64.whl (60.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

libstreamvbyte-0.3.2-cp310-cp310-win32.whl (47.9 kB view details)

Uploaded CPython 3.10 Windows x86

libstreamvbyte-0.3.2-cp310-cp310-musllinux_1_1_x86_64.whl (606.7 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

libstreamvbyte-0.3.2-cp310-cp310-musllinux_1_1_i686.whl (662.7 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

libstreamvbyte-0.3.2-cp310-cp310-musllinux_1_1_aarch64.whl (589.3 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

libstreamvbyte-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (82.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

libstreamvbyte-0.3.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (87.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

libstreamvbyte-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (77.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

libstreamvbyte-0.3.2-cp310-cp310-macosx_11_0_arm64.whl (54.6 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

libstreamvbyte-0.3.2-cp310-cp310-macosx_10_9_x86_64.whl (57.8 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

File details

Details for the file libstreamvbyte-0.3.2.tar.gz.

File metadata

  • Download URL: libstreamvbyte-0.3.2.tar.gz
  • Upload date:
  • Size: 764.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for libstreamvbyte-0.3.2.tar.gz
Algorithm Hash digest
SHA256 7e9e51d07c219570ec8fe6ad89d0982453b5ba332e79635736dd1ca07d4b4e00
MD5 e37ffe61213d86ce0fd685009f9d1601
BLAKE2b-256 5ee987a9e93bfd193635220505ba9cff59dcd40629b28823e263824544cdf053

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 30a39accbb849d79f4665d6f33475fc4b8c2088cb0cee1519a01b621fdf2bad8
MD5 472121b0c1a162f28641ae971aa0638f
BLAKE2b-256 5163a0d69668c3e535b32f13ca6582b5f35e3254497fb3ac9e49c73591c31710

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 0de6b96a637d1bfd766eb0d2cb7a02dd29b035825b5fe65098c20cfbccbcded2
MD5 aa8220bbd2a32eb01049146ac5e638e2
BLAKE2b-256 5eabf4bfd35938775b6e7ff61d14d0c52360876cf601e9af5362bcc1cf0b15d9

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6c75eccacc76ea144b6f8ae6fd293e4f10eeccf41cb80d263dd7a2db86273872
MD5 ec705743b46faefbf4e0d8b3d9e0cea8
BLAKE2b-256 ac278055a7efbce24dc5cdd017aa37e548d539096b73428d832ef6449db34461

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 b64b593d09be2a71a833883bfa8f5decdfea161c9b7d93e49eaca77903944b8d
MD5 82329136e79adfe73c6e07bf1b73325e
BLAKE2b-256 b391bedc5200daf7a0b991276fe1be343dc1fd683026f19c4901f25111934a3d

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp311-cp311-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d413c7cc8f0e7888f856b781d6d5d12324a5481b890d78d409aa3d4a0ece49b5
MD5 b89a0f6939ffcb28cd1a3776097e8706
BLAKE2b-256 96a298053f2dc0e014551d08b8018bff8a46a0c4ad9ca89c7dc17f87963b19e8

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e977070599ff48a5b8c3872fdfca19e426e478eec15382792bc666aef5af9eb
MD5 70375dab78a661ec534e273f82fc5b97
BLAKE2b-256 5e1859b2b52257689bbda3dbd0b3b64960a62956cd373abdf7c9f8b1e846db1e

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ac6e06669e4df64ae8adc7abedd75107d6d239b7e8cc1ee4c0356b8a17b2aaf7
MD5 22ffd983c4dc00bfdb9d3c6573fbc25f
BLAKE2b-256 41408e44aba2d8c3cb5fbf631941d1e05a2b456488699c51cefad7c1b26b763f

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8cb065ed7b63040d2088428e7107d34e750092c936e3a4e098eaf07a1c638d0c
MD5 9b3d16260bd68bf570a1b466b367c57d
BLAKE2b-256 5de9bdfdca27dc7d6d2b110fc4ebfcd7e09d346fcdda9548dcbd24300f828608

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0f6ee99fec5991c493c52c3cf82cd6b98ac4bb3341d86d1b762a81c2032c4222
MD5 f8c5948d1c3dd88357f1ab66526e6052
BLAKE2b-256 b5e69ad200225e00cb6dbbb3e92d5b8f331bae5ce6a569b8038772eafd5886c4

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b2e0c7f5727b69e3ea78856446f6df38f44216415d3ef66746524726f6bd8035
MD5 f8f3ea8e9362ca85a1f1a44b074ca108
BLAKE2b-256 712cf908650f6948a6fc77c258ebd8f522413b4f1a225fb962a1524919521349

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5b659a16d88e77ea9c14de92aeccf6f40607c0a05c5a99a3eb452daa70f2cbd4
MD5 88865148037bf39c8fa3eb115f89b295
BLAKE2b-256 2e5113d90f64e8cdab99a6a22ac61708fd35c3048ebfe0ebc72a4ee6b0799d86

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 e4e429c994652ca208ee7f01ffce5cfb961f49887fffe1b49f784f387fc7ec99
MD5 0b8dde1454b0cf7818fa79e07f3c7154
BLAKE2b-256 6c7402d199e868463f29cb1ac364d97b1a88dff15b00a61169b71b2cb5e54023

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 55e4dd469939bc9ab12fca3f594c27b44bf7ba04d68798f58975a61e2c7f1ace
MD5 c9e616a5bd4af3236b158bb749d7e0ce
BLAKE2b-256 c09b75ea8b5f9babec2f551e7c5410e47f229adb2196c2fb1412d8a423d11f2c

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 481084c68eb74b9c521fa3772e5338f75e3801a16b793ebce6ae646f8b997fd5
MD5 fd6c61e928087d51e26485606c1558a9
BLAKE2b-256 5fa00a1fafc36743668f8e1e8beba3ff20b1e972635843a94f15117de4dd0b0a

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp310-cp310-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 dd58e836513932392f60dbeffbefc86caf93300f05bb43e023746a496285851f
MD5 81a7f75159da2bc287566a92744eead1
BLAKE2b-256 c33985a080a420738ae63a080c1c8bc98eef85713c63e55a84c8718efae2b595

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7fe85dd3101636b77d19ec97a26662ac8447c67fc26401f8cd40cf799c4a64f0
MD5 eb018c53186626ed5e2f3f1443038a89
BLAKE2b-256 095d1753b77ef3a94450279327611543010f72382a0fbb45432245ae099665a3

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d63107f5c274e26b6f81cd4c41099374abcd4c7731f93d8c5c22a497ee977762
MD5 dfc12225c9d6cfa8335124bea08e22ec
BLAKE2b-256 602ba601e23ff62485d83ea3ed98140dfc577494d1cb4d448bdd33d3819a16d9

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fde0fa2c78b0f842668a7391559ed8a5993453d370c19dd5e9ed7d5ad9567c75
MD5 41196b53616cfdf2c6e5bebdf0a43508
BLAKE2b-256 cfa84663c678f44bb0a98ddb9d8528522f20fd759a8ed3f861b28a81d3ad655e

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 15b957eff538db4c98801957ab4a4d722dbb1991ec1dbb3287f87923504dded8
MD5 c274058ed980a01abef7a70caeea8df6
BLAKE2b-256 f17a0fd897cee1a7b801db1c329c98db7d19e02c68e10e04587b0c6bd31856da

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 83d39b9631206f41ba6214df5dcf1a2a05fa469f36dba02c99f9f1e62292be40
MD5 6b089840c0a4d57ef0a1c6fa0cd479c8
BLAKE2b-256 fb814ba09e3553ef78b1104387cf0fe6a52d7ebcdef622f86c4fc013c2d38af7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page