Skip to main content

A friendly wrapper around the Everyplay API based on the SoundCloud python wrapper.

Installation

To install everyplay-python, simply:

pip install everyplay

Or if you’re not hip to the pip:

easy_install everyplay

Basic Use

To use everyplay-python, you must first create a Client instance, passing at a minimum the client id you obtained when you registered your app:

import everyplay

client = everyplay.Client(client_id=YOUR_CLIENT_ID)

The client instance can then be used to fetch or modify resources:

videos = client.get('/videos', order='popularity', limit=10)
for video in videos:
    print video.title
app = client.get('/games/1')
print app.permalink_url

Authentication

All OAuth2 authorization flows supported by the Everyplay API are available in everyplay-python. If you only need read-only access to public resources, simply provide a client id when creating a Client instance:

import everyplay

client = everyplay.Client(client_id=YOUR_CLIENT_ID)
video = client.get('/videos/7000')
print video.title

If however, you need to access private resources or modify a resource, you will need to have a user delegate access to your application. To do this, you can use one of the following OAuth2 authorization flows.

Authorization Code Flow

The Authorization Code Flow involves redirecting the user to everyplay.com where they will log in and grant access to your application:

import everyplay

client = everyplay.Client(
    client_id=YOUR_CLIENT_ID,
    client_secret=YOUR_CLIENT_SECRET,
    redirect_uri='http://yourapp.com/callback'
)
redirect(client.authorize_url())

Note that redirect_uri must match the value you provided when you registered your application. After granting access, the user will be redirected to this uri, at which point your application can exchange the returned code for an access token:

access_token, expires, scope, refresh_token = client.exchange_token(
    code=request.args.get('code'))
render_text("Hi There, %s" % client.get('/me').username)

User Credentials Flow

The User Credentials Flow allows you to exchange a username and password for an access token. Be cautious about using this flow, it’s not very kind to ask your users for their password, but may be necessary in some use cases. The credentials flow is currently only allowed for gamne profile users:

import everyplay

client = everyplay.Client(
    client_id=YOUR_CLIENT_ID,
    client_secret=YOUR_CLIENT_SECRET,
    username='profile_user_name',
    password='profile_password'
)
print client.get('/me').username

Examples

Resolve a video and print its id:

import everyplay

client = everyplay.Client(client_id=YOUR_CLIENT_ID)

video = client.get('/resolve', url='http://everyplay.com/nomon/first-video')

print video.id

Start following a user:

import everyplay

client = everyplay.Client(access_token="a valid access token")
user_id_to_follow = 123
client.put('/me/followings/%d' % user_id_to_follow)

Proxy Support

If you’re behind a proxy, you can specify it when creating a client:

import everyplay

proxies = {
    'http': 'example.com:8000'
}
client = everyplay.Client(access_token="a valid access token",
                           proxies=proxies)

The proxies kwarg is a dictionary with protocols as keys and host:port as values.

Running Tests

To run the tests, run:

$ pip install -r requirements.txt
$ nosetests --with-doctest
..................

Success!

Contributing

Contributions are awesome. You are most welcome to submit issues, or fork the repository.

everyplay-python is published under a BSD License.

Release files for everyplay 0.3.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for everyplay 0.3.6
File Size Uploaded
everyplay-0.3.6.tar.gz 7.3 kB Details

Release files / everyplay-0.3.6.tar.gz

Download URL everyplay-0.3.6.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
931d7954fed9924863991d23c6eba60f062ca5ba6b343124f380707cb85d2c2c
BLAKE2b-256 checksum
How to use checksums
9330727357c55ec46c9b3658a8e76d964ab9769c3f23de987d5ca8cbaa200e97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3.6 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page