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.1.tar.gz (764.5 kB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 Windows x86

libstreamvbyte-0.3.1-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.1-cp311-cp311-musllinux_1_1_i686.whl (662.7 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

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

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

libstreamvbyte-0.3.1-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.1-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.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (54.6 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

libstreamvbyte-0.3.1-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.1-cp310-cp310-win_amd64.whl (60.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 Windows x86

libstreamvbyte-0.3.1-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.1-cp310-cp310-musllinux_1_1_i686.whl (662.7 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

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

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

libstreamvbyte-0.3.1-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.1-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.1-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.1-cp310-cp310-macosx_11_0_arm64.whl (54.6 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

libstreamvbyte-0.3.1-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.1.tar.gz.

File metadata

  • Download URL: libstreamvbyte-0.3.1.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.1.tar.gz
Algorithm Hash digest
SHA256 92dab8feea4e1038c81b1ad9154472faf3d652778a930573ca763523faf791d3
MD5 da5f3f5e2964eab2336cb1e47992b2cf
BLAKE2b-256 becdea361aad020ba125c019592dee76654b18a55e967f2434ec6c7d53455707

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a18737b5cc5e79a34d0dc8f2a8daba00a3a71f40c192ae1de06ca86cdeeb90a8
MD5 494c42ce8e22704f8d6b2aa2b92f6837
BLAKE2b-256 ba86e00d9d29052e50b289f63694d6c66c0385dad445192b65df506f04d39ed1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f1a1d30eb89732ae17a108840971a759348dabf69dc3d2eac0985f1ad2507e4e
MD5 38449144bc3d91846b4cdd88d7f8881a
BLAKE2b-256 9a93ddf3ea3a60d6e106e1ecb997e8919da96ddecec83ebed8d5776ff50c46dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 113745697a8b1f400e61a0d5ccd9f259b58027c2c3b12ab3be55cff5c0966980
MD5 99c2f20e248060e4b9b0fabeb20a0027
BLAKE2b-256 e166056c3f31ea7b1236ed11118ccb0d99b5dd6699a651f9d8d499799ca637c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 43c6c49417609c9facd8cd8fe6b64eaba2f883cd279653424cc5def9ddeb587d
MD5 8cc37bb66f8b85b0f1aa6f87adb36a9d
BLAKE2b-256 888d524b0070a9bfb4a30be0a7e37c01a392dfe265ba74200861f8e4e6524c2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4c19b9560f8528f3940f236a83b5897626e6a39e6fc98a357842568741df79b6
MD5 87a40c5069679c391cb242c3f1b94b2c
BLAKE2b-256 d81943c0f917aa7b3abe2fd3b005bbd7147f7c6a57a2e02ac58f1b25a19c8a55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b4779345a918392b2196be3b09528377f3b931191dc0ea04f8c48de67dd00697
MD5 1eaf1f596e61afac5f75db5424f4398c
BLAKE2b-256 f4881511f8f757c7ba8df1b359a8e34beae6af54c8b91f7f275047b7b7ce1bc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e1419f6924670899a3c20736c80a770acd731149fd6463b87fd9f47f1cd4cadd
MD5 75a512685b4062dac98f9a134873967a
BLAKE2b-256 0a643f82ab4caaa6cfc3172bc2f371cb6305b935030e76e3b46ee05b036dcd03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 656eca10d0c7fca629bad269f5970647f0a9d51f9c5307cb45a21e1d1d17e6c1
MD5 9d4384a35add3dae012e5e9bb1b57476
BLAKE2b-256 06568be9d4b3bccf58feb09426238632580eae75178299db8adfb6edc34a1897

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f99b9456c0e24241e1da875f4b778d5d1ff1a46106725354604c35fa64b5936e
MD5 a47c52a08febf314990bc9e1fbd97c4b
BLAKE2b-256 da39dcfaafb7704d4e261913d913c9513ddbc4d5ab1ba52a11ce3c85c3ded4c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2cae1b035e8840feb2b96a6ab7faa2a69a44476147453ede6ca6fde7bcd26e2c
MD5 77e7badf2533f1d7301ad1e8efe38813
BLAKE2b-256 43df44977d74bd35fbb0820103e31a60b9f9b75350ab43a3f1cd4a164ac49f7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4408e62f1bb7e72e8edcb048d6db2bb16278cd348a4024bd0bc6939d51707d5c
MD5 040c0c422b46a21baa929f78dff43a73
BLAKE2b-256 bae6ee3916a2691ebb581161d200d17c5ab6f9c775e471cc772585f8bd1b6fea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 7fb4fe98c142bff227d7702822b192631d3262847a23cc2129d488b82d2d92de
MD5 99154a427c7e288d8e29dccd2363da3a
BLAKE2b-256 ad91ae9702a123a5da6c0836f0e5aa10b471b927d2ff76af83ec21984512de15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ffe6ae75d833cc49fc4cb41232f88143e170ef6e00dc6efad55e8fa95b7fd62c
MD5 e598e4bb27bdd31898c71c62f527b29f
BLAKE2b-256 6e22743daddf8bfa0b59def12a7a1fff370b6c94a35c90385be0def03328b1a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 5799a40473cde1aa4703fb221fc652741ed2ca98809177f3f51fffceaeff528c
MD5 d76b27e4e0f5f8ef33f4d33d069458dc
BLAKE2b-256 6eacf7dba00164204bd3008e671838938da80030aa0c296f9baefd4c27b40589

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 28df24eadddf4697f981df59b3d66ca57502da9f51fc6dfeaf683f1f1f376017
MD5 db7b9b2f9282e5a92c42761fd6a9aa4f
BLAKE2b-256 59de6e4993ab4939fb813398622af7588d2015d8aff378e004ee0571a4a80cf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 53d4f4989cf8c7faba6d5412bff726505d97bdab29fde1832167c6dd1d49155b
MD5 2599a6c9e662084b959cf637458723b5
BLAKE2b-256 69363a5be405b5e00015d14c46f6af1f8de55a76187fdab28240a386e1d71b31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 296b49ae3c07609d0518ab5eddfe70e07a3d9fd0b7d2471b8c618c5bb01e1326
MD5 c88be0b379b1f45d5839bc7e73818358
BLAKE2b-256 bbc45f6d0e883f3c8e5d0b25f07b13df118848319476a88815e7f8956b63110a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3cae435365c2779f3ce23b29fc9ecaceba6d014eb550323444730a7b4298d4d7
MD5 14becf98c21e1f1e9335a90bea3c129a
BLAKE2b-256 4882b852765dbab0a9be76c964ecf4e7b9fa5aa8434734c8daa1edb5c89ed157

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a20b4b799bd21eba9bb54c457025382be5fd3607e8c059eac4485942e42e9d87
MD5 a7da1cd49af6507e178d3c357618983a
BLAKE2b-256 d2e95388baf196bbe7558a75d9b9cea985727ee8b4877ce99db536f4b7a79591

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for libstreamvbyte-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 11c3ac4cce4c74c31fb8b3e9d0ec6716dd06a25fa3673b64ed56798197c75293
MD5 a6e6be0d4c5bdb8f248528e50fa146de
BLAKE2b-256 b5bd567e1bef18d3a48146f2c7fa186afd0e41bab16dedb6840681dba847d5c2

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