Skip to main content

SABCTools - C implementations of functions for use within SABnzbd

This module implements the main sets of C implementations that are used within SABnzbd:

  • yEnc decoding and encoding using SIMD routines
  • CRC32 calculations
  • Non-blocking SSL-socket reading
  • Positional file writing
  • Marking files as sparse

Of course, they can also be used in any other application.

yEnc decoding and encoding using SIMD routines

yEnc decoding and encoding performed by using rapidyenc from animetosho, which utilizes x86/ARM/RISC-V SIMD optimised routines if such CPU features are available.

CRC32 calculations

Also from rapidyenc, which uses the crcutil library and a PCLMULQDQ/ARMv8-CRC folding approach for very fast CRC calculations.

See src/rapidyenc/VENDOR.md for the vendored version.

Non-blocking SSL-socket reading

When Python reads data from a non-blocking SSL socket, it is limited to receiving 16K data at once. This module implements a patched version that can read as much data is available at once. For more details, see the cpython pull request.

Positional file writing

sabctools.FileWriter opens a file for writing at absolute offsets, which several threads can do at once without holding a lock:

writer = sabctools.FileWriter(path)
writer.preallocate(size)    # set the length, marking the file sparse where needed
writer.write(data, offset)  # short writes are retried internally
writer.close()              # idempotent, and waits for writes still in flight

It owns its own descriptor, so nothing outside can close it while a write is in progress. On Windows the writes use WriteFile with an OVERLAPPED offset, because os.pwrite is not available there.

sabctools.write_stats(reset=True) returns totals for every write through every FileWriter and zeroes them, so consecutive calls carve the writes into intervals. Without reset it is a plain read of the totals since import — count, bytes, nanos spent inside the write itself, and max_nanos for the slowest one. Only write() is timed, and closing a file does not subtract what it wrote.

The decoder can write into one directly: pass a FileWriter as the sink argument of Decoder.expect(context, sink), and each decoded body is written at the offset given by its yEnc headers rather than returned as a bytearray.

Marking files as sparse

Uses Windows specific system calls to mark files as sparse and set the desired size. On other platforms the same is achieved by calling truncate. Superseded by FileWriter.preallocate, but kept for existing callers.

Utility functions

