DigitalOcean API v2 with SSH integration
Project description
Python library for managing your Digital Ocean account
The DigitalOcean API allows you to manage Droplets and resources within the DigitalOcean cloud in a simple, programmatic way using conventional HTTP requests. The endpoints are intuitive and powerful, allowing you to easily make calls to retrieve information or to execute actions.
This library starts with a python wrapper for the API and aims to build tools to make it easier to manage, provision, and deploy to Digital Ocean.
Highlights
Full featured: API wrapper covering the published DigitalOcean API v2
Tested: integration test coverage against most of the API
SSH integration: integrates paramiko library so you can SSH in and issue commands
Deployment conveniences: methods like apt, pip, and git for easier deployment
Example
Deploy a new Flask app from github
import poseidon as P
client = P.connect()
ssh_key_id = client.keys.list()[0]['id']
droplet = client.droplets.create('example.changshe.io', 'sfo1', '512mb',
'ubuntu-14-04-x64', ssh_keys=[ssh_key_id])
domain = client.domains.create('example.changshe.io', droplet.ip_address)
records = client.domains.records(domain['name'])
records.create('A', data=droplet.ip_address)
ssh = droplet.connect()
ssh.apt('git python-pip')
ssh.git(username='changhiskhan', repo='hello_world')
ssh.chdir('hello_world')
ssh.pip_r('requirements.txt')
ssh.nohup('python app.py') # DNS takes a while to propagate
print ssh.ps()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.