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.3.tar.gz (43.2 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.3-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: imaged-2026.7.3.tar.gz
  • Upload date:
  • Size: 43.2 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.3.tar.gz
Algorithm Hash digest
SHA256 b461bfbf0365d3cc022c8dd61223237808c4afd3971362b43bc8c9bffc9667b5
MD5 10a17dabf6092de30e4924028a895781
BLAKE2b-256 ad4ea322a19cd7b15c68ff91d315c35767f4f4981a717cc3e6bc87811a229a5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for imaged-2026.7.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: imaged-2026.7.3-py3-none-any.whl
  • Upload date:
  • Size: 16.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 891840f61e185605bceebc297d3f06b54e4eeaa7a69dd95474795d47c8c2c0c1
MD5 6ae56c964256c526922aa504928658d4
BLAKE2b-256 194aeb051edb188e86a4234f08e4e0a509adf372dfc8d952efc7ddc3b5152254

See more details on using hashes here.

Provenance

The following attestation bundles were made for imaged-2026.7.3-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