Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!


Project Description

# OpenSink: All the OpenStack APIs in one place

Do you sometimes need to write scripts that interact with the OpenStack API? Do you always find yourself spending more time trying to remember how to get a valid Nova client than actually writing your scripts?

This is for you.

## Usage

Assuming that you have the standard suite of OS_* environment variable available, then using opensink is as simple as:

>>> import opensink.openstack
>>> clients = opensink.openstack.OpenStack()

Need a list of users?

>>> c.keystone.users.find(name='lars')
<User {u'username': u'lars', u'name': u'lars', u'enabled': True,
u'tenantId': u'f4e7e158cb154de5ab503bd7096b8981', u'id':
u'065e9427a1f14f9398082e5bed3d3fb7', u'email': u''}>

Or a list of servers?

>>> clients.nova.servers.list()
[<Server: larstest-server-23dwogjbq3ux>, <Server: cirros>]

Want to create a Cinder volume?

>>> clients.cinder.volumes.create(1)
<Volume: e61ffb18-7d97-4dde-ba70-b256df7b709f>

How about a list of resources in your heat stack?

>>> [ r.to_dict()['resource_name']
... for r in clients.heat.resources.list(id)]
[u'server_floating', u'secgroup_all_open', u'server_eth0', u'server']

Release History

This version
History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(3.2 kB) Copy SHA256 Hash SHA256
Source None Oct 22, 2015

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting