Docker runtime contracts and subprocess adapter
Project description
dr-docker
Reusable Docker execution contracts and adapters.
Purpose
This repo provides Docker runtime contracts and a concrete subprocess adapter:
- Docker runtime request/result contracts with security and resource profiles
- Runtime adapter protocol
- Subprocess-based Docker adapter with stream capping and cidfile cleanup
- Typed error envelopes
Public Surface
from dr_docker import (
CONTRACT_VERSION,
DockerMount,
DockerRuntimeRequest,
DockerRuntimeResult,
ErrorCode,
ErrorEnvelope,
ResourceLimits,
RuntimeAdapter,
RuntimePrimitiveError,
SecurityProfile,
SubprocessDockerAdapter,
TmpfsMount,
__version__,
run_batch_with_failure_isolation,
)
Contract Guarantees
DockerRuntimeResult(ok=False)requireserror- Successful result envelopes must not include
error - Error envelopes are typed (
ErrorCode) with non-empty message and JSON-safe details - Supported
ErrorCodevalues aretimeout,unavailable, andinternal_error
Development
uv sync --group dev
uv run pytest -q
uv run ruff format --check
uv run ruff check
uv run ty check
Publishing
cp .env.example .env
# set PYPI_API_TOKEN in .env
set -a; source .env; set +a
uv build
uvx twine check dist/*
uvx twine upload -u __token__ -p "$PYPI_API_TOKEN" dist/*
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
dr_docker-0.4.1.tar.gz
(44.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
dr_docker-0.4.1-py3-none-any.whl
(12.6 kB
view details)
File details
Details for the file dr_docker-0.4.1.tar.gz.
File metadata
- Download URL: dr_docker-0.4.1.tar.gz
- Upload date:
- Size: 44.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83dfadf7daa50d859864af0adfe17dc678a6f8aee00dccb58b60d5abd804e5c2
|
|
| MD5 |
af3f65a7dbce4760965b7725d1c7eaf8
|
|
| BLAKE2b-256 |
fa3884eedd474666dadcaeda22a7cbebc6fdbc9023fb10ea3ea09354c5ef7f15
|
File details
Details for the file dr_docker-0.4.1-py3-none-any.whl.
File metadata
- Download URL: dr_docker-0.4.1-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f7570f44a2dab30d7fb493a55e634eea24e989dd4c8de5cbc939ef32c3af17c
|
|
| MD5 |
1ab29c1288a70d314eabfa2a179d55a8
|
|
| BLAKE2b-256 |
034506de97430f9f257a8bcc577ea60cce2479a3a7f04f055286037a9e795a84
|