Skip to main content

A C++ implementation of StreamVByte, with Python bindings.

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 an 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.3.tar.gz (765.0 kB view details)

Uploaded Source

Built Distributions

libstreamvbyte-0.3.3-cp311-cp311-win_amd64.whl (60.3 kB view details)

Uploaded CPython 3.11 Windows x86-64

libstreamvbyte-0.3.3-cp311-cp311-win32.whl (48.2 kB view details)

Uploaded CPython 3.11 Windows x86

libstreamvbyte-0.3.3-cp311-cp311-musllinux_1_1_x86_64.whl (606.9 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

libstreamvbyte-0.3.3-cp311-cp311-musllinux_1_1_i686.whl (662.9 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

libstreamvbyte-0.3.3-cp311-cp311-musllinux_1_1_aarch64.whl (589.5 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

libstreamvbyte-0.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (82.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

libstreamvbyte-0.3.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (87.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

libstreamvbyte-0.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (78.1 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

libstreamvbyte-0.3.3-cp311-cp311-macosx_11_0_arm64.whl (54.8 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

libstreamvbyte-0.3.3-cp311-cp311-macosx_10_9_x86_64.whl (58.0 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

libstreamvbyte-0.3.3-cp310-cp310-win_amd64.whl (60.3 kB view details)

Uploaded CPython 3.10 Windows x86-64

libstreamvbyte-0.3.3-cp310-cp310-win32.whl (48.1 kB view details)

Uploaded CPython 3.10 Windows x86

libstreamvbyte-0.3.3-cp310-cp310-musllinux_1_1_x86_64.whl (606.9 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

libstreamvbyte-0.3.3-cp310-cp310-musllinux_1_1_i686.whl (662.9 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

libstreamvbyte-0.3.3-cp310-cp310-musllinux_1_1_aarch64.whl (589.5 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

libstreamvbyte-0.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (82.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

libstreamvbyte-0.3.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (87.2 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

libstreamvbyte-0.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (78.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

libstreamvbyte-0.3.3-cp310-cp310-macosx_11_0_arm64.whl (54.8 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

libstreamvbyte-0.3.3-cp310-cp310-macosx_10_9_x86_64.whl (58.0 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: libstreamvbyte-0.3.3.tar.gz
  • Upload date:
  • Size: 765.0 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.3.tar.gz
Algorithm Hash digest
SHA256 6cc077d81b917950d85f3752eb4af2df1bf69bb6810827b4370f959e3d046e41
MD5 334109f10c512c6aa198ffbd963a7bcd
BLAKE2b-256 c25e9f409576d04e5b98fda10ab8aa459ad1af58875cebd7093ea64a8290eb47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5eb8aedc3e12899b68af1739319ed877c757b8d4d9006e4ac742d929d18bbaf5
MD5 adeb69b6b6b85438a0e594399b1f2d68
BLAKE2b-256 4b55b251c57db7913f0a83659783ffe5ed7cf6b77a911065b5551cca585dba7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 a7a621a0201d124717f085506dd2bddc880fb3c921e94f2a669237c8c2d2f5b1
MD5 7dac937a854c730eef36b46d3de59911
BLAKE2b-256 dcf4f249d56395b6e47d45c16b8a390c1adf8df09f91b2851c482ceb061ec5ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 100fdb9387d17459a15aabce38a9ef29c1a425f212fd5d0eecbc2586750438f3
MD5 2ba56802417697fb509614812c76638f
BLAKE2b-256 3487fdfd287b77d989575619d49c6441c56c793bfcf3e40b2daef3ee79c4d69a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 f5b3b1c9e1a42776cf9225889378b2a60a3cd58bed2202699fc422e5f2bc97e8
MD5 63720a1f31df6413dd00559909453ae2
BLAKE2b-256 60e01eca6d28f8ed71267719ee25b3d7a2e6ed621f1124f4d97310a9128786aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 6b50985edaf5dd22c09823adc82ac1aec746f169cbb1c46f2cf578b5edebb18a
MD5 9a6e91d69805edd2cd5c20393b3fb278
BLAKE2b-256 db13a088e009f355e8cbaaa090f439eebe3719c6ff3b70a2285f9ae005461e04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6c884e942b16c885fe3b2e4f4a276b0493f41376336ba05f30de03d5cb284cb4
MD5 dc120de87f34c9c730d380ddb70a4f94
BLAKE2b-256 75dacb68b6075e5a9984922caba798affddebb217d5ca456e1115f6551249aab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1bc296f6586d4c78b6ee5fa3df52d56f312138719c384212669c1256a8c71e84
MD5 efaffc94db73c7ddd335f4bc8032f445
BLAKE2b-256 9385c76611c8bffc4e5c53dd8bd5f62e1c2b1a055bd1837c41078c3365b3c17a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f32b75724bf98006ee5fb0100599713256249e0f04d312b7c649b30cbb62efab
MD5 36e3b78845b7069da5d022b2339c7b2c
BLAKE2b-256 3c5753fb7b9687a897910b5be0e388d071e45fbc51aab6ee31d20257f02ad695

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ec8c2598ad352072cc751c1dfd1296fa9aff49d74c570ace0c5597344a63206e
MD5 7aad7311ae5d6e895168e8dafda55e12
BLAKE2b-256 449a0b916ad14c8047f1769ee6623f9b1b8880693bf516e627b2f2e0245c9adf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a25ff581dff54d81e8369874b425749271bbdcf513dfe52cf6984b572adb47af
MD5 295d0a92dcab5e0420358e19aed4d616
BLAKE2b-256 8151962615095256776a6b7ad935088117dc841c7095b9e26323c6b8f3a2beef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 83ac7ee6db839332e7d7d0bccc4a0ad3335796202da00e15149ebca2e2be3991
MD5 a2da7b301c1fb2a77fcb8446b5ade496
BLAKE2b-256 a0c2eaa4fee638353baae57666a77fb96b1029afa913b97395cf0af8c3418775

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 e7480f85eafd66d89f3f54c90d3bbfa11995b6a93cd6807ff11c027d9e1fba01
MD5 e5dbdb36f497d8c1236193f278ba8289
BLAKE2b-256 6606be7976cb688852ca8897d7411750e2a7f40aa6ca0292769c39e6b5dd8e3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 30943261fa033c561b083facfc872c8ef3b75a3e77136dbbd08184f6e72d4686
MD5 538dcf0dc919347d614649472e57a431
BLAKE2b-256 1365310c646e54f83bda94f257763c12705eb628484371bab0349ad5ee893978

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 f421ba48a659819de6657c7cc3d8502bfa84912927157c2e2d5df9ae1a1b2201
MD5 35f35fb96a85a01a9deb040b1f9328fa
BLAKE2b-256 fdd562ac9d4f94af5b425031c08632c23965afaa1a6923b9639ef101a7289506

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 812b518787f0a3b22406ea4229d3e6df88d72715fafd453824a92c639aae5c09
MD5 911526dc5feca69d8daa3019a2e46019
BLAKE2b-256 dc2d843892cf1ba2d05aecd0a2b0c0419605a5a699d9a527daa951a025f9d4a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a6712b15dd1b09f703f034c27a91eb7d9c4f1fd08e33c0e8a967b90bed185f0
MD5 92c8e44a6e6f4dce1c9978af7da232f0
BLAKE2b-256 ec7ea9e307b00759212d356742040b16bb63d8c80debe8baf91850812386d6c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b26e97ce88a8327d2e5585a628f1445db9feac4505b9594b71395e205db51df6
MD5 31e2ab809dacbe377a89157b25221b95
BLAKE2b-256 8e400a46eeccccabd6f0ee0a566fa60a96a685de74d98a02236d867cb80adf11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7da3d3f68a4869680a6cc6b6a9bbd5770ff9317342b898ac57ccd0e92abb7566
MD5 a7d5c6f1f5f00ef585cc29ef9bb9c21d
BLAKE2b-256 1e18f3e7cab60c013179efd7ebd7833ba7666179bef4787771b255da47c18f3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d03343ec5c541afa8de9749352860332db5647e036628862bbcf72ced173a72e
MD5 cd19d695d9ce5e763d71063aada24bf0
BLAKE2b-256 06860e7f77c8854bfe9718b8a0685f75efa5978ae0ee118b7235085dfd12455c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4d1cf442bfa29bf83667a8f72e5b1f929425a49844e85c05f44e263d77605229
MD5 105e449a7fc71f72364551aa14e9ceb9
BLAKE2b-256 11b03689ef7b597503eaeeedeb5c89105a54f3a8b683a69ec50b11c34e085f3e

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