A simple Docker HTTP API wrapper written with asyncio and aiohttp.
Project description
A simple Docker HTTP API wrapper written with asyncio and aiohttp.
Installation
pip install aiodocker
Development
Create a virtualenv (either using python -m venv, pyenv or your favorite tools) and install in the editable mode with ci and dev optional dependency sets.
pip install -U pip
pip install -e '.[ci,dev]' # in zsh, you need to escape brackets
pre-commit install
Running tests
# Run all tests
make test
# Run individual tests
python -m pytest tests/test_images.py
Building packages
NOTE: Usually you don’t need to run this step by yourself.
pip install -U build
python -m build --sdist --wheel
Documentation
Examples
import asyncio
import aiodocker
async def list_things(docker):
print('== Images ==')
for image in (await docker.images.list()):
tags = image['RepoTags'][0] if image['RepoTags'] else ''
print(image['Id'], tags)
print('== Containers ==')
for container in (await docker.containers.list()):
print(f" {container._id}")
async def run_container(docker):
print('== Running a hello-world container ==')
container = await docker.containers.create_or_replace(
config={
'Cmd': ['/bin/ash', '-c', 'echo "hello world"'],
'Image': 'alpine:latest',
},
name='testing',
)
await container.start()
logs = await container.log(stdout=True)
print(''.join(logs))
await container.delete(force=True)
async def main():
docker = aiodocker.Docker()
await list_things(docker)
await run_container(docker)
await docker.close()
if __name__ == "__main__":
asyncio.run(main())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file aiodocker-0.24.0.tar.gz
.
File metadata
- Download URL: aiodocker-0.24.0.tar.gz
- Upload date:
- Size: 135.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 661a6f9a479951f11f793031dcd5d55337e232c4ceaee69d51ceb885e5f16fac |
|
MD5 | 963c6fe078c82ebe98c925da1aff17fb |
|
BLAKE2b-256 | f2d730104dfac550ae6570d4dce24c2cbf2ddefd4937c9e861641314abfd8abb |
Provenance
The following attestation bundles were made for aiodocker-0.24.0.tar.gz
:
Publisher:
ci-cd.yml
on aio-libs/aiodocker
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
aiodocker-0.24.0.tar.gz
- Subject digest:
661a6f9a479951f11f793031dcd5d55337e232c4ceaee69d51ceb885e5f16fac
- Sigstore transparency entry: 150394138
- Sigstore integration time:
- Predicate type:
File details
Details for the file aiodocker-0.24.0-py3-none-any.whl
.
File metadata
- Download URL: aiodocker-0.24.0-py3-none-any.whl
- Upload date:
- Size: 34.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2199b7b01f8ce68f9cabab7910ecb26192f6f3494163f1ccffe527b4c3875689 |
|
MD5 | 472884e04ac9d20eb48c8d27c9a28989 |
|
BLAKE2b-256 | 0c5b2bb8b632041e314a0a917ade80382ca6a8f331f12c7eb409e59cd0485cc9 |
Provenance
The following attestation bundles were made for aiodocker-0.24.0-py3-none-any.whl
:
Publisher:
ci-cd.yml
on aio-libs/aiodocker
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
aiodocker-0.24.0-py3-none-any.whl
- Subject digest:
2199b7b01f8ce68f9cabab7910ecb26192f6f3494163f1ccffe527b4c3875689
- Sigstore transparency entry: 150394141
- Sigstore integration time:
- Predicate type: