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
aiodocker-0.22.2.tar.gz
(134.9 kB
view details)
Built Distribution
File details
Details for the file aiodocker-0.22.2.tar.gz
.
File metadata
- Download URL: aiodocker-0.22.2.tar.gz
- Upload date:
- Size: 134.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8730795a817836d22df36efb04dc0f07c09f5f66b61dac539a7e436d6f4e1af0 |
|
MD5 | a445de7889da2aac5d9d62d8cf123827 |
|
BLAKE2b-256 | b9816f2b64e360c01fda92797e6fada5032273ac32cffff9392df156c45b4771 |
Provenance
File details
Details for the file aiodocker-0.22.2-py3-none-any.whl
.
File metadata
- Download URL: aiodocker-0.22.2-py3-none-any.whl
- Upload date:
- Size: 34.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac16c9e13c01446a57b32481edca3557cdb8678fe19bb1d2debfe0cb7dc2ab29 |
|
MD5 | 21a60465184c9b2b27f25a8b319067d3 |
|
BLAKE2b-256 | 43cdfff2ecd8e80a2ea867854c77d2aa0b63a0d9364b1f076ef51b7c01735d36 |