Skip to main content

Python bindings for parsing Apple DMG disk images, HFS+/APFS filesystems, PKG installers, and PBZX/CPIO payloads

Project description

dpp

Python bindings for the Apple DMG extraction pipeline

PyPI License: MIT Python Platform

Open macOS .dmg disk images from Python — browse HFS+/APFS filesystems, extract .pkg installers, and unpack payloads.

Native Rust speed — powered by PyO3 bindings to the dpp Rust pipeline.


Why dpp?

dpp is the only Python library that handles the entire Apple package extraction pipeline natively.

Without dpp, extracting files from a macOS .dmg in Python requires shelling out to multiple command-line tools — most of which only work on macOS.

Feature dpp hdiutil + shell dmglib (Python)
Single API ❌ (4+ tools) partial
DMG read/write read only
HFS+ support
APFS support
PKG extraction ✓ (xar)
PBZX/CPIO ✓ (cpio)
Cross-platform macOS only partial
Native speed

Features

Open DMG Parse UDIF disk images with LZFSE/XZ/Zlib/Bzip2 compression
Browse HFS+/APFS Auto-detect and navigate filesystems inside the DMG
Extract PKG Open .pkg installers found on the volume
Unpack PBZX Decompress XZ payloads and parse CPIO archives
Create DMG Build DMG files with selectable compression
Create CPIO/PBZX Build CPIO archives and PBZX payloads
Context managers All reader/writer classes support with statements
Exception hierarchy Structured errors that map to specific failure modes

Pipeline

                 ┌─────────┐
             ┌──▶│  HFS+   │──┐
┌─────────┐  │   │ (volume)│  │   ┌─────────┐    ┌─────────┐
│  UDIF   │──┤   └─────────┘  ├──▶│   XAR   │───▶│  PBZX   │
│  (DMG)  │  │   ┌─────────┐  │   │  (PKG)  │    │ (files) │
└─────────┘  └──▶│  APFS   │──┘   └─────────┘    └─────────┘
                 │ (volume)│
                 └─────────┘

Installation

pip install dpp-py

From source (development)

cd dpp-python
pip install maturin
maturin develop

Quick Start

Browse a DMG (auto-detect filesystem)

import dpp

with dpp.open("installer.dmg") as dmg:
    # List partitions
    for p in dmg.partitions:
        print(p.name, p.partition_type, p.size)

    # Open filesystem (auto-detects HFS+/APFS)
    with dmg.filesystem() as fs:
        print(fs.fs_type)       # "hfsplus" or "apfs"

        # Directory listing
        for entry in fs.list_directory("/"):
            print(entry.name, entry.kind, entry.size)

        # Read file contents
        data = fs.read_file("/some/file.txt")

        # File metadata
        stat = fs.stat("/some/file.txt")
        print(stat.size, stat.mode, stat.uid)

        # Walk entire filesystem
        for entry in fs.walk():
            print(entry.path, entry.kind)

Choose Extraction Mode

# In-memory mode: faster for small DMGs
with dpp.open("small.dmg") as dmg:
    fs = dmg.filesystem(mode="in_memory")

# Temp-file mode (default): low memory for large DMGs
with dpp.open("large.dmg") as dmg:
    fs = dmg.filesystem(mode="temp_file")

Extract a PKG Payload

with dpp.open("installer.dmg") as dmg:
    with dmg.filesystem() as fs:
        with fs.open_pkg("/path/to/package.pkg") as pkg:
            print(pkg.components)

            with pkg.payload("com.example.pkg") as payload:
                for f in payload.list():
                    print(f.path, f.size)
                data = payload.extract_file("./usr/bin/tool")

                # Extract all files to disk
                stats = payload.extract_all("/tmp/out")
                print(f"{stats.files} files, {stats.bytes} bytes")

                # Extract only files under a path (prefix is stripped)
                stats = payload.extract_path("./usr/bin", "/tmp/bins")

Extract to Disk

with dpp.open("installer.dmg") as dmg:
    # Extract entire filesystem
    with dmg.filesystem() as fs:
        stats = fs.extract_all("/tmp/volume")

        # Extract a subtree (prefix stripped from output)
        stats = fs.extract_path("/System/Library/Extensions", "/tmp/kexts")
        print(f"{stats.files} files, {stats.dirs} dirs")

