libstb
Fast image and font processing for Python and C++, with no system dependencies and no Python dependencies: decode, encode, resize, edit and draw text with one small library.
libstb is highly powered by stb, and that is where the name comes from. It is not a thin wrapper, though. The API is our own (typed, with explicit ownership and errors), and several parts are rewritten or patched for speed, so both the API and the performance differ from plain stb. See what is from stb.
Python
pip install libstb # numpy and Pillow are optional: "libstb[numpy]", "libstb[pillow]"
import libstb as stb
img = stb.Image.open("photo.jpg") # PNG, JPEG, BMP, TGA, GIF, ... (or bytes)
img.width, img.height, img.channels # 640, 480, 3
small = img.resize(320, 240, "cubic") # filter by name: nearest, linear, cubic, mitchell, box...
small.write("small.png") # format from the extension (png, jpg, bmp, tga)
small.write_jpg("small.jpg", quality=80) # or choose the format and its settings
data = small.to_png(compression=9) # -> bytes
thumb = img.thumbnail(256, 256) # fits the box, never enlarges
img.crop(10, 10, 200, 100).rotate90().convert(1) # every edit returns a new Image
pixels = img.numpy() # zero-copy view (needs numpy); DLPack works too
photo = stb.Image.open("IMG_0001.jpg", orient=True) # apply the EXIF rotation while decoding
font = stb.Font.open("font.ttf") # trusted fonts only
font.render("Hello", 32).bitmap.write("hello.png")
stb.estimate_text("Hello", 16) # text size with no font file at all
packed = stb.zlib_compress(data) # zlib streams: the compressor that writes PNG
data = stb.zlib_decompress(packed, max_bytes=64 << 20) # output is bounded: a zip bomb is a LimitError
C++ with CMake
include(FetchContent)
FetchContent_Declare(libstb GIT_REPOSITORY https://github.com/MohammadRaziei/libstb.git GIT_TAG master)
FetchContent_MakeAvailable(libstb)
target_link_libraries(my_app PRIVATE libstb::core) # CMake 3.21+, C++17
find_package(libstb CONFIG) works too, after cmake --install or after pip install libstb
(stb.get_cmake_dir() gives the config directory).
#include <stb.h>
stb::image img = stb::image::open("photo.jpg"); // throws stb::error subclasses
stb::image small = img.resize(320, 240, "cubic"); // or stb::resize_filter::mitchell
small.write("small.png"); // format from the extension
small.write_jpg("small.jpg", 80);
std::vector<std::uint8_t> bytes = small.to_png(9);
stb::font f = stb::font::open("font.ttf"); // cheap to copy, thread-safe
stb::text_bitmap t = f.render("Hello", 32);
stb::text_size est = stb::estimate_text("Hello", 16); // no font file needed
std::vector<std::uint8_t> z = stb::zlib_compress(bytes); // <stb/zlib.hpp>, level 0..9 like zlib
std::vector<std::uint8_t> back = stb::zlib_decompress(z, 64u << 20); // throws limit_error past max_bytes
The namespace and headers are stb (<stb.h>, <stb/*.hpp>); the CMake target
(libstb::core) and the Python package (libstb) keep the project name. No stb header is
ever included from a public header, and stb symbols do not leak from the library, so it links
next to your own copy of stb.
What is from stb, and what is not
libstb uses these stb modules, vendored in src/third_party/ (no submodules):
| stb module | used for |
|---|---|
stb_image |
decoding (PNG, JPEG, BMP, TGA, GIF, ...) |
stb_image_write |
encoding PNG, JPEG, BMP, TGA |
stb_image_resize2 |
resizing, all filters |
stb_truetype |
font metrics, glyphs, text rendering, atlases |
stb_rect_pack |
packing glyphs into an atlas |
What we changed on top, for speed and for a safer, more convenient API:
- Faster encoders.
stb_image_write.hcarries two local patches: a new PNG deflate (4-byte hash chains, lazy matching, dynamic Huffman blocks: within about 1% of zlib level 6 in size at roughly twice its speed) and a faster JPEG encoder (buffered bit writer, vectorisable DCT, SSE2 colour conversion). The other stb headers are byte-for-byte upstream. - SIMD where it pays.
convert,compositeandflattenhave AVX2, baseline SIMD and scalar builds that give identical results; the best one is picked at run time. - No hidden copies. Decoded buffers are adopted, not copied; arrays and DLPack tensors are shared when they can be; Python calls release the GIL.
- zlib as an API. The PNG compressor and stb's inflate are exposed as
zlib_compressandzlib_decompress(any bytes-like object in, bytes out), with a bounded output so a zip bomb is aLimitError. They interoperate with python'szlib. Compression was 1.2x to 1.9x faster than zlib level 6 at 0.4% to 3.3% larger output on our samples; decompression is stb_image's and is not faster than zlib (about 2.5x slower on very compressible text), so use zlib if inflate speed is what you need. - Editing stb does not have. Crop, pad, flips, rotation, thumbnail, channel conversion, alpha compositing, EXIF orientation, resize filters by name, and a font-free text size estimate.
- Safety. Size limits are checked from the header before any pixel memory is allocated,
errors are typed (
stb.ErrorwithDecodeError,EncodeError,LimitError), and EXIF parsing checks every offset. stb_truetype is still not safe on untrusted fonts: load only fonts you trust.
Performance numbers against Pillow and OpenCV, including where libstb is slower (JPEG
encoding is one), are in benchmarks/. They depend on the machine, so
run them on yours.
More
docs/guide.md: the full reference (every call, SIMD, EXIF, DLPack, Pillow, errors, design and source layout).docs/: the Sphinx (Python) and Doxygen (C++) sources of the documentation site.CHANGELOG.md.
Build and test
pip install -r requirements-dev.txt
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
ctest --test-dir build --output-on-failure
Options: STB_BUILD_TESTS, STB_BUILD_PYTHON, STB_BUILD_DOCS. Targets: stb_core,
stb_test, stb_docs, stb_benchmark.
License
MIT for libstb. The vendored stb headers are MIT / public domain (see
src/third_party/README.md).
Metadata
Release files for libstb 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| libstb-0.7.0.tar.gz | 995.8 kB | Without provenance | Details |
Built distributions (wheels)
Total release size: 123.3 MB
Release files / libstb-0.7.0.tar.gz
| Download URL | libstb-0.7.0.tar.gz |
|---|---|
| Size | 995.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e1f946debddc2eb5d3d32445722b187a38fd568006cf657bc8941070eb9cb43
|
|
BLAKE2b-256 checksum How to use checksums |
1fe64270833a91f96a50339b81630a0f2d933cdbcc388167fbe4b34a1513e1db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp312-abi3-win_arm64.whl
| Download URL | libstb-0.7.0-cp312-abi3-win_arm64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.12 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
6e80a0f25ac97e95e96fe7eeb1b2bdce0c4e2ce8cbf2ac3c9f3aa5202c5cbb45
|
|
BLAKE2b-256 checksum How to use checksums |
80ac29ed1241c656277637e6a7efa1e680aad5e52fb887bfd7689bb67a0d4bcc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp312-abi3-win_amd64.whl
| Download URL | libstb-0.7.0-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 6.0 MB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
d0a04593d58ee521f6dfeb6c3dfd5c41c66589f3810616a1c6b56941b834f0eb
|
|
BLAKE2b-256 checksum How to use checksums |
ae485409bd86f9797aa0683ed55d2d951a861027b789ab269c8626eedaa5c576
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp312-abi3-win32.whl
| Download URL | libstb-0.7.0-cp312-abi3-win32.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.12 Windows x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
433aed1bd1ae4feaca9327060d5aa85d233ea603d02115ab012142f41d7ea232
|
|
BLAKE2b-256 checksum How to use checksums |
fe11bca9673b1f51f8b17987fd7b86ace498a77bfcd85b28a93a6153c5c0cbd9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp312-abi3-musllinux_1_2_x86_64.whl
| Download URL | libstb-0.7.0-cp312-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
33babf93fac67dac29f4a8c5ecfe204e191a8b4c54e46f806e049f2782986011
|
|
BLAKE2b-256 checksum How to use checksums |
5c389b3036ad90d7fee36ea5b2858e9b938379ea46ca62987394762316899a54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp312-abi3-musllinux_1_2_aarch64.whl
| Download URL | libstb-0.7.0-cp312-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
f5cffafb2d83835e32d72c5437169c6f694a67dd10a065f6b55d7f9007fda379
|
|
BLAKE2b-256 checksum How to use checksums |
effdb16b733baf660f3d4feaaf11f26754d8d67b4712e079377fb683ead16ebc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | libstb-0.7.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
99d23e52a397914af46a375391d8819e841964a5ccad0ab3d74d91d609f3e904
|
|
BLAKE2b-256 checksum How to use checksums |
6ca468376fbdb0e21c87183064f39a923efb4392f9bf7837e4cd79f70eafd32e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | libstb-0.7.0-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
a4fe10b671b841dc82e8ffc0f2cea43686b81c80694fb749922b881268f7f384
|
|
BLAKE2b-256 checksum How to use checksums |
719ebef9e3e2f3692333a930b0f25c10d641db9bc28227503b3f0f6c85e41978
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp312-abi3-macosx_10_15_universal2.whl
| Download URL | libstb-0.7.0-cp312-abi3-macosx_10_15_universal2.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.12 abi3 macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
b4fbec56931b967cd539460b5103589dc9ae32c34e5f98720b20f31865f8bfc0
|
|
BLAKE2b-256 checksum How to use checksums |
1b114e078156fe4bb9b7bca2fe0886e7bbe62757b5f59d469c98344ce3c472d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp311-cp311-win_arm64.whl
| Download URL | libstb-0.7.0-cp311-cp311-win_arm64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.11 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
a8e82c7eff5350fa4c4d4e647346b5b0eb80e2243be643699561aa1d5c4a3066
|
|
BLAKE2b-256 checksum How to use checksums |
784e320d1b016d72125f2bb7189dbc27cc87a7364927758f06452b6337f18b5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp311-cp311-win_amd64.whl
| Download URL | libstb-0.7.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 6.0 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c0788b4b9a1aaac1aeea17d02abf5719d0261154666fb9911dfe089fea6130e2
|
|
BLAKE2b-256 checksum How to use checksums |
6cfb7cc8b45eab09ef70754333430208102ee0f14b3de900423b7d0db254e7b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp311-cp311-win32.whl
| Download URL | libstb-0.7.0-cp311-cp311-win32.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
73325198cb0fbc95a04eb173350962cfea019a2ae22df11d071156c24af5e3f4
|
|
BLAKE2b-256 checksum How to use checksums |
1506654255dfcfdcc1c31fdf2809f457213467353eeb2b8fffae3d241b9e78e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | libstb-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
5e42bb0a542fb48d004135d82fd122b4806bc176593931f6c62a89fbfc8682df
|
|
BLAKE2b-256 checksum How to use checksums |
4495177b54f92ac48b88b1f87c033d74878817a8fdae3c174a8c2e2c54a1fc96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | libstb-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
aed7a3298a617b63477104ae001009c00f61bed2ae90b6959d7b2e654d592a17
|
|
BLAKE2b-256 checksum How to use checksums |
49a5b02e5cb9a91791394520f6616723f7bc791adeb31bd9c12905b0579bf907
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | libstb-0.7.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a79a214a68e16656910744818807a0203aba09c9b08097a4fb64df989b7c91d4
|
|
BLAKE2b-256 checksum How to use checksums |
7547ad7ffe357c68468cd29453f807085b14e066fa86eea8951a62dc6320e52d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | libstb-0.7.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
80eee7acf8888c11bca6e2ee9b85cecd243bf8733241ca4eacda78f769c96e1b
|
|
BLAKE2b-256 checksum How to use checksums |
7e5f1d3cd1ac068b04186761a4bfc0c787496b67886389f1c3c57f34944fe498
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp311-cp311-macosx_10_15_universal2.whl
| Download URL | libstb-0.7.0-cp311-cp311-macosx_10_15_universal2.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
0eeb9f06ab302382dba44dff7adc5cdbf8b135357bbdc618f797037304b08852
|
|
BLAKE2b-256 checksum How to use checksums |
a750cd91a8c65a0ffea615ea57928cb1defef6b9e109b28e8ef8b3e1468e3981
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp310-cp310-win_arm64.whl
| Download URL | libstb-0.7.0-cp310-cp310-win_arm64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.10 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
223883b6ddeaa53656970cb9e71f92ee18dfb93139180e717cd0b89966edf346
|
|
BLAKE2b-256 checksum How to use checksums |
d5e5fe55117f70a9b544ba702a30566d7ed49409ffd8f012fec215224ed7cdf6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp310-cp310-win_amd64.whl
| Download URL | libstb-0.7.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 6.0 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
09485a8370bd856e6b99ce0438db8d5c8a4f2c715a090734c653fe9a9e088596
|
|
BLAKE2b-256 checksum How to use checksums |
6d50f5a45e8ea1a0f5faaa340498274e95055f785428e044a853809dc5b776e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp310-cp310-win32.whl
| Download URL | libstb-0.7.0-cp310-cp310-win32.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.10 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
9b405701ecbe30e76fbafad3014a02ae0d32c3597a9330ebcf23c0085be35b26
|
|
BLAKE2b-256 checksum How to use checksums |
1e4ee636dc9585a6a2b496489574580d9338953942c2913afd35d704344bbe19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | libstb-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
64e277c11fe704432fb8d15f0653b919e1f070880465fa7ececa512464003bf3
|
|
BLAKE2b-256 checksum How to use checksums |
7a1aa8d88658377ec01ae8452399c54993d9e6831cc6a291b78658b7be132471
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl
| Download URL | libstb-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
c34b4750fd0d593b949de1573ae0cd9ce2e970274d786f86eb07062a29e81a47
|
|
BLAKE2b-256 checksum How to use checksums |
4c79b83ad9ee80ffdee78cfa3cd6eca48aa30488a978631e48590bd4b837cf7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | libstb-0.7.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9fe085da6f8395ad9c6ae614e4fbe4e00b05a1cdeaaa46cbea3b2a48100bc8ad
|
|
BLAKE2b-256 checksum How to use checksums |
22dbaf11e4e8c9c53bc4ff3c4bea7251662412e46cba8a6fcd1d40ff98b6968b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | libstb-0.7.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
5242dbb729ef73bd1959fc05e6e3f1884717ebf0eac9b4b0a81ebb136d962505
|
|
BLAKE2b-256 checksum How to use checksums |
091a78f858c9edae0f67eef53fae78560b05de55e2a71e5805e7e75f566a5a9b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp310-cp310-macosx_10_15_universal2.whl
| Download URL | libstb-0.7.0-cp310-cp310-macosx_10_15_universal2.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
b5be50fd45a4701784c369c6fb0697b8ac2dfc7e41fefbf2b4bb8383daf03050
|
|
BLAKE2b-256 checksum How to use checksums |
6101e52c2225d8b641757c22c9a5c958481adfad45ca82ca45f0863f5484ca29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp39-cp39-win_arm64.whl
| Download URL | libstb-0.7.0-cp39-cp39-win_arm64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.9 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
64648d98fc2eb1941e9f04245f7074a921e0531d42d04cecda1a67fd8e7c96d3
|
|
BLAKE2b-256 checksum How to use checksums |
9ed06ef7c5b1f564d77edeb1e65f1b41c0afe03530350e30117c5141a0244f82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp39-cp39-win_amd64.whl
| Download URL | libstb-0.7.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0838522443bd76c330f2c8e9614699a86ae2b30db64711b82bb7c50d0f2341b1
|
|
BLAKE2b-256 checksum How to use checksums |
f0dcc4d8120a062ca16f44905acb2fe4cdeb5ac47f69c27889884546e4ac793e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp39-cp39-win32.whl
| Download URL | libstb-0.7.0-cp39-cp39-win32.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.9 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
94a994c3f4f3ddf096c3ca635c3d733d3b0d7fade3cd0e56dbf44b8e4595a460
|
|
BLAKE2b-256 checksum How to use checksums |
57d3e9617582061fe4016f523914a89c1df2c51b63db2bddd6441d163e520594
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | libstb-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
fa76cd8e5726fc36fd7047f8360fb6c854abd49708254cf35a05b8f1f66b4788
|
|
BLAKE2b-256 checksum How to use checksums |
0b293fd9747ad5462dca415e567886ab8260acdea46a2e42b68b3c65a3768ce8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp39-cp39-musllinux_1_2_aarch64.whl
| Download URL | libstb-0.7.0-cp39-cp39-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.9 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
f1aa23d336f7a06546cdb291b7e308ede38c8056d89dc5390360f3b3b3dea724
|
|
BLAKE2b-256 checksum How to use checksums |
444cb30007a678c2d2a1ccd1e19b6fbcd742f1ba4ba6f251d2ff78e0234e6d74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | libstb-0.7.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e09c37abfe240e46454c871e96ae261442f8efe6b3eeb25e0f5c306b7035d6ee
|
|
BLAKE2b-256 checksum How to use checksums |
76c8a686bed811ba82ec1bd98972b48c86a21fda29b2ef0802eb011a804aa1b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
| Download URL | libstb-0.7.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.9 Linux glibc 2.27+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
713de88ed6273ae6fbdecbf49fdc560f6ab2325c05d2e19f6bfc23e1dbe5b48f
|
|
BLAKE2b-256 checksum How to use checksums |
046b5e4a7484f6d9b5d89905d5a68a65634e0f83c9cdb20dd8c46156611bac84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / libstb-0.7.0-cp39-cp39-macosx_10_15_universal2.whl
| Download URL | libstb-0.7.0-cp39-cp39-macosx_10_15_universal2.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.9 macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
d69f2a443bf452698150b207fe05b172544ce6e091740a38d097f64d73b60650
|
|
BLAKE2b-256 checksum How to use checksums |
474339497aa4f0be5eda4d295e6f56a2872bd1e087aefc5e568ef5267cebe9e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for libstb 0.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.