Skip to main content

Python bindings to the chdimage part of https://github.com/Manorhos/imageparse

Project description

This small project is a binding to the chd part of the rust project imageparse done for its capability to access chd files decompressed bytes, even those with parents, recognize the track boundaries, and calculate their sha1 checksums.

Upstream has some limitations still:

  1. Will not load hard drive chds, since it’s out of scope of the project.

  2. Will not yet read gdi chds, although that’s possible in the future.

  3. Like the upstream it depends on, chd-rs it can’t write a new chd.

  4. It is not actually a filesystem mounter, it only accesses the raw decompressed bytes and recognizes track boundaries.

You can access the chd track sha1 checksums of b.chd with parent a.chd like this:

import chdimage
chd = chdimage.open_with_parent('b.chd', ['a.chd'])
sha1sums = [ bytes(x).hex() for x in chd.track_sha1s() ]

Chd files that aren’t parents are ignored, so you can choose your own strategy to find parents:

chd = chdimage.open_with_parent('b.chd', ['not_b_parent.chd', 'a.chd'])

You can iterate over the track bytes like this:

for x in range(0,chd.num_tracks()):
  event = None
  #tracks go from 1 to num_tracks(), 0 does not count
  print(f'track {x+1}')
  while event != Event.TRACKCHANGE and event != Event.ENDOFDISC:
    sector = chd.copy_current_sector()
    event = chd.advance_position()
    #printing bytes is useless and lossy, do something else
    print(bytes(sector).decode(errors='replace'))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

chdimage-0.2.1-cp38-abi3-win_amd64.whl (270.3 kB view details)

Uploaded CPython 3.8+ Windows x86-64

chdimage-0.2.1-cp38-abi3-win32.whl (254.7 kB view details)

Uploaded CPython 3.8+ Windows x86

chdimage-0.2.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.4 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ s390x

chdimage-0.2.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ppc64le

chdimage-0.2.1-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (1.3 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ppc64

chdimage-0.2.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.2 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARMv7l

chdimage-0.2.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

chdimage-0.2.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.5+ x86-64

chdimage-0.2.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl (1.2 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.5+ i686

chdimage-0.2.1-cp38-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (769.3 kB view details)

Uploaded CPython 3.8+ macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

chdimage-0.2.1-cp38-abi3-macosx_10_7_x86_64.whl (394.4 kB view details)

Uploaded CPython 3.8+ macOS 10.7+ x86-64

File details

Details for the file chdimage-0.2.1-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: chdimage-0.2.1-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 270.3 kB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for chdimage-0.2.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e27385784e16a9ddcaa6bd6a1afbd72da6d0666da772d9f7a81b613d8833079e
MD5 9a4a1988ea84fed3689234b65a45fd04
BLAKE2b-256 4c32c200440fc63caa72f1c6fe164efd3a6b7bb578a5ac7d907105220070d68c

See more details on using hashes here.

File details

Details for the file chdimage-0.2.1-cp38-abi3-win32.whl.

File metadata

  • Download URL: chdimage-0.2.1-cp38-abi3-win32.whl
  • Upload date:
  • Size: 254.7 kB
  • Tags: CPython 3.8+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for chdimage-0.2.1-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 c2e64db4b5c39c6e6ef2d6e992cee1977e39354d9d07f5048a9fce20beb6db50
MD5 b37a7705b12bc575086e1ed2f1003b81
BLAKE2b-256 785302dad0fa94150937ff99599862162fc31a7de97362768a465e2894c67df9

See more details on using hashes here.

File details

Details for the file chdimage-0.2.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for chdimage-0.2.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 884424494fe05486244164012173380afb1aaa4e975fb36ea22da616df38f280
MD5 c2e7d6dbb898b5bf570c9f6b399569f4
BLAKE2b-256 b41f93e6054c4b26755e27ade981a3055ff8e8d03b3f8f28ab7a7e29c27d0059

See more details on using hashes here.

File details

Details for the file chdimage-0.2.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for chdimage-0.2.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 dd1f1efb359238a090d945d930497ee3d8b463f0407a3b99654ec91de586dca8
MD5 4f33679063b2f1dfd9c5a493ad77dab8
BLAKE2b-256 b9399bc702eb9b6f97949019dbff8dc6575cefd5eef345b4e40b1f55e6155e9b

See more details on using hashes here.

File details

Details for the file chdimage-0.2.1-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl.

File metadata

File hashes

Hashes for chdimage-0.2.1-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 4264f692e453ceb803129fcc23bbb02f8c5040bd965118280a52aa7396bc8774
MD5 27e0722e107c78e28063e3ec65cc7d14
BLAKE2b-256 10ad80210f36fe9204b691e31c5aa0d7fc2260c1bba48d3eb24b19c8c692cac3

See more details on using hashes here.

File details

Details for the file chdimage-0.2.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for chdimage-0.2.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 60c758e470825b2b1ddfbe7af854bc332532408ce1d221c7c5c54997dcc1d0a6
MD5 cf776ab5287123ee4a7785fa69ab4c88
BLAKE2b-256 10d545abff7113e2c578edff9e2b35052363d3e234f24d98b1ccd3bb948736a8

See more details on using hashes here.

File details

Details for the file chdimage-0.2.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for chdimage-0.2.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3b569a1271856e4e3dd63a1a1afba9e741d90ebe895b210b78d27e8c9dd142c2
MD5 0df38b14ebb8c2a1a8154e9dcda5b237
BLAKE2b-256 5c4519c61d61f71e2805879218e97ecfacad30b23571558c5c9d83400807bc5a

See more details on using hashes here.

File details

Details for the file chdimage-0.2.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for chdimage-0.2.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e49f10058087cdbd3fd357e0e70fde4b7fa855f2f6e1555674104454c9033a9a
MD5 94efead0ff8a6fb8d02548e0d9c7ba0a
BLAKE2b-256 9bba629e80737ff6af43a268362484d688fbdef2f98e740de3a530351950e8bc

See more details on using hashes here.

File details

Details for the file chdimage-0.2.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for chdimage-0.2.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 08dc311a76d55f4f6b6916cf898c4ceda7df08f2119b58135a599b5bb6f9108b
MD5 9f68c463c874a7e8284698c3c2c005f8
BLAKE2b-256 8ea053a79232cfdda2c2242e86c1798470984d3b4ee4400edab1198d8052e459

See more details on using hashes here.

File details

Details for the file chdimage-0.2.1-cp38-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for chdimage-0.2.1-cp38-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0cf6c28f1caadef867f74f5ad02a4f742c6927a664a224315b34a18559b838bf
MD5 ebe2699b93c32a51f185a401b4392e1d
BLAKE2b-256 9ca1d50b6d393f548027a682ee3bffe2aefd450f111c38f9a2c7b1076040a5eb

See more details on using hashes here.

File details

Details for the file chdimage-0.2.1-cp38-abi3-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for chdimage-0.2.1-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 f25ce3017c66ad38b44b75b55ce9738ea579f098cb598decf0a98fdd43b29325
MD5 04accc31f19e56a18b349ec32f5c3ea5
BLAKE2b-256 72e39157994bdc6f04ce1878aa7823c95d67c961613f6000356df29a18d0db93

See more details on using hashes here.

Supported by

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