One-Call Extraction

# Find all .pkg files in a DMG
packages = dpp.find_packages("image.dmg")

# Extract a specific component payload in one call
archive = dpp.extract_pkg_payload(
    "image.dmg",
    "/path/to/installer.pkg",
    "com.apple.pkg.KDK",
)
for entry in archive.list():
    print(entry.path, entry.size)

Create DMG Files

builder = dpp.DmgBuilder()
builder.compression = "zlib"     # "raw", "zlib", "bzip2", "lzfse"
builder.compression_level = 6
builder.add_partition("disk image", partition_data)
builder.build("output.dmg")

Create CPIO/PBZX Archives

# Build CPIO content
cpio = dpp.CpioBuilder()
cpio.add_directory("./usr/bin", mode=0o755)
cpio.add_file("./usr/bin/hello", b"#!/bin/sh\necho hello\n", mode=0o755)
cpio.add_symlink("./usr/bin/hi", "./usr/bin/hello")
cpio_data = cpio.finish()

# Write PBZX archive
writer = dpp.PbzxWriter("output.pbzx", compression_level=6)
writer.write_cpio(cpio_data)
writer.finish()

Low-Level DMG Access

with dpp.DmgArchive.open("file.dmg") as archive:
    print(archive.stats)
    print(archive.compression_info)
    data = archive.extract_partition(0)
    archive.extract_partition_to(0, "/tmp/output.bin")

Standalone Filesystem Access

# Read raw partition images directly (no DMG wrapper)
with dpp.HfsVolume.open("partition.img") as vol:
    entries = vol.list_directory("/")
    data = vol.read_file("/some/file")

with dpp.ApfsVolume.open("apfs_partition.img") as vol:
    entries = vol.list_directory("/")

Documentation

API Reference Full class and method documentation
Rust Library Underlying Rust pipeline API
CLI Tool dpp-tool for interactive DMG exploration

API Reference

Top-level Functions

Function Description
dpp.open(path) Open a DMG file, returns DmgPipeline
dpp.find_packages(path) Find all .pkg files inside a DMG
dpp.extract_pkg_payload(dmg, pkg, component) Extract a PKG payload in one call

Pipeline Classes

DmgPipeline — High-level entry point. Context manager.

Property/Method Description
partitions List of PartitionInfo
filesystem(mode=None) Open filesystem, returns FilesystemHandle. Mode: "temp_file" (default) or "in_memory"

FilesystemHandle — Unified HFS+/APFS volume. Context manager.

Property/Method Description
fs_type "hfsplus" or "apfs"
volume_info VolumeInfo metadata
list_directory(path) List entries, returns list[DirEntry]
read_file(path) Read file contents, returns bytes
stat(path) File metadata, returns FileStat
walk() Walk all entries, returns list[WalkEntry]
exists(path) Check if path exists
extract_all(dest) Extract all files to directory, returns ExtractStats
extract_path(base_path, dest) Extract files under base path (prefix stripped), returns ExtractStats
open_pkg(path, streaming=False) Open a .pkg file, returns PkgReader

DMG Classes

DmgArchive — Lower-level DMG access. Context manager.

Property/Method Description
stats DmgStats
compression_info CompressionInfo
partitions List of PartitionInfo
extract_partition(id) Extract by ID, returns bytes
extract_partition_by_name(name) Extract by name, returns bytes
extract_partition_to(id, path) Extract to file
extract_main_partition() Extract main partition, returns bytes

DmgBuilder — Create DMG files.

Property/Method Description
compression "raw", "zlib", "bzip2", or "lzfse"
compression_level 0–9
add_partition(name, data) Add partition data
build(path) Write DMG to disk

PKG/XAR Classes

PkgReader — macOS package reader. Context manager.

Property/Method Description
is_product_package Whether this is a distribution package
components List of component names
distribution() Distribution XML (if product package)
package_info(component) PackageInfo XML
payload(component) Extract payload, returns Archive
payload_bytes(component) Raw payload bytes
list_files() List all XAR file paths

