Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (testpypi.python.org).
Help us improve Python packaging - Donate today!

Python client for the AmigoCloud REST API

Project Description

Python client for the AmigoCloud REST API.

Installation

Install via pip:

pip install amigocloud

Dependencies

  • requests: Handles the HTTP requests to the AmigoCloud REST API.
  • socketIO_client: Handles the AmigoCloud websocket connection.

This dependencies will be automatically installed.

Usage

Authentication

To start using this library, first login with your AmigoCloud credentials:

from amigocloud import AmigoCloud
amigocloud = AmigoCloud(email='user@example.com', password='********')

Requests

Once you’re logged in you can start making requests to the server. You can use full urls or relative API urls:

# All three will do the same request:
amigocloud.get('me')
amigocloud.get('/me')
amigocloud.get('https://www.amigocloud.com/api/v1/me')

Creating a new AmigoCloud project from Python is as simple as:

data = {'name': 'New Project', 'description': 'Created from Python'}
amigocloud.post('me/projects', data)

All responses are parsed as JSON and return a Python object (usually a dict). This data can be later used in another request:

me = amigocloud.get('me')
visible_projects = amigocloud.get(me['visible_projects'])

print 'My projects:'
for project in visible_projects['results']:
    print '*', project['name']

You can get the raw response if you want by using the raw parameter:

me = amigocloud.get('me')
images = amigocloud.get(me['images'])

with open('thumbnail.png', 'wb') as thumbnail:
    image_data = amigocloud.get(images['thumbnail'], raw=True)
    thumbnail.write(image_data)

Websocket connection

The websocket connection is started when the AmigoCloud object is instantiated, and it is closed when the object is destroyed.

To start listening to websocket events related to your user do (you must be logged in to start listening to your events):

amigocloud.listen_user_events()

Once you’re listening to your events, you can start adding callbacks to them. A callback is a function that will be called everytime the event is received.

def project_created(data):
    print 'Data received:', data
amigocloud.add_callback('project:creation_succeeded', project_created)

Finally, start running the websocket client:

ac.start_listening()

This method receives an optional parameter seconds. If seconds is None (default value), the client will listen forever. You might want to run this method in a new thread.

Exceptions

An AmigoCloudError exception will be raised if anything fails during the request:

try:
    amigocloud.post('me/projects')
except AmigoCloudError as err:
    print 'Something failed!'
    print 'Status code was', err.response.status_code
    print 'Message from server was', err.text
Release History

Release History

This version
History Node

1.1

History Node

1.0.4

History Node

1.0.3

History Node

1.0.2

History Node

1.0.1

History Node

1.0.0

History Node

1.0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
amigocloud-1.1.tar.gz (4.1 kB) Copy SHA256 Checksum SHA256 Source Oct 16, 2014

Supported By

WebFaction WebFaction Technical Writing 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 Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting