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.3.tar.gz (153.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.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (892.7 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

dpp_py-0.1.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (880.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

dpp_py-0.1.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (876.8 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

dpp_py-0.1.3-cp314-cp314-win_amd64.whl (674.0 kB view details)

Uploaded CPython 3.14Windows x86-64

dpp_py-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (890.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

dpp_py-0.1.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (877.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

dpp_py-0.1.3-cp314-cp314-macosx_11_0_arm64.whl (718.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

dpp_py-0.1.3-cp314-cp314-macosx_10_12_x86_64.whl (835.9 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

dpp_py-0.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (877.4 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

dpp_py-0.1.3-cp313-cp313-win_amd64.whl (671.0 kB view details)

Uploaded CPython 3.13Windows x86-64

dpp_py-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (888.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dpp_py-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (877.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

dpp_py-0.1.3-cp313-cp313-macosx_11_0_arm64.whl (718.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dpp_py-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl (837.0 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

dpp_py-0.1.3-cp312-cp312-win_amd64.whl (671.4 kB view details)

Uploaded CPython 3.12Windows x86-64

dpp_py-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (889.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dpp_py-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (877.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

dpp_py-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (718.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dpp_py-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl (837.1 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

dpp_py-0.1.3-cp311-cp311-win_amd64.whl (675.9 kB view details)

Uploaded CPython 3.11Windows x86-64

dpp_py-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (891.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

dpp_py-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (879.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

dpp_py-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (720.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dpp_py-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl (836.1 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

dpp_py-0.1.3-cp310-cp310-win_amd64.whl (676.0 kB view details)

Uploaded CPython 3.10Windows x86-64

dpp_py-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (891.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

dpp_py-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (880.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

dpp_py-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (894.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

dpp_py-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (882.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

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

File metadata

  • Download URL: dpp_py-0.1.3.tar.gz
  • Upload date:
  • Size: 153.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.3.tar.gz
Algorithm Hash digest
SHA256 9e80a2c9f26d0318d099721ac78dc4f416669c9c247948a385699fbc014c9e85
MD5 1110d08479811cc892b729934c645abe
BLAKE2b-256 37caabe4ec7719f50ca9213dd5989d2e3ee85e8048760fb9fdfbaf820b0cae44

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8cf5025f91409c633c1bc6aeaa48273061d522dfcc8476ca24871243f2183b7f
MD5 bd10411c7e9b301f1eb57fb762b5ab7b
BLAKE2b-256 1af6d7bfe0993b7d8e5801b7d586a8162f037a6da61780defca4069b5a8e7c52

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0b940b1c440c7b5b548bfbbe079ee300d6cb0b2697b8c619d88025fb1d25da49
MD5 dcb4653cd24f29c949829830e6642a4c
BLAKE2b-256 b4d8f7e187a011eedc4f096f9c27cee2940436b33796424806cc4b8ce0a25829

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 942c42bb12fce18e6c2130e3bc39ae14f22c92d214213467981d04af3ca8b5df
MD5 0bf3300bc426220c3bd9118d97514bfc
BLAKE2b-256 ce5e081747e9b94fabe0f502c865abead811cb839be6a0d79301730ef2433030

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: dpp_py-0.1.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 674.0 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.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6fc977ee40d5ee65801aa6974665f5aa15d7ae51e2561a3db2d71af3872e3fd7
MD5 5c7644f44aad7083b7a22805e35af9fa
BLAKE2b-256 e7a86a4b0f3e0fed0105301c0c705ee10ece31b66b8f3de50768207eb05bc137

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12b9be63190d817e235c047104a965e5c4188bdaf19d1fbf5b4965bd98d0f1cc
MD5 d287f29358adcdb28e1737fb8faa8af7
BLAKE2b-256 cbec9a736a0276940f316e66c643bddb430367842b8c81966aa4dde9020a5685

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5fa34a985591512e015682de15cb3a8ab687424eced35e8f5f6f88f7a5818c3f
MD5 558b861cd1051ebb992d4418dcbac986
BLAKE2b-256 5906c19481f5ee1113fbe7b747c6565dff456a2dc924f57edadaa85c81716c0c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 01c7a6152b66745ebbf3e9be4a115c8160968c3e9ac1f74f3a33e07b39b71769
MD5 1e83e52027e1c1d86e8356b977dfa13f
BLAKE2b-256 942b8bfa4957e40a675f0794fec150b7fd112acbfbdeb7b74a7df6ed7a7e7e9b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 940461eaffa8086da7952e65ba706e8b70fb4155d1a4033c912172be263c760b
MD5 6d24f96444cd48318f21cfe7825a6ffe
BLAKE2b-256 866137a252ab48ef4c5d2f662164391e0c0a90a2333cd12dadac6a5a59f8e69b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e1bf6d37eac181abce2f3910be1be36f9005a12eb9ebdd2a0bc1fe4564f44749
MD5 ec5de1732ddc05754b262dab8eb291de
BLAKE2b-256 10f90ec1402d262c3eb462b7246e17fbfe2ca6ab0c11bbbbe22494de92fb0730

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: dpp_py-0.1.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 671.0 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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8c6b8fed30114791eb6c45e7f3ceaf816c9b7027b1a6de6e4eb7c9a41d21778a
MD5 15904d189f9a8d27e72724523dba6cf7
BLAKE2b-256 740294c39a4cd2938f7c6f4342b32af55e624d164adf717490245bb4d54b29f1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ee588de8682b46ef8ffa7a6a686ee151424aa63436d8c86331fa477b06f8bd0
MD5 9725aaf79cb0091d45bcb483c6345d4d
BLAKE2b-256 f7857ff773e24c634968b7fd61f0823ab6ea59ccfc102550947e769f4c2bd10c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 45bca2cf47d103597f64bba8f53db9716c75f89f0b278debd0256690a9bfeebc
MD5 ae079b77828562b5bdfee0c1335dd2c9
BLAKE2b-256 1c53f0255b01e4afd5f46ed6f379c22e708393ae2a1807c2d35b2f2c13485dd8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a0843dded1b0e28aa62942ecb984d797e3a29d99232b3e449102487a35c2b4c
MD5 fd7c25b20ccca755466446645ef04c75
BLAKE2b-256 38ea5efc9ab3ac702ba7f1ffe65a293dbc212fd700f3e1e9482665e63195a4f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1903b9ff38151603c37bbe341feb48edf793a50806ef88ab9b4c5b3b26e180dc
MD5 185af0bec918e8fa9444d5b9d315ae4a
BLAKE2b-256 af6b6cacf17ecc284989c9ce9daee06245269de6b2cc22b24ec039c711dbca66

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: dpp_py-0.1.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 671.4 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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3f481ee572ce1c037a7a336bcbc8b701a6e7e43115b391c74f5fbd52d090cd0c
MD5 9cc111ec79a7a6dd390a05ec2c397c6c
BLAKE2b-256 4d8fdbcb3dde5dce116dca19398c16cf56ad76073b53ce8b0544e5630041352c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a2155d30ae81798725994c113743e16bd7dcbf07c7da53443ec91b4f26235045
MD5 89473099282a8747994e8034c2b70d43
BLAKE2b-256 7e801ad9fcdeef60574b9debad22c94f217ffd42f29ea7b5cd67480ef21072f7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 898e00d705c809e4f15b81b4055e80eccdf4087ffe4b3f23d157ed66ad9b2eaa
MD5 e7aa374ee449b85ecfba692b9ea8636b
BLAKE2b-256 3600cc6e695c652bcb963fc6695e09202be6bd7de84878749bb9e6d454efa368

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33f71f983611d7a2d43b953d6531282acef499acf58b8b3dc1117b1177e1cbd7
MD5 3556a44e61d39b2dd4944ee7f3e259a8
BLAKE2b-256 92161c3b7046d1a599984e106ed957c9f13a47046e256a19b9172f223bbf95aa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 88a86e9dfd4c1d080df35f7fec3cf735603656ddd7a4ab369991ac0d2c2866fd
MD5 b655af3f648e2d900785b13450363890
BLAKE2b-256 66bfe45693ed9fbcf486926e7c65ba63992d216ddf270d4808b3838fdad4bfed

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: dpp_py-0.1.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 675.9 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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d4b5e4a01ab92c753451df38de174ccf6849ca37a52ddbf6ba40d78c3447b5f1
MD5 d00639b4c07041562e4f63876226c8a1
BLAKE2b-256 4b0ee86f93d571daf21c1b4034ac7af63b1583169625bde0762094ce5fd61f15

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ef2039151295b10433380113e1a7191c3d13e978eab929665e72b734a69369f
MD5 97eb01c0d1483ef9a39ffae113998ef8
BLAKE2b-256 aee4624638ff72221feabf1807e8ff83ab267f264d35e7ec2a5f29de10c76b8c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5d5515753e412732682ec834996e5f9522ec148ac439e1907b7f730712ff0b69
MD5 0bec3e67c5dc920f17aed1de481b1623
BLAKE2b-256 6308fb19cbd72433418009040378076a3885fb390ffd10ac72ae1385a8fa6ab7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a032ae6f495e4d541b55707739026c8a6f536864ad76221af89c2b15212723d
MD5 a71bf8d31d076fa624dc070e6d66fad0
BLAKE2b-256 596a488b50781c67874de62e2e6155dcdb45accc534f189c5ce17f7bc8d2222b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ae8f38818bfe29226d9cc46e3863bf1a7b6bf677fe8e0607ff94902878979777
MD5 2ba78054a98b88938880b3c3c4aa5c83
BLAKE2b-256 2fe489f352fd3607b74a81be6820a52d3944d8987eb4cec27eb5ab47c7c21efe

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: dpp_py-0.1.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 676.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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9727ad562f9bd3e809407bd1613af63e0aaed84037deb0b19c0ec3565d3553aa
MD5 ef22b2272fc361f26130566408f07a08
BLAKE2b-256 b0011329de130c2576774b9ce772e1b675906c99c61947918740614a869efe46

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0241cc2d13014b8907ea03e04ce38dcfd53943f2c3be3fc1a4f7e86bdb949da8
MD5 95489d533a2f86f5f6f266f4798d2abd
BLAKE2b-256 c184b81546dc6296315731d8c1687406ae5e94b65d0e5beea82ba05fcd3b976b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 196eeb3cd38e7d3d524d2cb1bdbc7670467ba7117bec0ecd65f677871a9d6ad6
MD5 cd73a54a95cdc187cee7ee33c4ac77e6
BLAKE2b-256 671e45c9a367b61538690ad36a873a39070844765ac5e466ff710f10a6e14758

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63d011d159bfc2a420b22349b1153f8a191ff78231545cf1a7a52f7efa11a341
MD5 fe0fe24665a4eb42e772f7d8e4eb9494
BLAKE2b-256 e4901bfceaaea1c3efe73e99d57e8307d442c7cb046eaf86b980a67d85c4f73e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for dpp_py-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c192fbfdd788eef607efa6c97e3de422aa974bee4d19814df95bd0544fe18c63
MD5 18a3834e0e30f99a8c8f8336b4b79cc8
BLAKE2b-256 e663ab8b81851c6d71d7c01a82f85969fc03bcf4b8c14bd93a0c8544a55a77d8

See more details on using hashes here.

Provenance

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