XarArchive — XAR archive reader. Context manager.

Property/Method Description
files List of XarFile
find(path) Find file by path
read_file(index) Read file by index, returns bytes
extract_all(dest) Extract all files to directory, returns ExtractStats
extract_path(base_path, dest) Extract files under base path (prefix stripped), returns ExtractStats

Payload Classes

Archive — PBZX/CPIO payload reader. Context manager.

Property/Method Description
list() List entries, returns list[FileEntry]
extract_file(path) Extract file, returns bytes
extract_all(dest) Extract all to directory, returns ExtractStats
extract_path(base_path, dest) Extract files under base path (prefix stripped), returns ExtractStats
decompressed_size Size of decompressed CPIO data
cpio_data() Raw CPIO bytes

CpioBuilder — Create CPIO archives.

Method Description
add_file(path, content, mode=0o644) Add a file
add_directory(path, mode=0o755) Add a directory
add_symlink(path, target, mode=0o777) Add a symlink
finish() Finalize, returns bytes

PbzxWriter — Create PBZX archives.

Method Description
write_cpio(data) Write CPIO data
total_written Bytes written so far
finish() Finalize archive

Filesystem Classes

HfsVolume / ApfsVolume — Standalone volume readers for raw partition images. Context managers.

Method Description
list_directory(path) List entries
read_file(path) Read file, returns bytes
stat(path) File metadata
walk() Walk all entries
exists(path) Check path existence

Data Types

All data types are immutable (frozen) Python objects with __repr__.

Type Fields
PartitionInfo name, id, sectors, size, compressed_size, partition_type
DirEntry name, kind, size
FileStat fs_type, id, kind, size, uid, gid, mode, create_time, modify_time, nlink, data_fork_extents, resource_fork_size
VolumeInfo fs_type, block_size, file_count, directory_count, name, symlink_count, total_blocks, free_blocks, version, is_hfsx
WalkEntry path, name, kind, size
FileEntry path, size, mode, mtime, uid, gid, is_dir, is_symlink, link_target
CompressionInfo zero_fill_blocks, raw_blocks, zlib_blocks, bzip2_blocks, lzfse_blocks, xz_blocks, adc_blocks
DmgStats version, sector_count, partition_count, total_uncompressed, total_compressed, data_fork_length, compression_ratio, space_savings
XarFile id, name, path, file_type, size, compressed_size
ChunkInfo index, offset, compressed_size, uncompressed_size, is_compressed, compression_ratio
ArchiveStats chunk_count, compressed_size, uncompressed_size, file_count, directory_count, total_file_size, compression_ratio, space_savings
ExtractStats files, dirs, symlinks_skipped, bytes

Exceptions

DppError (base)
├── IoError               # I/O errors
├── InvalidFormatError    # bad magic, corrupt data, invalid headers
├── FileNotFoundError     # file or partition not found
├── DecompressionError    # decompression failures
└── UnsupportedError      # unsupported features/formats

Example Output

>>> import dpp
>>> with dpp.open("Kernel_Debug_Kit.dmg") as dmg:
...     for p in dmg.partitions:
...         print(p)
PartitionInfo(name="MBR : 0", id=-1, size=512, type="Other")
PartitionInfo(name="Primary GPT Header : 1", id=0, size=512, type="Other")
PartitionInfo(name="Apple_HFSX : 3", id=2, size=1069593600, type="Hfsx")
>>> with dpp.open("Kernel_Debug_Kit.dmg") as dmg:
...     with dmg.filesystem() as fs:
...         print(fs.fs_type)
...         for e in fs.list_directory("/"):
...             print(e)
hfsplus
DirEntry(name="Library", kind="directory", size=0)
DirEntry(name=".DS_Store", kind="file", size=6148)
>>> builder = dpp.DmgBuilder()
>>> builder.compression = "zlib"
>>> builder.add_partition("test", b"\x00" * 4096)
>>> builder.build("/tmp/test.dmg")
>>> with dpp.DmgArchive.open("/tmp/test.dmg") as a:
...     print(a.stats)
DmgStats(partitions=1, uncompressed=4096, compressed=30, ratio=0.01)

