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")

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
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

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
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

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

Next Steps

  • Type stubs.pyi stub files for full IDE autocompletion
  • Async support — async wrappers for I/O-heavy operations
  • Iterator protocol — lazy iteration for walk() and list()
  • Progress callbacks — report extraction progress
  • Wheels — pre-built wheels for common platforms

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.1.5.tar.gz (164.9 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.1.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (989.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

dpp_py-0.1.5-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (973.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

dpp_py-0.1.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (963.8 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

dpp_py-0.1.5-cp314-cp314-win_amd64.whl (742.5 kB view details)

Uploaded CPython 3.14Windows x86-64

dpp_py-0.1.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (982.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

dpp_py-0.1.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (965.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

dpp_py-0.1.5-cp314-cp314-macosx_11_0_arm64.whl (798.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dpp_py-0.1.5-cp314-cp314-macosx_10_12_x86_64.whl (917.0 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

dpp_py-0.1.5-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (969.2 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

dpp_py-0.1.5-cp313-cp313-win_amd64.whl (742.9 kB view details)

Uploaded CPython 3.13Windows x86-64

dpp_py-0.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (983.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dpp_py-0.1.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (965.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

dpp_py-0.1.5-cp313-cp313-macosx_11_0_arm64.whl (796.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dpp_py-0.1.5-cp313-cp313-macosx_10_12_x86_64.whl (916.3 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

dpp_py-0.1.5-cp312-cp312-win_amd64.whl (743.2 kB view details)

Uploaded CPython 3.12Windows x86-64

dpp_py-0.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (984.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dpp_py-0.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (965.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

dpp_py-0.1.5-cp312-cp312-macosx_11_0_arm64.whl (796.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dpp_py-0.1.5-cp312-cp312-macosx_10_12_x86_64.whl (916.9 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

dpp_py-0.1.5-cp311-cp311-win_amd64.whl (745.0 kB view details)

Uploaded CPython 3.11Windows x86-64

dpp_py-0.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (987.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

dpp_py-0.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (970.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

dpp_py-0.1.5-cp311-cp311-macosx_11_0_arm64.whl (800.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dpp_py-0.1.5-cp311-cp311-macosx_10_12_x86_64.whl (921.5 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

dpp_py-0.1.5-cp310-cp310-win_amd64.whl (745.0 kB view details)

Uploaded CPython 3.10Windows x86-64

dpp_py-0.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (988.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

dpp_py-0.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (970.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

dpp_py-0.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (989.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

dpp_py-0.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (972.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

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

File metadata

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

File hashes

Hashes for dpp_py-0.1.5.tar.gz
Algorithm Hash digest
SHA256 10ee93eade9ed03ce858da885ea00a2a3b334d2cf38383990c83c89d6da223f0
MD5 cc42247ca65a6e3e1cddc97cd6440258
BLAKE2b-256 e9f9b33f9f552f44d066d7057edd6212bdb53e6ebd1586a3c2861c3f47288e3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5.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.1.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d0655608b3f64829c754aae8a659cb3c39c3131b46d7a72bef45f9e190024b6
MD5 b4a3b9f3fe2336e4c9f2b7c6545b18b5
BLAKE2b-256 141ff95717fe7a399c76121778319b00d91175cb0f16498659cea65671ad206c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eaec824c2dc28c67f65da9873aff3a0af36e6b4ee3044af510a6f1a954a95785
MD5 753e57bc0f207074f27737a7b3c75a8f
BLAKE2b-256 1d76bec34205dccfe046b4493540f37783cf8494de047fa9978cc748f16257d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a00c0cce502922fd2696825341d4792a351d64bdeba872bb069a263e2498f98d
MD5 281fc341b97630ab8fa44c3d23c40661
BLAKE2b-256 2192b5342029dfbbeb80553deb0851299b1a1e92ea2e7089c42b499eddb491bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp314-cp314-win_amd64.whl.

File metadata

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

File hashes

Hashes for dpp_py-0.1.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 9793061713274a9a6bd96598c7e6a209c54fb324db863c74c9dcb1b2bdc58b70
MD5 06becf2f5c484cbe2ba55bd559e58521
BLAKE2b-256 be1175a3efb052f1046eb208b0431061b17f9387122ff36fbffb8aed5b4bae59

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5ae3fcd7589b814727011199ec56e7c00ec1231afc969d9cbde68df625608bd
MD5 3a25e55cc17c66f9126f9dc3506838c1
BLAKE2b-256 888c8ea87afe7352700a24ae3bb3ebb52a9c550d659ebaed0edae31d6259cec7

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d826c91b2608796b0877c4ebacaebcb54632eeb7ed71f8ac811cfe4dac9bb605
MD5 dc36b2ad651add66d220a85cf9cefafa
BLAKE2b-256 a879cfeb8f3e909546df1e8dcea27eb00bbbd878fe68e87c9922c40c828aa882

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04b7e9c43baa7f009cc6248b73422f69239a88c082907a500aadb9070154de35
MD5 74af2c45c20244766e77e19fc5549556
BLAKE2b-256 1bbccf54f3b63e9db3b34782f46a1714beb8befad9503cb4f237b238f76575ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 498bb050b50876d0e9ea1e1d680b060170b4a9ebcc565740a82a25d990b0da70
MD5 04bcd1f3b6c0abac7573f3437f2de887
BLAKE2b-256 62807c6c5355384d15f6200472a52b7bc0d597527847b8780a39f3a9375b8326

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ca54c326f9de7515d6772a865beecae013d5c461ea9d123b4fd9e80174dd2b21
MD5 1ddce57bef9ac586105d88e0198a400f
BLAKE2b-256 11fb72bd6b17256ea88dcb71ae79d615c0c3dcc00a216b3fab7a4c6a460f878e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: dpp_py-0.1.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 742.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dpp_py-0.1.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 72535c871e471ddc46d566590d10185b912ad106adf9b59e9ba6c244f2db207d
MD5 8f54e6580df1e276fccf6a905dfd3ec2
BLAKE2b-256 2e4d5cdbb09ebfbde288b548377d04705eed64bc3562625cb7d97c7dcb2f0035

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 549f979f36bd0b54b6326f43e4d66af17a11b400d99b2a20f264bef4cf1180aa
MD5 a930065c6bc22aaa6cba6ae1dcc78aa6
BLAKE2b-256 0a31616a8666f8f82898197cf7e91f71dd3a3b28803858fd4973fb10e641f19a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9b42af988dacbb5312785363256288f3d72a23d5e51889aca1f4b2769f659403
MD5 7fb2b2e436d57e33e0a4b32f5ce8cb24
BLAKE2b-256 2d7550f6e11cfe5875cf8310156759561a45412e0fed9802abae776f53d83aa8

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63c59252276300d74e092ef34e23e56e468e4e58145055b8b59478651a8dc93f
MD5 aaef865634d62f71575f1ab5048efe92
BLAKE2b-256 305c576d9c69cfb16085329739fde4e0165435cb5c4ae99c75bf578accee306e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6a0d19196527e5b6f6f4279f831641d4d52146bb89225aa9537fd87313b51f19
MD5 0aa90efc71f480c1d7d28af70f63d2e0
BLAKE2b-256 3164e2ea8e47edf2583205e3582bac789cedf48e8f88d65f1c5dded17192ca14

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: dpp_py-0.1.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 743.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dpp_py-0.1.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ce12d8e12aeb76cc33bd1c83cefc6658f7307ae7390f71fa862357017936878b
MD5 978cf54fdbae97b638730fdd13640d53
BLAKE2b-256 8051a876b23af17cd377d046f5ff48004074f37d4650e7eb58717f33eb043b7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51ca50e9ddd0e7fffec07a773e3b94a6abeccf38d25617c1c4acce7e5709319f
MD5 258733baffda1b12b4de665ac2b8b0ee
BLAKE2b-256 4143161a1bb14bb7780e36a713f35c63542e6420345a095d359565d89d89156a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 81304e47879e38b57b2337f42f61978c1f4255ae13138988feebeb9f5dd97a60
MD5 956c6d8eca2e10cdc364a6304351ce32
BLAKE2b-256 37df412297fa9bd4377663a1c54407cbe41637159566a28150f38b8073ca7c3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4dd1f110b440d5db1bd01b175f7304487b39879e45e49b7da40fdee366897f2f
MD5 cb4f3adef7627daedb1d9876fea8f413
BLAKE2b-256 a3ec940d3a65a6dbb6d95a36984dab29eb452b432b123b077b8b092f929f442c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 869b4ca8483e54197ce314d2b340292b2d572b73317b17e6e80d9ae99970e9e1
MD5 96b9476de883ef91af58b625b3d4d47d
BLAKE2b-256 d268e77f96d7daf8a9f81c9fa056f33963ffab14a1be5167424c65f697edbf08

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: dpp_py-0.1.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 745.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dpp_py-0.1.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bde07bcd2cdeae0d27c6d37dbe7c4c7a91f22a2c4749eb54a2529d998a1df426
MD5 a7d78c4552f48cce2e1092cfaefb945e
BLAKE2b-256 784a90d3a763e891973e089f54cdcd54ff5affb4d076d4fe40a1dbd8cb452c6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bf38ff85efe0be5de768af6058167057421d131757988a4f5a6e3ef91d7b3828
MD5 0d7dff3dd7e27d730f1c1b6c24e0115b
BLAKE2b-256 877b14da869931c3f52475e032cf72810622bfdae6a959deaa373b209eb13c59

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b0db8bb56ed2e790b31d20c608f2ec9e351d7fca72e0a28e97d0202de43bef46
MD5 0f33be2d0cf015ae9a552688754bf203
BLAKE2b-256 ed407c908639660351225f1ff47bb75d6e3179c355308242180f2aeeca1082b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c2b8542465695c3b9c5d83a09f576c3aed4c3c34fde8672abacdba806214e35
MD5 39ae0b64f4e31d3ab358a87665afe047
BLAKE2b-256 cd4b0edadbbc4db37bb1556d7cce194f1f9635e9d36262d013b9b7ddf21cb561

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 11be71d1f60d0c17a5f0d66cd3b91146ad05172c414ad00344aaf6d8ca3e0ed3
MD5 a06c233eea430830041bb0963234dfe0
BLAKE2b-256 6c9d39865bc8e3123497eed9aad02181e842e793c232c1f78380d8c410b27c6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: dpp_py-0.1.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 745.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dpp_py-0.1.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9e8f304051626472f474da127a08463f899d1107fc35d6d7890f8fa44eb28da8
MD5 9b71ed21cae19d9a7080f1d753fc37fa
BLAKE2b-256 a55909050aadc00633e5191c5050300f911ebd46b68a36e75227c376876db3ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a305cc2e0518faffae0139553660f90efd3313e533109220e5711c5f3de4b82e
MD5 5756e23cca3f7202419930c32265f501
BLAKE2b-256 a49ca0b14e1eeac0ef958a4f819d330bd62dac56220f0cbe33c93d8e0088e0d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 71ed2be1851cbb633ab3d4ded8d56b2f820257d097ebfcc541ce3e82624628e5
MD5 9f62588c2aa24c6555817468d2a2bdf4
BLAKE2b-256 98e50ef901543cd5451c3475153644a6f2a08d7c1a2c5866fb323bde733913ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e83f2330baac4a4261839337c4a5ff256ef54a73cbf91d526d011175cf60bc3
MD5 d7633a6cc79c4b938f2fee1284cb26c5
BLAKE2b-256 383248f20ba1637de6043457168abc5daa09dfc0fae7ff47e556628d735dff9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dpp_py-0.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 29349d4dbd7faa516c0acd5bdf344c4df9b4fafb8982575f16d16aa1dd67e9d8
MD5 8e10b128a89fb248d3912b26950085e7
BLAKE2b-256 dec7e00d5149a74e1176b213c5ed0b8669f91fefa849617d9f96bbede174eaca

See more details on using hashes here.

Provenance

The following attestation bundles were made for dpp_py-0.1.5-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