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-1.0.3.tar.gz (46.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docker_registry_client_async-1.0.3-py3-none-any.whl (53.4 kB view details)

Uploaded Python 3

File details

Details for the file docker_registry_client_async-1.0.3.tar.gz.

File metadata

File hashes

Hashes for docker_registry_client_async-1.0.3.tar.gz
Algorithm Hash digest
SHA256 dca2d937870b03b25e2ec036627755c81412c3b725b1a3ececb51a9b062d858a
MD5 82c7013fa2095973dbdbc6721d87ab56
BLAKE2b-256 f394598cd08395f9747197aaec93bea948430dd6431a386dc479c75b0d37ac71

See more details on using hashes here.

File details

Details for the file docker_registry_client_async-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for docker_registry_client_async-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8fafcf5140094811de03605b384c203d0137321a96b6d194f7fde9c20a06a973
MD5 6cc3862a304b236ac2f00f042cd681e0
BLAKE2b-256 d4b200dddfe340ba731d720e5c04000859a2582e49e74a913ae618be4bd550bc

See more details on using hashes here.

Supported by

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