Alternatives

Approach DMG HFS+ APFS PKG PBZX Cross-platform Language
dpp Python (Rust native)
hdiutil + subprocess macOS only Python + shell
dmglib partial Python
dpp Rust library Rust

Choose dpp if you need:

  • End-to-end DMG → files extraction from Python on any platform
  • Native speed without subprocess overhead
  • Structured API instead of shell pipelines
  • Both read and write capabilities

License

MIT

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

dpp_py-0.2.1.tar.gz (176.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dpp_py-0.2.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

dpp_py-0.2.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

dpp_py-0.2.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

dpp_py-0.2.1-cp314-cp314-win_amd64.whl (774.9 kB view details)

Uploaded CPython 3.14Windows x86-64

dpp_py-0.2.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

dpp_py-0.2.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

dpp_py-0.2.1-cp314-cp314-macosx_11_0_arm64.whl (836.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dpp_py-0.2.1-cp314-cp314-macosx_10_12_x86_64.whl (955.2 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

dpp_py-0.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

dpp_py-0.2.1-cp313-cp313-win_amd64.whl (773.5 kB view details)

Uploaded CPython 3.13Windows x86-64

dpp_py-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dpp_py-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

dpp_py-0.2.1-cp313-cp313-macosx_11_0_arm64.whl (836.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dpp_py-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl (955.2 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

dpp_py-0.2.1-cp312-cp312-win_amd64.whl (773.7 kB view details)

Uploaded CPython 3.12Windows x86-64

dpp_py-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dpp_py-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

dpp_py-0.2.1-cp312-cp312-macosx_11_0_arm64.whl (836.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dpp_py-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl (955.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

dpp_py-0.2.1-cp311-cp311-win_amd64.whl (776.6 kB view details)

Uploaded CPython 3.11Windows x86-64

dpp_py-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

dpp_py-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

dpp_py-0.2.1-cp311-cp311-macosx_11_0_arm64.whl (838.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dpp_py-0.2.1-cp311-cp311-macosx_10_12_x86_64.whl (960.8 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

dpp_py-0.2.1-cp310-cp310-win_amd64.whl (776.3 kB view details)

Uploaded CPython 3.10Windows x86-64

dpp_py-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

dpp_py-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

dpp_py-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

dpp_py-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

Details for the file dpp_py-0.2.1.tar.gz.

File metadata

  • Download URL: dpp_py-0.2.1.tar.gz
  • Upload date:
  • Size: 176.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dpp_py-0.2.1.tar.gz
Algorithm Hash digest
SHA256 90dac7a0ae6805a1243f82b30826ee34f121d12d133e303721bdc127de1bb497
MD5 0e95ba35f48d8047ed51cfb05445a707
BLAKE2b-256 17474c412f94f58ef4d8ef872d01454082fd20fed9c4da08c06ae1c76d1c569f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1.tar.gz:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5a2e507daa5e0f288012bc6078bceb95a455ad4f541bc73a98f6f2b59430689
MD5 3ef354bced5db83d3b8e557326d319aa
BLAKE2b-256 b42bca7f76f41d4fda36171f5c720f1a49dec5662c879222703c3013300ef44e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7cc206a44e302715685a112a81e0aa1cb652d0378761e7dc8f233b646693a047
MD5 3d3d655f64156ba8ca1e54ac2151d270
BLAKE2b-256 65e559fa142e36deafd3e77c3436a417a6ad4b3534dbd7dc850ff2e862da878d

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6aaf85c9535b69c3e58c449721f5b03dea929d5ffe0b3360fab9f5bdcaf15bac
MD5 acddf46f102ea96623c54f3c24507d61
BLAKE2b-256 a45a04b2a472950959e5552227d67d8c8972e6d5faecc6cd7301d4d7288b16ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: dpp_py-0.2.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 774.9 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dpp_py-0.2.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8a48962b52e53158720a76dd959388f181f9fdcc58d5e229686d7e56d91f0618
MD5 1579be2d70676b2790153243be332523
BLAKE2b-256 c4d27df74959da4f99a9d9c85eea5f5cdf3a57cee88c736d2ab64d9eb5c4ac13

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp314-cp314-win_amd64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 455559a60e5f21c70d233cd45f0803b73774bd83ba30598672fe4dea1e6c097b
MD5 15a9022389b83bcfa78b8adc63609a6b
BLAKE2b-256 fecdf3ede0036bbb07311f9f982ee89eed5527923bacf277a4de8c07e62d82de

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5c8386a48b96b5a3f8b869d16e0e6009b3775c15610ce2dd5c57c7571a13763c
MD5 5f2b4abf97b8eadce9615d9541a0b442
BLAKE2b-256 1a19bc9e1afd3ddcaf79d8381ac1b8aca84e9f40edea08b970ed51bcddcbf550

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 884257f90484f3c9a9015352a2e24654cf77cb9f64dfbe1962abf939ad1af637
MD5 d71da5a7cdd5f41fdf65ff9a3128f96c
BLAKE2b-256 b6f88e3ca4f2d0922f04aed43080cf28924204d2ff73981fe7b784004025b6ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c8f329dd57acc90eb90012c3ce155fa3b41a147264b147f014cfffb0dccf29d4
MD5 192ff11aca44c782ecd5048ad6434bab
BLAKE2b-256 5c56bc2671a611d1f7628e4e74248ebc37c46048b72ed274cf22d4e237d5620c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9dc18c717e197feb6df24c29711afbcc8d0b587798014ae871b95beb071d07c8
MD5 ecf02ccf0a7023c3e1ca499f6104b261
BLAKE2b-256 5278892d6fdcad786e467287d163e9d7981d683067ba3201e7397a8f336527f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: dpp_py-0.2.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 773.5 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

Hashes for dpp_py-0.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8a553e08b70d91ceda54cdce4781ee0c9ed3dfd2cf42b23143cee32f11eab3cb
MD5 498db6506498fc3ef6aa2096fe8c0f64
BLAKE2b-256 5b8a9b68209c38508029a28022f0339ca946c3c24e5291a61c85869765e9583f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp313-cp313-win_amd64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a322d274d47d5a6400793bb14949384382a94e954d2856db869f2a62d7c30eb1
MD5 ae2f33200ae8dfdc135356e4bda42658
BLAKE2b-256 9d35b9e692d9dc582e2c819baec55e3e6b48388cd5cdfe3f17ac624f693751cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 089ad856cda3b7543d13047bf635a2d68d7c80e11d754053fac73f1fee7e551f
MD5 b80ac8f1d9061a94b769263e6c856657
BLAKE2b-256 5fc509cd0c78bfa145148924cd442cb0143faf615526e67b44d4d3c7dc55fb2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 010417c3f728d1428538ad3234a425d057c2b94048bb47c6172273875703d3a0
MD5 08cd8736d1a8faff9ad61025b107da4e
BLAKE2b-256 f57e94253d4e8700842d87340c1704075ab50b61f4f66e5eeb0ba29c385cfb68

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 65c0591621e0b75fd31033d432f958286ba17559f5449ef85110589d951e97e6
MD5 0847e277d7874ad71834348055197e91
BLAKE2b-256 e4ce24c472140f182f7261367ff9153608d6e6da49ec4f44b19e98b80668c808

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: dpp_py-0.2.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 773.7 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

Hashes for dpp_py-0.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f2868c765b51557d379e2b258f96df259c22240ab34e33f52bd38a8037f9b528
MD5 b686927a57bc257b9de64e5c64baa999
BLAKE2b-256 a1deba4d9de3690a1931e5f55ab5033def237cca1cc940b448f8b6565e7269ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp312-cp312-win_amd64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6df2107a612e95715550b2704733cf83727c4bee9e7137ba15dcff767de620b
MD5 b7da7efd84b9a833b722f0dc65dc946d
BLAKE2b-256 7d8b415d3f7bc56a495bb9f6dd7a3192facf64e3abb899f9340db6d723b0ad23

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a79009a489f2e0ee089ea12444a084ac572745d32a6b636f7a096b0bc2bb8d14
MD5 8e61433477b3bb32b3fc6732865c6158
BLAKE2b-256 042f656b8a261442a4082673cca675486a7c2dc01f9be8995ec2e86baf37fb6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e27f8112186b90579d1500339712eee2ae72315958d7a9ebc61d532e329f897c
MD5 07f88279fdb4c0769580a44099fb7800
BLAKE2b-256 b1f5fab18a1ea05ded4e811c18585757af761f720c70e66e7d39fb35602e916b

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3ac8f9a0d9278250843a565466b05da24d4ff4dfb1c811cd322957d7e1852b2b
MD5 a8dfc80232be9c2c89a46e27f8489b78
BLAKE2b-256 85bc3ce68badf2d8413c33d974c5afc53d4e3e83870615f093e6a1c3f5c27f12

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: dpp_py-0.2.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 776.6 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

Hashes for dpp_py-0.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fb7b38f5121a02b40d7c4c717054cd6aae22b15edf1497d929f959bf5804c457
MD5 ca8472665850b4041f7088bb5d6fc64e
BLAKE2b-256 1fc80dae2b5aa59b8926702e59ef476e44cef0e4a1cbd2328f83b20648620899

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp311-cp311-win_amd64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38ac7c4b16f01df76a3a14f4ffdf27fcf0bdb839cf1da69e3ca7b500c160615b
MD5 55eaf1da0898386029d7fc1d132cc810
BLAKE2b-256 6beb813c39d8e96bc94762715e52d221e270a0fe2a30f1c6ef50ec07e94ed900

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 965a31c0023b8dd880e0982e66968560fe8767bdbe555427bfc326f8c4d1e054
MD5 a20335d050d1d6b3795a0e45e4f59133
BLAKE2b-256 ccabfc3862a6c0e32b07b2171836c378a035253d6b4e0894492ddab4b7dd62a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 66ddf3cafdfeff5031cecfeafae039a8d72441135a185447debe340aaf157ee9
MD5 fb0483529599bdef2ac0a6500de4beb8
BLAKE2b-256 26fd28fb8218d8bdf00f24ac2148639c66ac9cee998f5d17bceec5bfc7ea29c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 063406bad0ba18d70a37fefbf0b973b2b52e416246f8890726538c404bed7d80
MD5 7e084ab4de256d707372824a29ec7cf8
BLAKE2b-256 a791abf1524ae1a0c4ab25d380e77dd76581ae601d6fa2bcad85989ea10f6b8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: dpp_py-0.2.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 776.3 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

Hashes for dpp_py-0.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 167740800e92aed26a217a25739abfd6800e5bbc327d0493779ce8b2a2bfc83d
MD5 6cf3867be39acadff22e52528344fb33
BLAKE2b-256 4f7ad86544f275fbfe0bad21d5e5df9e8848f0000268dc52e17a761aed727594

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp310-cp310-win_amd64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4a961d1f2d4ddea058ad5693cc0b5626f7e766161a980d61de6ff8c471264630
MD5 e29f34a4b2eaf2d06d4f84f09cc9ed15
BLAKE2b-256 db9b9079a4343fa1524676eb00b51d5510ace1aa8c8df266cbe02451f6fb69da

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1e1e13a301cbaa3fd56622dd14fe0fd561c497970f97d644e0dd0279cac7739
MD5 08c1b84b50409b860deb02f0d03e4abb
BLAKE2b-256 29e764abdbaea728bdf3122791a0cd5d43d6fc5024495883a34e8cf07fd3ad29

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e20dee2d4e27f00abda4780259aaf8f2716d27088ce2c4562e2b313548b40694
MD5 97686c78c864de597a22ef5c14124b6a
BLAKE2b-256 54829dbf044163666bc263893e37f5da0d2f6c22be9a95fef05920113af3365d

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dpp_py-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7217fed3389275574ebdc523ee877b0d0073f768a0862c7b354c77c5ed3e655a
MD5 7ed66c65c27c2ee11e24705798ea9540
BLAKE2b-256 3ef7689bb7b1b24426debc3abd1505bfd26db48612d46eec7058a147dbfd6892

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Dil4rd/dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page