Skip to content

orchardup/python-orchard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Orchard Python client

This package provides Python bindings for Orchard, letting you manage Docker hosts for a particular account and interact with an individual host using docker-py.

Install

$ pip install orchard

Authenticating

The orchard package provides two methods for instantiating an API client:

>>> import orchard
>>> orchard.with_token(my_token)
<orchard.client.Client object at 0x101de0d10>
>>> orchard.with_username_and_password(my_username, my_password)
<orchard.client.Client object at 0x102244e10>

Managing hosts

Once you've instaniated a Client object, the hosts property lets you list, create and delete hosts:

>>> client.hosts
[<Host: default>, <Host: host2>]
>>> client.hosts[0]
<Host: default>
>>> client.hosts["host2"]
<Host: host2>
>>> host3 = client.hosts.create({"name": "host3"})
>>> host3
<Host: host3>
>>> host3.delete()

Interacting with Docker

To get a docker-py instance for a host, call host.docker():

>>> docker = client.hosts["default"].docker()
>>> docker.containers()
[]
>>> c = docker.create_container("ubuntu", "date")
>>> docker.start(c['Id'])
>>> docker.wait(c['Id'])
0
>>> docker.logs(c['Id'])
'Mon Oct 28 15:42:56 UTC 2013\n'
>>> docker.remove_container(c['Id'])

See the docker-py README for a full list of methods.