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.8+ 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(in_uint32: numpy.ndarray[numpy.uint32]) -> numpy.ndarray[numpy.uint8]

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

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

# Decode an array of unsigned integers into an array of signed integers.
zigzag_decode(in_uint32: 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.7.tar.gz (765.3 kB view details)

Uploaded Source

Built Distributions

libstreamvbyte-0.3.7-cp311-cp311-win_amd64.whl (61.2 kB view details)

Uploaded CPython 3.11 Windows x86-64

libstreamvbyte-0.3.7-cp311-cp311-win32.whl (49.1 kB view details)

Uploaded CPython 3.11 Windows x86

libstreamvbyte-0.3.7-cp311-cp311-musllinux_1_1_x86_64.whl (607.3 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

libstreamvbyte-0.3.7-cp311-cp311-musllinux_1_1_i686.whl (664.3 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

libstreamvbyte-0.3.7-cp311-cp311-musllinux_1_1_aarch64.whl (590.7 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

libstreamvbyte-0.3.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (83.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

libstreamvbyte-0.3.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (88.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

libstreamvbyte-0.3.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (79.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

libstreamvbyte-0.3.7-cp311-cp311-macosx_11_0_arm64.whl (55.7 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

libstreamvbyte-0.3.7-cp311-cp311-macosx_10_9_x86_64.whl (59.0 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

libstreamvbyte-0.3.7-cp310-cp310-win_amd64.whl (61.2 kB view details)

Uploaded CPython 3.10 Windows x86-64

libstreamvbyte-0.3.7-cp310-cp310-win32.whl (49.1 kB view details)

Uploaded CPython 3.10 Windows x86

libstreamvbyte-0.3.7-cp310-cp310-musllinux_1_1_x86_64.whl (607.3 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

libstreamvbyte-0.3.7-cp310-cp310-musllinux_1_1_i686.whl (664.3 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

libstreamvbyte-0.3.7-cp310-cp310-musllinux_1_1_aarch64.whl (590.7 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

libstreamvbyte-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (83.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

libstreamvbyte-0.3.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (88.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

libstreamvbyte-0.3.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (79.2 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

libstreamvbyte-0.3.7-cp310-cp310-macosx_11_0_arm64.whl (55.7 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

libstreamvbyte-0.3.7-cp310-cp310-macosx_10_9_x86_64.whl (59.0 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

libstreamvbyte-0.3.7-cp39-cp39-win_amd64.whl (61.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

libstreamvbyte-0.3.7-cp39-cp39-win32.whl (49.2 kB view details)

Uploaded CPython 3.9 Windows x86

libstreamvbyte-0.3.7-cp39-cp39-musllinux_1_1_x86_64.whl (607.6 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

libstreamvbyte-0.3.7-cp39-cp39-musllinux_1_1_i686.whl (664.4 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

libstreamvbyte-0.3.7-cp39-cp39-musllinux_1_1_aarch64.whl (591.1 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

libstreamvbyte-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (83.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

libstreamvbyte-0.3.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (88.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

libstreamvbyte-0.3.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (79.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

libstreamvbyte-0.3.7-cp39-cp39-macosx_11_0_arm64.whl (55.8 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

libstreamvbyte-0.3.7-cp39-cp39-macosx_10_9_x86_64.whl (59.1 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

libstreamvbyte-0.3.7-cp38-cp38-win_amd64.whl (61.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

libstreamvbyte-0.3.7-cp38-cp38-win32.whl (49.1 kB view details)

Uploaded CPython 3.8 Windows x86

libstreamvbyte-0.3.7-cp38-cp38-musllinux_1_1_x86_64.whl (607.2 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

libstreamvbyte-0.3.7-cp38-cp38-musllinux_1_1_i686.whl (664.3 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

libstreamvbyte-0.3.7-cp38-cp38-musllinux_1_1_aarch64.whl (590.8 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

libstreamvbyte-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (83.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

libstreamvbyte-0.3.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (88.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

libstreamvbyte-0.3.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (79.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

libstreamvbyte-0.3.7-cp38-cp38-macosx_11_0_arm64.whl (55.6 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

libstreamvbyte-0.3.7-cp38-cp38-macosx_10_9_x86_64.whl (58.9 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: libstreamvbyte-0.3.7.tar.gz
  • Upload date:
  • Size: 765.3 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.7.tar.gz
Algorithm Hash digest
SHA256 7ece6fbe689b137f26648b989f4dc8985eacea44e0fa881577e4e97559a65d58
MD5 0cf1b6b6f33b82b506eb61d339b6b18c
BLAKE2b-256 f6749710a6fd95e6ded79fa08a7b0014b867ed2ba6f0f04652eba3c202456894

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ef4502f3e47fc26339cbb7b1e8d9261e663480abb9997e001d12246d466b38a5
MD5 02771107604a105f0a22794329892978
BLAKE2b-256 c7e69128f3bd967be0d35912732047fd769619ccaea3c7ec1d0aa470f66c6d1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 6cbec143e4e9a3756440456ae2140b505c06d4958eeb37241dc95b92607adea8
MD5 74d13b8acb22161e7f4d136605175c24
BLAKE2b-256 d3fa2a34371c9e984cbc7993097b286e7269818dd7d94920f5ab4369d6f4f41c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 98e381dc5bb2f3b9341bb0d355b7b2e683c81e62296c527a380e62542292353e
MD5 36bc486b6fec5b7ad2b91ced30745503
BLAKE2b-256 2b6786b52f1e6557c15638e1bcaed6fc6f7f7db2cb2a8b4515a5cf945220eed7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 e9143757b3eaeae00a18a0242f0dc3aabcfffecbe2a0321903a035ad158f55bd
MD5 bbf113f12f91241b2eb31333408055a7
BLAKE2b-256 4eb0b66eca1c5a3b546635bfba92aa75ed709c094851e8a07eb804d3740d7db3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d724aeecd365bad40596c072d54daec14c1a5131e322085924fcc00dd3b11d96
MD5 0f4390a22dfe334dafac2bfa7f6533e1
BLAKE2b-256 6ca1ceac0f95d54126840274244379a629004298e3f999a493b4a6e986ea61c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e4434efa2b80705b3e1bf066c92a35de013e1d4b8d1150703dd30dc742138ed
MD5 5b5b0377438fee4b9888b7d1402ef304
BLAKE2b-256 c43ae5c962afbb3fcf38ea238d73bfdcfab1321e34322b77c7b23148d2d87fae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ddf34beb48731fb350cf61c750bfe946f36784c4197f76b1dd8e54387f8e9841
MD5 a40a271839310689bb627290d18a82ad
BLAKE2b-256 5e4d59db2725786daf2d7f4dc428b9a5c048c78fbe1449a1ebccd96c6fd0a844

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a1c609adf7c9ad7abd51852a319be606a968be9b5fab449c1f9f070ac1c9a777
MD5 447c1fa6261744f528aabf03a1a0ee04
BLAKE2b-256 405296798b13cade56205701cb65a200aa935368716b64f0162a1ea25d2dc209

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7780354254c5d1e8d7a8d575b96dd353762b5278ffea31870d023e30a80f6767
MD5 419f82d425df746f133eafac2943730c
BLAKE2b-256 8378563af2ca5204f029ec8a9307cdd15009ddd5a24f4a342d64dd4eb97d73f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2686bdaa79238ef70d03bed60cbc227fb56437f050474d1e642124ba64a31c33
MD5 7e3be50ae1eab7a92627d0ab39f80c6b
BLAKE2b-256 8d3b54a424de45fb24a0b67887c1102e7405f8d993fa1901cdc0a6804b2ff4b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 80f86ff374fb988d7ce52802154f295dede4c2a2f057fe6818457c10d867f17a
MD5 88bfb2270f30a9aaaa899ab9d3982888
BLAKE2b-256 08c9bc880060de09d5e1f64442f47d97eaa45264e5abb716491324e70d2b7033

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 2fb96b0f6b9c77122d47635a7834dd3c93e87ffe3c02e95490c11983ce67fea0
MD5 995c882f5128fbd416665f9cac4f88ef
BLAKE2b-256 46c7989e4f575528812e02befda49b2e498597b31ffd78d66decc801a44e0800

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0421f4e33421f8e1bc30d8fbeaaa0417db9e1ecaf80a1b1e2a8da894296de183
MD5 ea2fde7c4bd481bcbd019cbb56413488
BLAKE2b-256 06b587b223e24b0a2eab0ae225ec3dbf2efef4d3544c9df0426e495e549527e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 746b237c14a200818d60c95ff5753ede0ba9e9faa466158ed01c035d23658fe1
MD5 775b7fff926de20d119fcb5281db12c3
BLAKE2b-256 0cd9527fd80962a8254f1436f118ef58c87a923a42b06aed710f15fa24cadc77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 3a8dfb1301353ad2d66d4af54e16218f0beaa1e1d0922a72f00c9f9c67384293
MD5 d920f1e0f186607bf853feffdc84eadf
BLAKE2b-256 bb6954b3cb188f5bae60f24de1817aa79f086f6253dffd63f456b785588f48f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9512be8708b53c3bd7f1763cc536312b3438672b5362d454e7ce15079b12e4d3
MD5 5755cf295a0ab1f7f901ec16274c809e
BLAKE2b-256 2554d073fa7a827baef75f6077e3a121ac0fbc454481dd2d87b5d4d337830277

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 83d3d791ad93f28c2e47fd78d1bf3759291397f15d08191fe684c1a21d8a8875
MD5 2bc2c10aa32b8c00954bec1d3dce4ac6
BLAKE2b-256 cbdf0e6232b4feba6ba5f637606312b4b4f694ed80b1320ef0ddba8852061ccc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6961dd3235018af42b3ecf2b189b9bab611f99fcd4be13a8b8744aaee87ee835
MD5 504da24779c5985600cc2b9fc6bbe7ba
BLAKE2b-256 8176311ea6850581e3debd988b774e472bd56a912a7ab773c9d911adc516f2ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 32d02b42b10be7b64639ab91c4cd7813c502219b98d49dc8353a63ffa533e7bc
MD5 0f0faa237434d700a1ca392df6a9ebb3
BLAKE2b-256 51642162e4a80cb642cbd25110a94a4a61690bffffff4d23fa40c0ef3c5522c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 29b8868dcc804a44a86a886dadbb8f83b4f5717c85f4cc87c529464377f9fbd9
MD5 9a88b3d515b4e9efae8a40f27b76fca9
BLAKE2b-256 858cecde72825aaae7df75612814ee55097883bf6d5eb5c64c1987078c951384

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 097d52cac8194e2b4b89ee600aa965544e02ac7dfb1f3049995edef194e6b830
MD5 779ccc2528a8a0ade0d7dceff2d38679
BLAKE2b-256 cd7bd0641b2ec751dcca17086be7a427ec40232f45a064f04f5b79d6fc02bd74

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 9f152006d001b256c82e6ff21a3946c491309d659c6f41a22424359bbba3bdc6
MD5 5652c5e6f453f54390995802f002a140
BLAKE2b-256 410a286c590d54416a30284ba29b49eb9bbc4a7f06e32f08a12baac474801505

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5a4a32e5712ef37d41a2ca6f1a827f81e6fb3be25f17743b428ef66426b2f5bb
MD5 4435f38564e52d36e9d3a5d3646bdfad
BLAKE2b-256 ce99ef1cd32ab5418f09fe2838cf703579e7a8a6e61df2552319237ee3e51633

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 6d670f9257efbf8f8e45b90939a401d79cd625960ee3ac4f63c0748e0f2a04d8
MD5 b5b6b85f618d28de7a1bc44ddc205045
BLAKE2b-256 9d998df3a386afb02e988512c0e8139dd016ca2b62668ffed25b251048e06192

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp39-cp39-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 2c2a6974bdac8f0423dd96a51f8100c0b57f1ec50ba225ef66cc4bf3c60c71fe
MD5 47bbadb2ce4db48685cb2d5ee373700e
BLAKE2b-256 94c4c58024102145417a08d1ef38376637e91a3609b4c0aecce5b95c81e2ab0c

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ca374eab63204b9efee18cc7f0f37a69820dac5a4271ee06fa714acfe3d34b7
MD5 b1ee461886051aec4eebabae9213a6f2
BLAKE2b-256 8fa43bf837384addc2222d1485f19f69e1f6866c56d7407294a9c1da5e235088

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2a945ad7c1af5d7d49767cbd411b0fb10f3883349cedf542714271ae8f10d02e
MD5 b828e0b9ef8f6d29ce6c335a7e82dcaf
BLAKE2b-256 7ee935c5b47de86b91abbc97bec50e7c8705fbd9faa8f8f93802da29f29f04f9

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d09c91ad85b1081c0929a0be75475cc0f7c6630757d2a46a6dbed951f500435a
MD5 dc931002334ff8b4823f224c83695676
BLAKE2b-256 4b89ff032735e22c48e6f7b0ccffe397878f27233e89c06e3a11de259950667e

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 184a142905a447d6ff5b7913e91addca8cc448abb335fc49c4b09369b7291b59
MD5 a6fa353a9802f07c24a9879b8297b9ed
BLAKE2b-256 2e1b4b8b84a23568c256b365e664161144b9dce283ad49b6875a11752abe0575

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 df30225a7cbc4aa511709c82b76ef95e06584a7decb6e0d4d02aa3cb87369a16
MD5 1c892d1b2ddf2f205cf465f539873f1d
BLAKE2b-256 109906cbdca0091297a20bf19c7c585f6efe50644ad2d85bb621b4aeb83abe6e

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 36f40e9c38fb68af5336180ae683641182bed499f4423e0599e8b4f3ca3fc5f3
MD5 ca598db9ea110276cc319594f29bf215
BLAKE2b-256 936d58b0e329680037949cc3d80a07ec0c1f40c454e4d9436a6961d97be063fa

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp38-cp38-win32.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 b5c715fcf27293d15f374edf1256157d3c9f87ff9f66894b21db340ef3e996b3
MD5 7a3cb1e68fdefbf712fe27fa2908ea54
BLAKE2b-256 8886fa64a0a4610b7066f019aa6de2a112bf73ae26c7e164eb5e45f361eeda16

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d8f7769963e3bdbce9b9c19dceed5837efdd3dfb3c0533047e2192c13fb64e58
MD5 a5036ad9402e3f51f4eb5a015c151853
BLAKE2b-256 7dcf315908ad817ad50363f6f5dcd482a6d15def95cefde3ecce5c60f2aaab46

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 e8b1cfa4527436ad821287e5634782f906538490b324b99a6039c6bedc02246f
MD5 a09dc169a13bd3141be4e5b2395e2af3
BLAKE2b-256 b4c86c0491958811c1390b4753a2771762e4ba87b7851c0b3826bd6fc5da7a78

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp38-cp38-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 c5bd984f1b9f7011e593346fc73b164275f4a426d91850a185f895f6e535911e
MD5 f4faf4ccd947ed95259863bc162b88d3
BLAKE2b-256 c1cc7a18c2b2f6b7296fe0c87eaba017bfd6ec4666cbb62842f325e775ccdf04

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab635ba80c415d853e898a28d59669fbca08d0d0706397dc34c21bb210a319bc
MD5 77b51e8efc351e780a65a515f27d6d9b
BLAKE2b-256 b1c096f03ccee4c4efa5a8e785111f199c320f3a4654694fea592c0e85c5e89a

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 16defde833e83ee996b48fe91206312f19d9c00b4fe4899a81c5640da81adcf0
MD5 e4bd9b1ca98dbd0bad3561fb5ae424db
BLAKE2b-256 1c9e6dd0c22a8fe99f202e14c03e56f836c4d42c5597e8ba1b4b4226e556343d

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f6dd059b32136df648db536c4bcd0f6a6b14a4c45f498e6963729092dd44602f
MD5 9b88cefec22df91acbcf2da8685a4671
BLAKE2b-256 9c06d49896bf45caf28ee3ccd4f4d738b7f2f896c5cb4912c59d70ad64213767

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a4359280eca8f2f403a508ebc298aba1820c97b698c20c04fcbf21b979fae694
MD5 45e6eab3483f414a7d28e7c8f143b497
BLAKE2b-256 0eba894315e819af5befe9bbcd7e89ce7392b086220e48342861b392e4b32d47

See more details on using hashes here.

File details

Details for the file libstreamvbyte-0.3.7-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for libstreamvbyte-0.3.7-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cf0446fd463c67e5f54de8506679373affada8ca65c10af74b1e393d4bd33f16
MD5 6bd2ca4e1c7b4dc93506b5a90d9b5df6
BLAKE2b-256 26093491d300360d507b5086471ee90f3123180c8cb3275d0b526d473b9188c2

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