Skip to main content

## Shepherd

Shepherd provides a system for configuring and launching clusters (or flocks) of Docker containers.

Feature include:
  • YAML definition of each “flock” including environment, volumes, external networks.

  • API and HTTP API for starting, stopping, pausing and resuming instances of each flock.

  • User overrides, including environment variables and ‘descendant’ images

  • Multiple pools for managing running flocks/

  • Queuing with fixed pool size and queing (fixed size pool)

  • Persistent pool for time-slicing flock execution.

### Comparison to Docker Compose

The flock format is inspired by compose and supports a limited subset of compose spec. Unlike with Compose, which runs a single docker-compose.yml at a time, the intent of Shepherd is to manage multiple instances of each available flock, and to schedule their execution. Each instance is given a unique id which can be used to refer to the instance.

### Use Cases and Test Suite

This library does not include any specific flocks and is designed to be as generic as possible.

It only uses very small public Docker containers for the test suite, which can be run via: python setup.py test after installing with python setup.py install

For an example implementation that uses Shepherd and additional flock definitions, see https://github.com/oldweb-today/browser-shepherd

### Other dependencies

Besides Docker, Shepherd relies on Redis to store internal state (though can be used with an in-memory ‘fake’ redis as well).

Metadata

Release files for shepherd 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shepherd 1.1.0
File Size Uploaded
shepherd-1.1.0.tar.gz 280.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for shepherd 1.1.0
File Interpreter ABI Platform
shepherd-1.1.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 563.7 kB

Release files / shepherd-1.1.0.tar.gz

Download URL shepherd-1.1.0.tar.gz
Size 280.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c9ec8c2e9630ba1a6124ff3e7987f705ee69ea93e02ccabbe6850c951f5cfdf3
BLAKE2b-256 checksum
How to use checksums
cc4158df6c72ecfbc1cd686fcda880918a09cb230647ffca35c547fa8253f92e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.1

Release files / shepherd-1.1.0-py2.py3-none-any.whl

Download URL shepherd-1.1.0-py2.py3-none-any.whl
Size 283.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
9fc3414e2a9b7469f75d95ad59b3814e2e55b45e11d182304df19aac3ed8f982
BLAKE2b-256 checksum
How to use checksums
71f7edab2812124f488f86967affed4ee3268b10b1d092d184a071eb3f02e4da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.1

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page