An AIOHTTP based Python REST client for the Docker Registry.
Project description
docker-registry-client-async
Overview
An AIOHTTP based Python REST client for the Docker Registry.
Getting Started
import asyncio
import json
from docker_registry_client_async import DockerRegistryClientAsync, FormattedSHA256, ImageName, Manifest
async def get_config(drca: DockerRegistryClientAsync, image_name: ImageName, manifest: Manifest) -> bytes:
config_digest = FormattedSHA256.parse(manifest.get_json()["config"]["digest"])
result = await drca.get_blob(image_name, config_digest)
return json.loads(result["blob"].decode("utf-8"))
async def get_manifest(drca: DockerRegistryClientAsync, image_name: ImageName) -> Manifest:
result = await drca.get_manifest(image_name)
return result["manifest"]
async def main():
image_name = ImageName.parse("busybox:1.30.1")
async with DockerRegistryClientAsync() as drca:
manifest = await get_manifest(drca, image_name)
config = await get_config(drca, image_name, manifest)
print(config)
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Compatibility
- Tested with python 3.8
Installation
From pypi.org
$ pip install docker_registry_client_async
From source code
$ git clone https://github.com/crashvb/docker-registry-client-async
$ cd docker-registry-client-async
$ virtualenv env
$ source env/bin/activate
$ python -m pip install --editable .[dev]
Environment Variables
Variable | Default Value | Description |
---|---|---|
DRCA_CACERTS | The path to the certificate trust store. | |
DRCA_CHUNK_SIZE | 2097152 | The chunk size to use then replicating content. |
DRCA_CREDENTIALS_STORE | ~/.docker/config.json | The credentials store from which to retrieve registry credentials. |
DRCA_DEBUG | Adds additional debug logging, mainly for troubleshooting and development. | |
DRCA_DEFAULT_REGISTRY | index.docker.io | The default registry index to use when resolving image names. |
DRCA_DEFAULT_NAMESPACE | library | The default registry namespace to use when resolving image names. |
DRCA_DEFAULT_TAG | latest | The default image tag to use when resolving image names. |
DRCA_PROTOCOL | https | The default transport protocol to when communicating with a registry. |
DRCA_TOKEN_BASED_ENDPOINTS | index.docker.io,quay.io,registry.redhat.io | Endpoints for which to retrieve authentication tokens. |
Development
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
Close
Hashes for docker_registry_client_async-0.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e327d1773acca112ac00a13f7b792391b8b8029a913de7c40f8b120cc95dda3 |
|
MD5 | fce1d4ee452548f8a71532101cf742c8 |
|
BLAKE2b-256 | 4f35bee2b95dacfa832df76a97e375cada0c935ebe6d8f5eb64da56ba1d8fa91 |
Close
Hashes for docker_registry_client_async-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27b902a84b3a518cef4fa1e1cc08b0a544023ac1deaf12b703d1bb9cf1b79e89 |
|
MD5 | 98afec5733174b5c845c12327b372cad |
|
BLAKE2b-256 | 2a8b5b0fad5e76358fde0cdb5f1881ec72c39b225aa8891288a24e9bab61fe19 |