Skip to main content

One interface to docker, podman and Apple's container.

Project description

PyPI version Supported Python versions Build status ReadTheDocs status

imaged gives you one interface to docker, podman and Apple’s container. Start a container, speak to its standard streams, and be told what went wrong in terms you can branch on.

from imaged import Engine

engine = Engine.detect()

id = await engine.create_pulling_if_needed("alpine", "cat")
async with engine.start(id) as session:
    await session.send("hello")
    assert await session.receive() == "hello"

Why

Every engine reports the same failure differently, and none of them do so machine readably – not even over their HTTP APIs. Working out that an image simply doesn’t exist otherwise means matching on substrings of prose, separately for each engine. imaged does that once, and raises NoSuchImage.

Each engine is driven via its command line interface, which is the only mechanism all three have in common, as Apple’s container has no HTTP API at all. Doing so also leaves the engine to demultiplex container stdio onto real pipes, rather than leaving you to unpick its framing.

Containers get no networking unless you ask for it, on the theory that something you are running should have to say so before it can phone home.

anyio is the only async dependency, so this runs unmodified on both asyncio and trio. Its own test suite runs on both, against all three engines.

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

imaged-2026.7.4.tar.gz (43.9 kB view details)

Uploaded Source

Built Distribution

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

imaged-2026.7.4-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file imaged-2026.7.4.tar.gz.

File metadata

  • Download URL: imaged-2026.7.4.tar.gz
  • Upload date:
  • Size: 43.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for imaged-2026.7.4.tar.gz
Algorithm Hash digest
SHA256 a2422229132718252a622dcfa233cbe23d22fde02300fdcec82b71ff7dc57760
MD5 e082959eb3db0ad56e93c18708857390
BLAKE2b-256 908751bc47e3d700f8c7dd5163fe34846602865e5df77454947636b52fe1b131

See more details on using hashes here.

Provenance

The following attestation bundles were made for imaged-2026.7.4.tar.gz:

Publisher: ci.yml on Julian/imaged

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

File details

Details for the file imaged-2026.7.4-py3-none-any.whl.

File metadata

  • Download URL: imaged-2026.7.4-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for imaged-2026.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0ab4cde8d0f2e0e55b502557183687833f7e1f8b15b695cb1665a82b719e970a
MD5 10f855df6c121d929deba0963b214c67
BLAKE2b-256 c2363f3fc2d685a93672ee443998b5bf5c2ccd80ef5f39d5cd407c89851864c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for imaged-2026.7.4-py3-none-any.whl:

Publisher: ci.yml on Julian/imaged

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