Use sabctools.bytearray_malloc(size) to get an bytearray that is uninitialized (not set to 0's). This is much faster than the built-in bytearray(size) because the data inside the new bytearray will be whatever is present in the memory block.

Use sabctools.rarfile_rar3_s2k as a native replacement for rarfile via rarfile.rar3_s2k = sabctools.rarfile_rar3_s2k.
It provides a significant speed increase for decrypting RAR4 headers when the password length exceeds 28 characters.

Installing

As simple as running:

pip install sabctools --upgrade

When you want to compile from sources, you can run in the sabctools directory:

pip install .

SIMD detection

To see which SIMD set was detected on your system, run:

python -c "import sabctools; print(sabctools.simd);"

The CRC32 routines are selected independently of the yEnc ones, so they can report a different set:

python -c "import sabctools; print(sabctools.crc_simd);"

Either is empty when no accelerated implementation was available for this CPU and a generic one is in use.

OpenSSL detection

To see if we could link to OpenSSL library on your system, run:

python -c "import sabctools; print(sabctools.openssl_linked);"

Testing

For testing we use pytest (install via pip install --group test) and test can simply be executed by browsing to the sabctools directory and running:

pytest

Note that tests can fail if git modified the line endings of data files when checking out the repository!

Metadata

Release files for sabctools 9.7.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sabctools 9.7.3
File Size Uploaded Provenance Actions
sabctools-9.7.3.tar.gz 9.5 MB With provenance Details for sabctools-9.7.3.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for sabctools 9.7.3
File Actions
sabctools-9.7.3-cp315-cp315-win_arm64.whl CPython 3.15 CPython 3.15 Windows ARM64 Details for sabctools-9.7.3-cp315-cp315-win_arm64.whl
sabctools-9.7.3-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details for sabctools-9.7.3-cp315-cp315-win_amd64.whl
sabctools-9.7.3-cp315-cp315-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ x86-64 Details for sabctools-9.7.3-cp315-cp315-musllinux_1_2_x86_64.whl
sabctools-9.7.3-cp315-cp315-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ ARM64 Details for sabctools-9.7.3-cp315-cp315-musllinux_1_2_aarch64.whl
sabctools-9.7.3-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for sabctools-9.7.3-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
sabctools-9.7.3-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for sabctools-9.7.3-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
sabctools-9.7.3-cp315-cp315-macosx_10_15_universal2.whl CPython 3.15 CPython 3.15 macOS 10.15+ universal2 (ARM64, x86-64) Details for sabctools-9.7.3-cp315-cp315-macosx_10_15_universal2.whl
sabctools-9.7.3-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for sabctools-9.7.3-cp314-cp314-musllinux_1_2_x86_64.whl
sabctools-9.7.3-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details for sabctools-9.7.3-cp314-cp314-musllinux_1_2_aarch64.whl
sabctools-9.7.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for sabctools-9.7.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
sabctools-9.7.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for sabctools-9.7.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
sabctools-9.7.3-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for sabctools-9.7.3-cp313-cp313-musllinux_1_2_x86_64.whl
sabctools-9.7.3-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details for sabctools-9.7.3-cp313-cp313-musllinux_1_2_aarch64.whl
sabctools-9.7.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for sabctools-9.7.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
sabctools-9.7.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for sabctools-9.7.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
sabctools-9.7.3-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for sabctools-9.7.3-cp312-cp312-musllinux_1_2_x86_64.whl
sabctools-9.7.3-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details for sabctools-9.7.3-cp312-cp312-musllinux_1_2_aarch64.whl
sabctools-9.7.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for sabctools-9.7.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
sabctools-9.7.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for sabctools-9.7.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
sabctools-9.7.3-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for sabctools-9.7.3-cp311-cp311-musllinux_1_2_x86_64.whl
sabctools-9.7.3-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details for sabctools-9.7.3-cp311-cp311-musllinux_1_2_aarch64.whl
sabctools-9.7.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for sabctools-9.7.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
sabctools-9.7.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for sabctools-9.7.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
sabctools-9.7.3-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for sabctools-9.7.3-cp310-cp310-musllinux_1_2_x86_64.whl
sabctools-9.7.3-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details for sabctools-9.7.3-cp310-cp310-musllinux_1_2_aarch64.whl
sabctools-9.7.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for sabctools-9.7.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
sabctools-9.7.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for sabctools-9.7.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Total release size: 23.6 MB

Release files / sabctools-9.7.3.tar.gz

Download URL sabctools-9.7.3.tar.gz
Size 9.5 MB
Tags Source
SHA-256 checksum
How to use checksums
4a3cb4875afdb300931bc4c6142c71385cc802473c6411b81ea2312fd7d92002
BLAKE2b-256 checksum
How to use checksums
7992f52e2676cc04b353d1662cc74087e8952bdf518cd4a8df60df2eec8e878e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp315-cp315-win_arm64.whl

Download URL sabctools-9.7.3-cp315-cp315-win_arm64.whl
Size 53.2 kB
Tags CPython 3.15 Windows ARM64
SHA-256 checksum
How to use checksums
e27d0581407a52fc2162229642a798d98f753d4d88cb5e816d9cd8c856b3fb8f
BLAKE2b-256 checksum
How to use checksums
6621dff1041ca2e79332df5374bbb137027a9231813d8e55cdd2bf2f88436f53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp315-cp315-win_amd64.whl

Download URL sabctools-9.7.3-cp315-cp315-win_amd64.whl
Size 85.6 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
dcaa2314347435c3de84e949dbf03bfe83593846f9eb0899bffefc1b4890fc12
BLAKE2b-256 checksum
How to use checksums
358f3a356c7eef48d7657bdeeffe2cd8c38b23dede5fb6c854b2f89e527b5d0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp315-cp315-musllinux_1_2_x86_64.whl

Download URL sabctools-9.7.3-cp315-cp315-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.15 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
68a11a900a22264ce10916c7e53470a7bde9633dd9935292ef215b3b384f65ee
BLAKE2b-256 checksum
How to use checksums
5b6a1d5ec22e5d20d6132b46b72712c0d27089bc63133ac9d0cd189627a90b05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp315-cp315-musllinux_1_2_aarch64.whl

Download URL sabctools-9.7.3-cp315-cp315-musllinux_1_2_aarch64.whl
Size 1.0 MB
Tags CPython 3.15 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
5daf9ea239742bb4044059ef755693f9a4096baca6f980ab968204f090e7c924
BLAKE2b-256 checksum
How to use checksums
f968f965c5a3f6dd8132746aeb903161241357cd470ebd2db9ce68de9d5f93c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL sabctools-9.7.3-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 96.2 kB
Tags CPython 3.15 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e861d3ba08bb654a6e9edcb213bd56b4c3b7e1d6e5166f2a1d697b0a761bb0a3
BLAKE2b-256 checksum
How to use checksums
6d3f109bc09c5c8aec6aa332d4a9264cbff4038cc2d90e54fae5205f057914f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL sabctools-9.7.3-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 52.4 kB
Tags CPython 3.15 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
50fcc34767112aa765ff178323c0e9b1d7697d56a1a99ddc55fcd48e2aab8f44
BLAKE2b-256 checksum
How to use checksums
cc6b20c32f94d59999acc089b74b5af7e54788c7d23e2f94b0f6224220df744b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp315-cp315-macosx_10_15_universal2.whl

Download URL sabctools-9.7.3-cp315-cp315-macosx_10_15_universal2.whl
Size 116.2 kB
Tags CPython 3.15 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
c533c372c05809899695e1bbddb1303be51daa653315a08cda4580429887e219
BLAKE2b-256 checksum
How to use checksums
508e109c027a501b06dc48314b41db2ab14ad0569d25ea4f345f659b3b98e689
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL sabctools-9.7.3-cp314-cp314-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4b4f66c89aa795d89398b5c0cb71b2915e6b9a40fc80f70069c24c32eba7f25a
BLAKE2b-256 checksum
How to use checksums
27c8396682d0a6e68ecaa7064cfabbca07f419050e423c873db38249c814ebe5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL sabctools-9.7.3-cp314-cp314-musllinux_1_2_aarch64.whl
Size 1.0 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
9b98477d7f8f4ade19db8523040da2c9681707e2044748e738a01df6797ef2fe
BLAKE2b-256 checksum
How to use checksums
50feea2b9ae9f50018571794c56d96f83ffc0fde33cb3c7a311ff518db320865
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL sabctools-9.7.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 96.2 kB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b52fdd3615ea8bb8b74fafa33c2b5ac210befe886a7a01eedb0d03fa6fd01ac0
BLAKE2b-256 checksum
How to use checksums
47437401f432e9d61985b71dee5b90112efafb2eb54eb3dad151065481cceb8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL sabctools-9.7.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 52.5 kB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3051b713355e48e3eb801b4d338b1c2050d34ec6f3853e3f42d23b225010c9ed
BLAKE2b-256 checksum
How to use checksums
a2b5fa0d337db51ae1326cfd27fa048ffd79e866be7ba03554f7a5453ac16411
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL sabctools-9.7.3-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
caea1eed0535009b50c4eaab1d3172aacd319941b896088ddc1b425500550585
BLAKE2b-256 checksum
How to use checksums
772f7d2644a0901ea858393f2169b142ae8afa8f4c9fd22187ee6b9341702b24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL sabctools-9.7.3-cp313-cp313-musllinux_1_2_aarch64.whl
Size 1.0 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
c348b81f1f50d2374e046a166f8afadd86dfeb8adbe156984fb0b19a53c1c27a
BLAKE2b-256 checksum
How to use checksums
b4a4d289eaa827670f08b4afde2afca66fd045aa97fccf80e21c2bd3c83c5621
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL sabctools-9.7.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 96.2 kB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b327187f7792ee7a0dea7080cfade2306386e1956acb19400b49e43134707e24
BLAKE2b-256 checksum
How to use checksums
37f21420fd1715b599099d7cf4324666a4eb7a2e11c1193546b430acecd93842
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL sabctools-9.7.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 52.4 kB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ac78ac99c47229fff01062eb8a9b88683e4b79a84018cc4ddbdf162da100aab2
BLAKE2b-256 checksum
How to use checksums
dd2553a54b5ec088d4517682c544eff9316554fba68e0651e452515016140ed7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL sabctools-9.7.3-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
057f79cdeb84b51f31a231881e7aade90b0a7e997ee32da581ea4ae6810fbe8c
BLAKE2b-256 checksum
How to use checksums
0e3c5b0503064d6e0cb59aba5618a7aec827f553335f92526a32303f33a5c296
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL sabctools-9.7.3-cp312-cp312-musllinux_1_2_aarch64.whl
Size 1.0 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
943bf359e69a5856d4663a82ccb0fec772b9a343e594bd5e808d32e7478503a4
BLAKE2b-256 checksum
How to use checksums
e250f63397d6985d20ffdbcf4537c1c1bbd9656410023cf5b94eb541055ba4e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL sabctools-9.7.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 96.2 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c3668038f375c60f82c76045b713868cc849a6944f5c9220ab8d5d689cbca9d7
BLAKE2b-256 checksum
How to use checksums
4f7841ff34938a72d21accc99d16997d8e14f85b57572e9a24aa8e25fb8558c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL sabctools-9.7.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 52.4 kB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0d9bc21c29c1f01687614ea580dd8c57fbf8f268bc2fb759b6a103f286b0942d
BLAKE2b-256 checksum
How to use checksums
55a3499c9fc78742bb35d752f9d6cce2f1a7986124f166f73bcb2cee37b17408
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL sabctools-9.7.3-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2079d44051832d9178d5b08f2ae8915e1a1d01f81694d2408669a2b21aa9b507
BLAKE2b-256 checksum
How to use checksums
2d167186f88e9603c0496d0681d213c25b0b9281703b2d5053a8ae6ae0331828
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL sabctools-9.7.3-cp311-cp311-musllinux_1_2_aarch64.whl
Size 1.0 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
ac6614cc1a45f483b6fb55231ff70bcc10875eb9cbaa1e7ab22d49cab5858307
BLAKE2b-256 checksum
How to use checksums
71622bc23b450818bb29e95f8e9db3138a04e93d702cecdbda9976b11ec8047e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL sabctools-9.7.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 96.0 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6ce3bd27a0f58e295d666223f073605b316d910fb9589422ead37758f9af957b
BLAKE2b-256 checksum
How to use checksums
eb712627426f6bcb7a7e8c7154c550ab0d97697eb99fc04d62e8a0266fc28aa0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL sabctools-9.7.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 52.4 kB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
92ac264a6021766a23ff7e66459474ba8bbfb266af3e612ef9dff7316a6107ed
BLAKE2b-256 checksum
How to use checksums
e0b1323449bb074ab96189128468421ae0be4aaba93dd007f9f4e7ea63a2ee90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL sabctools-9.7.3-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
14e6e0075dfba13b746222d71f3ccf7d35a92b508861218d175514c0aec7a79c
BLAKE2b-256 checksum
How to use checksums
2ac315e23e00f75833cea22184a810049527d8c420d21b0a7a01875ac9fe4e2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL sabctools-9.7.3-cp310-cp310-musllinux_1_2_aarch64.whl
Size 1.0 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
2dddb33c84c03334cd6130c5996e87d864a75cfd44adba25679263f033d8d22f
BLAKE2b-256 checksum
How to use checksums
6124817c138acf52798f6720b5dce841e84c3f91fa3c672c448f2ae659c00972
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL sabctools-9.7.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 96.2 kB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
023a91132d7523cfaf56abb3e77ea95232a93da3306f5f90eaab0cbdaacd1e5d
BLAKE2b-256 checksum
How to use checksums
00da00e486cc2b17fcd2cef14bbe29e357c80035f9d41bc5201764291d90609d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / sabctools-9.7.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL sabctools-9.7.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 52.6 kB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
232592ba602cc4d46bdeac179722547492784d4c2267963befd2b03bc5d81bde
BLAKE2b-256 checksum
How to use checksums
f18f4f1737143f106fcc6171bf73b8e036f950022c5ae55e499964fe6ad36c8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Security for sabctools 9.7.3

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.

Full provenance

All 28 files in this release have been uploaded with provenance metadata.

Select from 28 files

Attestation for sabctools-9.7.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

9.7.3 This release

28 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page