Skip to main content

Pyrate is a python wrapper for restful web apis. It's like magic but simpler.

Project description

pyrate
======

.. image:: https://pypip.in/d/pyrate/badge.png
:target: https://crate.io/packages/pyrate/
:alt: Number of PyPI downloads

.. image:: https://travis-ci.org/Chive/pyrate.png?branch=master
:target: https://travis-ci.org/Chive/pyrate
:alt: Build Status

.. image:: https://coveralls.io/repos/Chive/pyrate/badge.png?branch=master
:target: https://coveralls.io/r/Chive/pyrate?branch=master
:alt: Code Coverage

.. image:: https://d2weczhvl823v0.cloudfront.net/Chive/pyrate/trend.png
:alt: Bitdeli Badge

Pyrate is a python wrapper for restful web apis. It's like *magic* but
simpler.

Currently, the following services are implemented

- `Github <#github>`__
- `Harvest <#harvest>`__
- `Basecamp <#basecamp>`__
- `Mailchimp (v2) <#mailchimp>`__
- `Twitter (v1.1 + OAuth) <#twitter>`__

There's a quick-start guide below, for full documentation (WIP) visit: `http://pyrate.readthedocs.org/en/latest/ <http://pyrate.readthedocs.org/en/latest/>`__

Dependencies
------------

- `requests <http://python-requests.org>`__
- `requests\_oauthlib <https://github.com/requests/requests-oauthlib>`__
- `six <https://pythonhosted.org/six/>`__

Installation
------------

::

pip install pyrate

Quick Start
-----------

Twitter
~~~~~~~

::

from pyrate.services import twitter

h = twitter.TwitterPyrate(
oauth_consumer_key='',
oauth_consumer_secret='',
oauth_token='',
oauth_token_secret=''
)

# check if the connection works
h.check_connection()

# direct api call
h.get('account/verify_credentials')

# convenient tweeting!
h.tweet("This is awesome!")

Mailchimp
~~~~~~~~~

::

from pyrate.services import mailchimp

h = mailchimp.MailchimpPyrate(apikey='')

# check if the connection works
h.check_connection()

# direct api call
h.do('helper/ping')

# (un)subscribing to lists!
h.subscribeToList('ListName', 'myemail@example.com')
h.unsubscribeFromList('ListName', 'myemail@example.com')

Harvest
~~~~~~~

::

from pyrate.services import harvest

h = harvest.HarvestPyrate(
user='',
password='',
organisation=''
)

# check if the connection works
h.check_connection()

# tell me who I am
h.do('account/who_am_i')

Github
~~~~~~

::

from pyrate.services import github

h = github.GithubPyrate(
user='',
password=''
)

# check if the connection works
h.check_connection()

# create & delete repositories!
h.create_repo('name', 'description', private=True)
h.create_repo('name', 'description', 'organisation')
h.delete_repo('name')

Basecamp
~~~~~~

::

from pyrate.services import basecamp

h = basecamp.BasecampPyrate(
user='',
password='',
org_id=''
)

# check if the connection works
h.check_connection()

# what projects are there?
print(h.do('projects'))

Todos
-----

- Create more "convenience"-methods (like
``h.tweet()``)
- Implement CLI-Interface (see branch
`feature/cli <https://github.com/Chive/pyrate/tree/feature/cli>`__)
- Add more services (Open for suggestions!)
- Expand Documentation
- lots and lots more

Project details


Download files

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

Source Distribution

pyrate-0.5a8.tar.gz (11.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page