Skip to main content

An AIOHTTP based Python REST client for the Docker Registry.

Project description

docker-registry-client-async

pypi version build status coverage status python versions linting code style license

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())

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.

Development

Source Control

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

docker_registry_client_async-0.2.10.tar.gz (41.4 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page