In-process libmspack bindings for Microsoft CAB, CHM, SZDD, KWAJ, OAB, and HLP LZSS streams
Project description
pylibmspack
pylibmspack provides in-process Python bindings to libmspack for reading and extracting Microsoft CAB, CHM, SZDD, KWAJ, OAB, and HLP LZSS streams.
Install
pip install pylibmspack
Supports Python 3.9+
Development
python -m pip install -e ".[dev]"
ruff check .
ruff format --check .
python scripts/check_c_binding.py
python scripts/check_parser_exposure.py
python -m pytest
The editable install builds the local C extension and uses the vendored libmspack source tarball.
Optional security and native-code checks:
python -m pip install -e ".[dev,security]"
python -m pip_audit --local
python scripts/check_native_static.py
python scripts/fuzz_smoke.py
python scripts/build_libfuzzer.py
python scripts/run_libfuzzer.py --runs 1000
# Linux/CI only, where Atheris wheels are available:
python -m pip install -e ".[fuzz]"
python scripts/run_atheris.py --exercise-disk --runs 1000
check_native_static.py runs cppcheck and clang-tidy when those tools are
installed. CI also runs CodeQL, dependency review, OpenSSF Scorecard, and
ASan/UBSan smoke tests. check_parser_exposure.py asserts that each parser is
covered by Python wrappers, byte-backed and disk-backed fuzz smoke paths, native
fuzz targets, seed corpus routing, and binding hardening checks. The Atheris
harness fuzzes the public Python APIs, while the libFuzzer harnesses compile the
vendored libmspack sources into standalone per-format fuzz targets. On macOS,
install Homebrew LLVM and put
/usr/local/opt/llvm/bin or /opt/homebrew/opt/llvm/bin on PATH if
build_libfuzzer.py cannot find a libFuzzer-capable clang. The libFuzzer
build defaults to AddressSanitizer; pass --sanitizers address,undefined when
you want a UBSan campaign. Atheris currently runs in the Ubuntu CI job via the
Linux PyPI wheels; macOS local Atheris runs may require a separate upstream
installation path.
For longer local fuzzing campaigns, keep the corpus and crash artifacts between runs:
python scripts/run_atheris.py \
--corpus-root build/fuzz-corpus/atheris \
--artifact-dir build/fuzz-artifacts/atheris \
--exercise-disk \
--runs 100000
python scripts/build_libfuzzer.py --out-dir build/libfuzzer
python scripts/run_libfuzzer.py \
--fuzzers-dir build/libfuzzer \
--corpus-root build/fuzz-corpus/libfuzzer \
--artifact-dir build/fuzz-artifacts/libfuzzer \
--runs 100000 \
--value-profile
Both runners accept --target repeatedly to focus one or more formats, and pass
extra fuzzer flags after --. For example:
python scripts/run_libfuzzer.py --target cab --runs 0 --max-total-time 3600 -- -print_pcs=1
The repository also includes per-format dictionaries in fuzz/dictionaries/.
The Docker fuzz check runs both Atheris and libFuzzer inside Linux:
docker build -f fuzz/Dockerfile -t pylibmspack-fuzz-check .
Because this package is intended to process broadly untrusted files, the repository also includes self-contained ClusterFuzzLite integration for GitHub CI. This does not require enrolling the project in external OSS-Fuzz service; the OSS-Fuzz-compatible builder image is used only as a standard way to compile and run the native libFuzzer targets:
.clusterfuzzlite/builds the native fuzz targets with the ClusterFuzzLite toolchain.cflite_pr.ymlfuzzes pull requests for 10 minutes.cflite_batch.ymlruns a weekly one-hour batch campaign.cflite_cron.ymlperforms scheduled corpus pruning.
Optional compatibility check from a local oss-fuzz checkout:
python infra/helper.py build_image --external /path/to/pylibmspack
python infra/helper.py build_fuzzers --external /path/to/pylibmspack --sanitizer address
python infra/helper.py check_build --external /path/to/pylibmspack --sanitizer address
Usage
from pylibmspack import CabArchive
cab = CabArchive("example.cab")
print(cab.files())
print(cab.read("hello.txt"))
cab.extract("hello.txt", "./out")
cab.extract_all("./out")
In-memory usage
from pylibmspack import CabArchive
data = open("example.cab", "rb").read()
cab = CabArchive.from_bytes(data)
info = cab.info()
print(info["files_count"], info["flags"])
payload = cab.read("hello.txt")
Safe vs raw extraction
from pylibmspack import CabArchive, CabPathTraversalError
cab = CabArchive("example.cab")
try:
cab.extract_all("./out", safe=True)
except CabPathTraversalError as exc:
print("Blocked unsafe path:", exc)
# Raw extraction (no safety checks)
cab.extract_all_raw("./out-raw")
CHM extraction
from pylibmspack import ChmArchive
chm = ChmArchive("manual.chm")
print(chm.info())
print(chm.files())
data = chm.read("index.html")
chm.extract_all("./chm-out")
CHM from bytes
from pylibmspack import ChmArchive
data = open("manual.chm", "rb").read()
chm = ChmArchive.from_bytes(data)
print(chm.files())
SZDD extraction
from pylibmspack import SzddFile
szdd = SzddFile("readme.tx_")
print(szdd.info())
payload = szdd.read()
szdd.extract("./out")
SZDD from bytes
from pylibmspack import SzddFile
data = open("readme.tx_", "rb").read()
szdd = SzddFile.from_bytes(data, name="readme.tx_")
print(szdd.info())
KWAJ extraction
from pylibmspack import KwajFile
kwj = KwajFile("setup.kwj")
print(kwj.info())
data = kwj.read()
kwj.extract("./out")
KWAJ from bytes
from pylibmspack import KwajFile
data = open("setup.kwj", "rb").read()
kwj = KwajFile.from_bytes(data, name="setup.kwj")
print(kwj.info())
HLP LZSS stream extraction
from pylibmspack import HlpFile
hlp = HlpFile("compressed-help-stream.hlp")
data = hlp.read()
hlp.extract("./out", out_name="help-stream.bin")
The bundled libmspack source exposes the Microsoft Help LZSS codec, but does
not implement a full WinHelp .hlp container and topic parser.
OAB extraction
from pylibmspack import OabFile, OabPatch
oab = OabFile("full-download.lzx")
data = oab.read()
oab.extract("./out", out_name="address-book.oab")
patch = OabPatch("incremental-patch.lzx")
patch.apply("address-book.oab", "./out", out_name="address-book-new.oab")
OAB .lzx files are Exchange Offline Address Book payloads that use LZX
compression; this is not a generic LZX archive interface.
Multi-cabinet sets
from pylibmspack import CabArchive
cab = CabArchive("part1.cab")
info = cab.info()
if info["has_next"]:
print("Next cabinet:", info["next_cabinet"])
print("Disk label:", info["next_disk"])
FAQ / troubleshooting
Why do I get CabPathTraversalError?
The archive contains absolute paths or .. segments. Use safe=False only if you trust the archive contents.
Can I read from bytes instead of a file path?
Yes. Use CabArchive.from_bytes(data) and then call files(), read(), or info().
Why does extraction fail with CabDecompressionError?
The CAB may be corrupt, truncated, or uses an unsupported compression method.
API reference
CabArchive(path: str)
Open a CAB archive on disk.
CabArchive.files() -> list[CabFileInfo]
Return metadata for each member as a CabFileInfo TypedDict. Each entry includes:
name(str)size(int)dos_date(int)dos_time(int)date_y/date_m/date_d(int)time_h/time_m/time_s(int)datetime_utc(str, ISO 8601)attrs(int)is_readonly/is_hidden/is_system/is_archive(bool)folder_index(int)offset(int)compression(str:none,mszip,quantum,lzx)has_prev/has_next(bool)prev_cabinet/next_cabinet(str | None)cabinet_set_id/cabinet_set_index(int | None)
CabArchive.read(name: str, , max_size: int = 2561024*1024) -> bytes
Extract a member and return its bytes. Enforces a max_size limit and uses safe path validation.
CabArchive.extract(name: str, dest_dir: str, , safe: bool = True, max_size: int = 2561024*1024) -> str
Extract a member to disk and return the output path. When safe=True, absolute paths and traversal are rejected. max_size is enforced while decompressed bytes are written.
CabArchive.extract_all(dest_dir: str, , safe: bool = True, max_size: int = 25610241024, max_total_size: int = 10241024*1024, max_files: int = 10000) -> list[str]
Extract all members to disk and return output paths. max_size is enforced per
member, max_total_size caps total decompressed output, and max_files caps
the number of extracted members.
CabArchive.extract_raw(name: str, dest_dir: str, , max_size: int = 2561024*1024) -> str
Extract a member using the raw path (no safety checks).
CabArchive.extract_all_raw(dest_dir: str, , max_size: int = 25610241024, max_total_size: int = 10241024*1024, max_files: int = 10000) -> list[str]
Extract all members using raw paths (no safety checks).
CabArchive.from_bytes(data: bytes) -> CabArchive
Create an archive backed by in-memory bytes instead of a file path.
CabArchive.info() -> CabInfo
Return parsed CAB header metadata. The CabInfo dict includes:
filename(str | None)base_offset(int)length(int)set_id(int)set_index(int)header_resv(int)flags(int)has_prev/has_next(bool)prev_cabinet/next_cabinet(str | None)prev_disk/next_disk(str | None)files_count(int)folders_count(int)
ChmArchive(path: str)
Open a CHM archive on disk.
ChmArchive.files(*, include_system: bool = True) -> list[ChmFileInfo]
Return metadata for each member as a ChmFileInfo TypedDict. Each entry includes:
name(str)size(int)offset(int)section_id(int)section(str:uncompressed,mscompressed,unknown)is_system(bool)
ChmArchive.read(name: str, , max_size: int = 2561024*1024) -> bytes
Extract a member and return its bytes.
ChmArchive.extract(name: str, dest_dir: str, , safe: bool = True, max_size: int = 2561024*1024) -> str
Extract a member to disk and return the output path. max_size is enforced while decompressed bytes are written.
ChmArchive.extract_all(dest_dir: str, , safe: bool = True, include_system: bool = True, max_size: int = 25610241024, max_total_size: int = 10241024*1024, max_files: int = 10000) -> list[str]
Extract all members to disk and return output paths. max_size is enforced per
member, max_total_size caps total decompressed output, and max_files caps
the number of extracted members.
ChmArchive.extract_raw(name: str, dest_dir: str, , max_size: int = 2561024*1024) -> str
Extract a member using the raw path (no safety checks).
ChmArchive.extract_all_raw(dest_dir: str, , include_system: bool = True, max_size: int = 25610241024, max_total_size: int = 10241024*1024, max_files: int = 10000) -> list[str]
Extract all members using raw paths (no safety checks).
ChmArchive.info() -> ChmInfo
Return parsed CHM header metadata. The ChmInfo dict includes:
filename(str | None)length(int)version(int)timestamp(int)language(int)dir_offset(int)num_chunks(int)chunk_size(int)density(int)depth(int)index_root(int)first_pmgl(int)last_pmgl(int)files_count(int)sysfiles_count(int)
ChmArchive.from_bytes(data: bytes) -> ChmArchive
Create an archive backed by in-memory bytes instead of a file path.
SzddFile(path: str)
Open a SZDD-compressed file on disk.
SzddFile.info() -> SzddInfo
Return parsed SZDD header metadata. The SzddInfo dict includes:
format_id(int)format(str:normal,qbasic,unknown)length(int)missing_char(int)missing_char_str(str)suggested_name(str)
SzddFile.read(, max_size: int = 2561024*1024) -> bytes
Decompress and return the file contents.
SzddFile.extract(dest_dir: str, , safe: bool = True, out_name: str | None = None, max_size: int = 2561024*1024) -> str
Decompress to disk and return the output path. max_size is enforced while decompressed bytes are written.
SzddFile.extract_raw(dest_dir: str, , out_name: str | None = None, max_size: int = 2561024*1024) -> str
Decompress using raw (unsafe) path handling.
SzddFile.from_bytes(data: bytes, *, name: str = "memory.sz_") -> SzddFile
Create a SZDD reader backed by in-memory bytes.
KwajFile(path: str)
Open a KWAJ-compressed file on disk.
KwajFile.info() -> KwajInfo
Return parsed KWAJ header metadata. The KwajInfo dict includes:
comp_type(int)compression(str:none,xor,szdd,lzh,mszip,unknown)data_offset(int)headers(int)length(int)filename(str | None)extra_length(int)extra(bytes | None)has_length/has_filename/has_fileext/has_extra(bool)
KwajFile.read(, max_size: int = 2561024*1024) -> bytes
Decompress and return the file contents.
KwajFile.extract(dest_dir: str, , safe: bool = True, out_name: str | None = None, max_size: int = 2561024*1024) -> str
Decompress to disk and return the output path. max_size is enforced while decompressed bytes are written.
KwajFile.extract_raw(dest_dir: str, , out_name: str | None = None, max_size: int = 2561024*1024) -> str
Decompress using raw (unsafe) path handling.
KwajFile.from_bytes(data: bytes, *, name: str = "memory.kwj") -> KwajFile
Create a KWAJ reader backed by in-memory bytes.
HlpFile(path: str)
Open a raw Microsoft Help LZSS-compressed stream on disk.
The bundled libmspack source exposes the Microsoft Help LZSS codec, but not a
full WinHelp .hlp container/topic parser.
HlpFile.suggested_name() -> str
Return the default output filename.
HlpFile.read(, max_size: int = 2561024*1024) -> bytes
Decompress and return the stream contents.
HlpFile.extract(dest_dir: str, , safe: bool = True, out_name: str | None = None, max_size: int = 2561024*1024) -> str
Decompress to disk and return the output path. max_size is enforced while decompressed bytes are written.
HlpFile.extract_raw(dest_dir: str, , out_name: str | None = None, max_size: int = 2561024*1024) -> str
Decompress using raw (unsafe) path handling.
HlpFile.from_bytes(data: bytes, *, name: str = "memory.hlp") -> HlpFile
Create an HLP stream reader backed by in-memory bytes.
OabFile(path: str)
Open an Exchange Offline Address Book .LZX full-download file on disk.
OabFile.suggested_name() -> str
Return the default output filename. .lzx inputs default to a .oab output name.
OabFile.read(, max_size: int = 2561024*1024, decompbuf: int = 4096) -> bytes
Decompress a full OAB .LZX file and return its bytes.
OabFile.extract(dest_dir: str, , safe: bool = True, out_name: str | None = None, decompbuf: int = 4096, max_size: int = 2561024*1024) -> str
Decompress a full OAB .LZX file to disk and return the output path. max_size is enforced while decompressed bytes are written.
OabFile.extract_raw(dest_dir: str, , out_name: str | None = None, decompbuf: int = 4096, max_size: int = 2561024*1024) -> str
Decompress using raw (unsafe) path handling.
OabFile.from_bytes(data: bytes, *, name: str = "memory.lzx") -> OabFile
Create an OAB reader backed by in-memory bytes.
OabPatch(path: str)
Open an Exchange Offline Address Book .LZX incremental patch file on disk.
OabPatch.suggested_name() -> str
Return the default patched output filename.
OabPatch.read(base: str | bytes, , max_size: int = 2561024*1024, decompbuf: int = 4096) -> bytes
Apply this incremental patch to a base OAB and return patched bytes.
OabPatch.apply(base: str | bytes, dest_dir: str, , safe: bool = True, out_name: str | None = None, decompbuf: int = 4096, max_size: int = 2561024*1024) -> str
Apply this incremental patch to a base OAB and return the output path. max_size is enforced while patched bytes are written.
OabPatch.apply_raw(base: str | bytes, dest_dir: str, , out_name: str | None = None, decompbuf: int = 4096, max_size: int = 2561024*1024) -> str
Apply this patch using raw (unsafe) path handling.
OabPatch.from_bytes(data: bytes, *, name: str = "memory.lzx") -> OabPatch
Create an OAB incremental patch reader backed by in-memory bytes.
Exceptions
All errors derive from MspackError:
MspackErrorMspackFormatErrorMspackDecompressionErrorMspackPathTraversalErrorCabError/CabFormatError/CabDecompressionError/CabPathTraversalErrorChmError/ChmFormatError/ChmDecompressionError/ChmPathTraversalErrorSzddError/SzddFormatError/SzddDecompressionError/SzddPathTraversalErrorKwajError/KwajFormatError/KwajDecompressionError/KwajPathTraversalErrorHlpError/HlpFormatError/HlpDecompressionError/HlpPathTraversalErrorOabError/OabFormatError/OabDecompressionError/OabPathTraversalError
Safe extraction
By default, extract() and extract_all() reject:
- absolute paths (
/,\, drive letters, UNC paths) - path traversal (
..after normalization) - mixed or odd separators (
/and\are normalized) - symlinked destination directories, parent directories, and output files
CAB and CHM extract_all() also cap archive-wide expansion with
max_total_size and max_files. Use safe=False only for trusted inputs when
you need to preserve original paths or write through existing filesystem
layout.
Build from source
This project uses setuptools and builds a shared libmspack that is bundled into wheels. A pinned libmspack source tarball is included under pylibmspack/vendor/ and used for offline builds (SHA-256 verified).
python -m pip install -U pip setuptools wheel
python -m pip install -e .
If you want to supply a local tarball, pass --tarball to scripts/build_libmspack.py. To allow a network download during builds, set PYLIBMSPACK_ALLOW_DOWNLOAD=1 (disabled by default).
CHM test fixture
The CHM tests use the redistributable fixture at tests/fixtures/sample.chm
(NSIS documentation under the zlib/libpng license).
Licensing
- pylibmspack code is MIT licensed.
- Wheels bundle libmspack under LGPL-2.1. The corresponding libmspack source tarball is included under
pylibmspack/vendor/. You may replace the shared library insidepylibmspack/.libswith a compatible build.
See THIRD_PARTY_LICENSES/LGPL-2.1.txt and NOTICE for details.
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pylibmspack-0.4.0.tar.gz.
File metadata
- Download URL: pylibmspack-0.4.0.tar.gz
- Upload date:
- Size: 979.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c926fc1729056e94cad98117991b442a4ad25cebb03f9b28914b77cdfda93ec
|
|
| MD5 |
616dae28704267a9568ef54459eac1ec
|
|
| BLAKE2b-256 |
6775e9f0f5a96f70224229c912425fc254a49b3b713314045a869c29a8d20303
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0.tar.gz:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0.tar.gz -
Subject digest:
2c926fc1729056e94cad98117991b442a4ad25cebb03f9b28914b77cdfda93ec - Sigstore transparency entry: 2195711869
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp313-cp313-win_arm64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp313-cp313-win_arm64.whl
- Upload date:
- Size: 605.3 kB
- Tags: CPython 3.13, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40d35952a586693d8d6780cda2d5ae57df14c91c511d1e746d822f45adfffb0e
|
|
| MD5 |
64cd03db614f07ba6d7280bfe18af101
|
|
| BLAKE2b-256 |
306ba86eb08087581ccf2903ebcd4d277d1074aa6b6f9a46d49091bcfec616aa
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp313-cp313-win_arm64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp313-cp313-win_arm64.whl -
Subject digest:
40d35952a586693d8d6780cda2d5ae57df14c91c511d1e746d822f45adfffb0e - Sigstore transparency entry: 2195711969
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 610.0 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ff26d82080e1c2eea7059b39f55a33a4a704f972f6370eb69bb387dd472fd44
|
|
| MD5 |
95e1180563ac9cc8da7350ea4c838cce
|
|
| BLAKE2b-256 |
3ffee29a0ab269731277f8db199485c946e52dd44c89847a60456fabc99dcd24
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp313-cp313-win_amd64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp313-cp313-win_amd64.whl -
Subject digest:
5ff26d82080e1c2eea7059b39f55a33a4a704f972f6370eb69bb387dd472fd44 - Sigstore transparency entry: 2195711897
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 687.6 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2aae55ceced3e3d3c0401f7c4d4cb272f49436b583f415b3b126087741a3fff1
|
|
| MD5 |
164b5be1f32b3b1bc7a37b3dea535f7f
|
|
| BLAKE2b-256 |
9091570bc15b126521c051437b7e7ff559cc192b74886dbc716fddaaa9aea473
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
2aae55ceced3e3d3c0401f7c4d4cb272f49436b583f415b3b126087741a3fff1 - Sigstore transparency entry: 2195711958
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 684.5 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de7719bcc1bcbe5cefdba375fb76f2974e7fbc49cad50a8fd64be327f3faa9f4
|
|
| MD5 |
b30efd02233d01761845e936e48a1666
|
|
| BLAKE2b-256 |
c3c25a66fb9e6f54d99be729def8929517e8ad2a9cfc5a8094c320739924d405
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
de7719bcc1bcbe5cefdba375fb76f2974e7fbc49cad50a8fd64be327f3faa9f4 - Sigstore transparency entry: 2195711940
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp313-cp313-macosx_11_0_universal2.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp313-cp313-macosx_11_0_universal2.whl
- Upload date:
- Size: 830.7 kB
- Tags: CPython 3.13, macOS 11.0+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b69c5e7c1c15fa7fa60dac3025ec33f51b3505d5fd05b44fbe9c085b430a5a6
|
|
| MD5 |
2ff608d74415dc0bc876fb31b841c901
|
|
| BLAKE2b-256 |
67edc50f883adb221f918e27dcb22c7089053d1faddc5bd848e32c0dca4aa815
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp313-cp313-macosx_11_0_universal2.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp313-cp313-macosx_11_0_universal2.whl -
Subject digest:
9b69c5e7c1c15fa7fa60dac3025ec33f51b3505d5fd05b44fbe9c085b430a5a6 - Sigstore transparency entry: 2195711991
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp312-cp312-win_arm64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp312-cp312-win_arm64.whl
- Upload date:
- Size: 605.3 kB
- Tags: CPython 3.12, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f3a32a96ba92763af69c9e19512b38819dc4c9a108798fcdf73d492eaee1bd6
|
|
| MD5 |
9ac9a748b4473cc2e6b185537b9f3971
|
|
| BLAKE2b-256 |
5f71169504c8a7ed74cb1bdcf68303666bf49855560867c3576887306879cb46
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp312-cp312-win_arm64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp312-cp312-win_arm64.whl -
Subject digest:
4f3a32a96ba92763af69c9e19512b38819dc4c9a108798fcdf73d492eaee1bd6 - Sigstore transparency entry: 2195711907
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 610.0 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85b27b556da62ed6a3d91204b3018dbf8cffa80abb83b1a148153a9b3b67a465
|
|
| MD5 |
cd3585af25c18f96395c25b739addd0e
|
|
| BLAKE2b-256 |
ca617f86484a2d00235e67af9282203be57278c356a4669bde24e5604494e026
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp312-cp312-win_amd64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp312-cp312-win_amd64.whl -
Subject digest:
85b27b556da62ed6a3d91204b3018dbf8cffa80abb83b1a148153a9b3b67a465 - Sigstore transparency entry: 2195711995
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 687.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
253b8fa888f66f459b1092c253cae1bc8d0bf83c7f5e5f027ccd3b44f9e6b10f
|
|
| MD5 |
d48449807245dbd1931b5eea132ae5c8
|
|
| BLAKE2b-256 |
dcbcf76856ccc3ed60a7937faa2f2f36118f0f68a60fc29fef1a7b59e5cc73bd
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
253b8fa888f66f459b1092c253cae1bc8d0bf83c7f5e5f027ccd3b44f9e6b10f - Sigstore transparency entry: 2195711910
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 684.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c08dac76f1445d0d641ef3b5c179abebcc17df504f382a6ed07751d5cbb48e4b
|
|
| MD5 |
d0db126e9b1a628250799e377fcb2394
|
|
| BLAKE2b-256 |
0925fcfcc9e6b00bf9619c196c60a0e0254e90449ec61abe64d631bbe6e42ab1
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
c08dac76f1445d0d641ef3b5c179abebcc17df504f382a6ed07751d5cbb48e4b - Sigstore transparency entry: 2195711986
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp312-cp312-macosx_11_0_universal2.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp312-cp312-macosx_11_0_universal2.whl
- Upload date:
- Size: 830.7 kB
- Tags: CPython 3.12, macOS 11.0+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c63b932cea48932848168d51a591672f4795b34aac032aaf9d29d98bf9bbe9bd
|
|
| MD5 |
76c7edb5d828a072255d96caf5441ba2
|
|
| BLAKE2b-256 |
dd5eb3a421549cd488e989292822f7a974e113918bf5c08de298f5295167ea6c
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp312-cp312-macosx_11_0_universal2.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp312-cp312-macosx_11_0_universal2.whl -
Subject digest:
c63b932cea48932848168d51a591672f4795b34aac032aaf9d29d98bf9bbe9bd - Sigstore transparency entry: 2195711950
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp311-cp311-win_arm64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp311-cp311-win_arm64.whl
- Upload date:
- Size: 605.2 kB
- Tags: CPython 3.11, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb23ee261c503a0fcbf261e0501da4a62e2ee8b7e7d964536645d0f90f20f162
|
|
| MD5 |
0686dcaaf3dd98e08ae01861e8f823ce
|
|
| BLAKE2b-256 |
995649645cc7e3b4f4d4dc434ba540810e379efec99f811f25955bedef5dd02a
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp311-cp311-win_arm64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp311-cp311-win_arm64.whl -
Subject digest:
cb23ee261c503a0fcbf261e0501da4a62e2ee8b7e7d964536645d0f90f20f162 - Sigstore transparency entry: 2195712000
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 609.8 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d96292b7f5cc41a32105510561cb12cae7a3863aad7987f4017fd75a76f035ba
|
|
| MD5 |
a72c111c79a57f84663015ca1db45fec
|
|
| BLAKE2b-256 |
c1d731b16dcbb8733d626950a2d90738a03c31bedb53114b55626bc0d2976542
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp311-cp311-win_amd64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp311-cp311-win_amd64.whl -
Subject digest:
d96292b7f5cc41a32105510561cb12cae7a3863aad7987f4017fd75a76f035ba - Sigstore transparency entry: 2195711892
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 681.3 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13d441257099232bf14d8d221ea4dc9ee53d19ce08fd46fb0f56f0a78b3dc83c
|
|
| MD5 |
031e1cd853c34ca3a117f25e39d68d0e
|
|
| BLAKE2b-256 |
a43df46ff9aca20428953b034984be3f1461b6aa51999a5fb8dddb6f046c0d49
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
13d441257099232bf14d8d221ea4dc9ee53d19ce08fd46fb0f56f0a78b3dc83c - Sigstore transparency entry: 2195711938
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 678.8 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5842134081bb8125ebae6535b5168b506c5f726e2149f056a399fce390ae498b
|
|
| MD5 |
70b73a5579ce7b94b0140170e4646e31
|
|
| BLAKE2b-256 |
9221b425f08754e6c3c6a4a8a25c5687e45247a874e2f40d9ffc87ccb4aaced6
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
5842134081bb8125ebae6535b5168b506c5f726e2149f056a399fce390ae498b - Sigstore transparency entry: 2195711878
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp311-cp311-macosx_11_0_universal2.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp311-cp311-macosx_11_0_universal2.whl
- Upload date:
- Size: 830.0 kB
- Tags: CPython 3.11, macOS 11.0+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33d136ecadfb6231b41578f5b45ffb54b679c4ee1c2e869083d49a3dcbe42397
|
|
| MD5 |
29ec285735a2f70fb1a058dbd55a681b
|
|
| BLAKE2b-256 |
8105599984f3124def00b0a41407a8036a8fd3ef34b4f55c7def1fd487d00ed6
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp311-cp311-macosx_11_0_universal2.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp311-cp311-macosx_11_0_universal2.whl -
Subject digest:
33d136ecadfb6231b41578f5b45ffb54b679c4ee1c2e869083d49a3dcbe42397 - Sigstore transparency entry: 2195711965
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp310-cp310-win_arm64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp310-cp310-win_arm64.whl
- Upload date:
- Size: 605.2 kB
- Tags: CPython 3.10, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27d043fc4880781ff868babf62c7e4adf3a3e5f7869da89abea191b3904ef6d2
|
|
| MD5 |
eb0973199f3432b1d379f8d27f7de208
|
|
| BLAKE2b-256 |
adb001cc0dda60240108e3f89db233937d690f1a7aa10e9bb653899754340067
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp310-cp310-win_arm64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp310-cp310-win_arm64.whl -
Subject digest:
27d043fc4880781ff868babf62c7e4adf3a3e5f7869da89abea191b3904ef6d2 - Sigstore transparency entry: 2195711904
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 609.8 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9db4b7f9626558b94a6800f4d4cc6dc7f0824d5f1395252fb57427a1fa6ff31c
|
|
| MD5 |
f23cef679799f9732f3dd9c5f0b2c39b
|
|
| BLAKE2b-256 |
bb826aca4d466c7ff52a2941ed4010348866a79876238f27ee3147d833f4a5b2
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp310-cp310-win_amd64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp310-cp310-win_amd64.whl -
Subject digest:
9db4b7f9626558b94a6800f4d4cc6dc7f0824d5f1395252fb57427a1fa6ff31c - Sigstore transparency entry: 2195711982
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 680.3 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a315ad2f76a6fe4f472da1d077f7889499097430fe2008bebd6716cab9594e13
|
|
| MD5 |
252caca3a3199fc28e05ccfff8d22ee6
|
|
| BLAKE2b-256 |
089bad180de826ce41371295e04e745b5386eedeb1466f9b206a492299ef0391
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
a315ad2f76a6fe4f472da1d077f7889499097430fe2008bebd6716cab9594e13 - Sigstore transparency entry: 2195711992
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 678.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
653c2cc7f9702086819d84dfab3266783cebc78c222e5e9413e8238c58f42220
|
|
| MD5 |
5145009b855d7a4b420b3266f469f068
|
|
| BLAKE2b-256 |
2d56d68d7f3246c9b0ff4fec6c4fb7b574ed0f0a2a770248dccf511e6e29fbed
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
653c2cc7f9702086819d84dfab3266783cebc78c222e5e9413e8238c58f42220 - Sigstore transparency entry: 2195711889
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp310-cp310-macosx_11_0_universal2.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp310-cp310-macosx_11_0_universal2.whl
- Upload date:
- Size: 830.0 kB
- Tags: CPython 3.10, macOS 11.0+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc61da2a30287ce45d7f043c679014ae4942276f0c9cd0dac34d76d65b9e1c4b
|
|
| MD5 |
1c8b5cc20927744b0939f5d276e47ce9
|
|
| BLAKE2b-256 |
3bca62763a024a6b0d2c32c658cba1e886f2e0a12bb355c01b7ccd2e35b8b6be
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp310-cp310-macosx_11_0_universal2.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp310-cp310-macosx_11_0_universal2.whl -
Subject digest:
cc61da2a30287ce45d7f043c679014ae4942276f0c9cd0dac34d76d65b9e1c4b - Sigstore transparency entry: 2195711884
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp39-cp39-win_arm64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp39-cp39-win_arm64.whl
- Upload date:
- Size: 605.2 kB
- Tags: CPython 3.9, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2f26ec0c0a07ab5d6bf7ce248c21ab5ecbb7f225dede4fa183ad6527fb74ec3
|
|
| MD5 |
c4a291b309a3cc981fd63e18bba9a48e
|
|
| BLAKE2b-256 |
cbf9b69a2c7ae31be4f8df5cabe934c708570675727e89831f5c34b56b2d6b56
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp39-cp39-win_arm64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp39-cp39-win_arm64.whl -
Subject digest:
e2f26ec0c0a07ab5d6bf7ce248c21ab5ecbb7f225dede4fa183ad6527fb74ec3 - Sigstore transparency entry: 2195711944
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 609.9 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71e108eaec294de985806be9d46680c9efa5ebe094b77812eee0b7a792d36706
|
|
| MD5 |
07765a93639859c6ac97953140b7ac52
|
|
| BLAKE2b-256 |
f5fed06690fa001e159937e2840618390e3e41b11f3dc9f860ab308851255c90
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp39-cp39-win_amd64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp39-cp39-win_amd64.whl -
Subject digest:
71e108eaec294de985806be9d46680c9efa5ebe094b77812eee0b7a792d36706 - Sigstore transparency entry: 2195711921
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 680.0 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b61d063bbfa0e26610a9d369caf6b8526e8b43b4fb9ae06b8785732ab58b6e8
|
|
| MD5 |
8b94e7b60e42a99bbc53a5378d7eff5e
|
|
| BLAKE2b-256 |
9c89f3f5c501d05695b35e9c001fa5a3040f600d64ce25ded307af25b9cdf5b0
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
0b61d063bbfa0e26610a9d369caf6b8526e8b43b4fb9ae06b8785732ab58b6e8 - Sigstore transparency entry: 2195711976
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 677.8 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
092444b4f6b4953f3931a67b50e0592802c8a492c55bd9a8af3c2fb3ce99583d
|
|
| MD5 |
40919b685f86a9f79218a78046e467e8
|
|
| BLAKE2b-256 |
802dd694b2a0b9512a1e99945e098fdec1ce9c46aa28231d0b1e0599f8f60234
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
092444b4f6b4953f3931a67b50e0592802c8a492c55bd9a8af3c2fb3ce99583d - Sigstore transparency entry: 2195711925
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pylibmspack-0.4.0-cp39-cp39-macosx_11_0_universal2.whl.
File metadata
- Download URL: pylibmspack-0.4.0-cp39-cp39-macosx_11_0_universal2.whl
- Upload date:
- Size: 830.0 kB
- Tags: CPython 3.9, macOS 11.0+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9334e2dd0cd6c411d7846b92559f5ae79bb342204e2a841aa2fb9fe2d2869f4
|
|
| MD5 |
4aeca6a8a985a8eb02524af646d809a6
|
|
| BLAKE2b-256 |
d9e1d72f7e6df88ea9bbeb6b798dbad8b0507c8f3173f3b486ace3210ee62441
|
Provenance
The following attestation bundles were made for pylibmspack-0.4.0-cp39-cp39-macosx_11_0_universal2.whl:
Publisher:
release.yml on bwhitn/pylibmspack
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylibmspack-0.4.0-cp39-cp39-macosx_11_0_universal2.whl -
Subject digest:
a9334e2dd0cd6c411d7846b92559f5ae79bb342204e2a841aa2fb9fe2d2869f4 - Sigstore transparency entry: 2195711933
- Sigstore integration time:
-
Permalink:
bwhitn/pylibmspack@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Branch / Tag:
refs/tags/v0.4.0 - Owner: https://github.com/bwhitn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6abd5acebe8a13d322e5ed1902a2e2c4a7330dd9 -
Trigger Event:
push
-
Statement type: