Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank

Previous survey · No. 776 ·

Pricing
Open Source
Type
TOOL
Builder
containers
GitHub
381 stars
Latest release
v5.8.0
Date

About

Python bindings for the Podman container engine's REST API.

What it does

It lets Python programs control a running Podman service through resource-oriented objects. Programs can inspect and manage containers, images, pods, networks, volumes, manifests, secrets, system data, events, Quadlets and related operations over local sockets or remote connections.

Why it's ranked here

The package offers broad Podman coverage behind a familiar Python object model, with connection pooling, structured API errors and both local and SSH transports. Its packaging marks it production stable, while the README still calls it under development. That tension, plus explicit compatibility gaps, makes it capable but worth testing against your exact workflow.

What's good

Resource managers keep common container tasks readable instead of exposing only raw HTTP requests. The client supports automatic API version selection, environment-based connection settings, configurable timeouts and connection pools. It also ships dedicated Unix socket and SSH tunnel adapters, extensive test dependencies and automated checks across several supported Python releases.

Tradeoffs

Some compatibility surfaces are placeholders. TLS configuration is ignored, and swarm operations explicitly raise an unsupported-operation error. Remote connections always use the system SSH client, while the tunnel command disables strict host key checking. The README also says TCP is not implemented, although the client code accepts and normalizes TCP addresses, creating documentation ambiguity.

How to use it well

Use it for Python automation that manages containers and neighboring Podman resources through an already running service. It fits scripts, operational tooling and applications that benefit from persistent sessions and resource objects. Validate transport and compatibility behavior in your environment. It does not provide the Podman service itself or cover swarm orchestration.

Technical notes+

podman/client.py exposes PodmanClient, cached resource managers, environment-derived connections and Docker-oriented aliases. podman/api/client.py subclasses requests.Session, normalizes Unix, SSH and TCP schemes, mounts custom adapters and wraps responses with Podman-specific errors. podman/api/uds.py implements Unix-domain-socket transport, while podman/api/ssh.py creates OpenSSH tunnels and pooled HTTP connections. podman/tlsconfig.py documents TLSConfig as ignored. pyproject.toml defines setuptools packaging, Python requirements, dependencies, optional extras, pytest discovery, Ruff and mypy settings. Makefile separates unit and integration tests and enforces an 80 percent coverage threshold.

Observed

License
Apache-2.0
Primary language
Python 3 only
Python support
Requires Python 3.9 or newer; classifiers list Python 3.9 through 3.13
Packaging and install
Published as the podman Python package, installed with pip; built with setuptools
Interface
Python library client for a Podman service API
Transports
Supports Unix domain sockets, SSH-tunneled sockets and normalized TCP or HTTP addresses
Test structure
Repository configuration includes unit and integration test suites under the package test tree

Read from README.md, Makefile, setup.py, setup.cfg, pyproject.toml, podman/client.py, podman/version.py, podman/__init__.py, podman/tlsconfig.py, podman/api/ssh.py, podman/api/uds.py, docs/source/conf.py, podman/api/client.py, podman/domain/ipam.py, podman/domain/pods.py.

What it can do

  • Create and start containers

    Container image name and configuration parametersRunning container instance

  • List containers

    Filter criteria (optional)List of container objects with metadata

  • Stop and remove containers

    Container ID or nameConfirmation of container termination

  • Pull container images

    Image repository URL and tagDownloaded container image

  • Build container images

    Dockerfile and build contextNew container image

  • Inspect container details

    Container ID or nameContainer configuration and runtime information

  • Execute commands in containers

    Container ID and command stringCommand execution results

  • Manage container volumes

    Volume configuration and mount pointsPersistent storage volumes

Tags

podmanpythoncontainersdocker

Tech Stack

Python

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.