Skip to main content

The official Python client library for accessing the SermonAudio.com APIs

Project description

SermonAudio.com API Client Library

This is the official Python client library for accessing the latest SermonAudio.com APIs.

For documentation on the SermonAudio API, head to api.sermonaudio.com. Proper Python type conversions have been made where appropriate (for example, dates are converted to datetime.date objects). API functions are grouped into modules by API family, just as in the main documentation (so Node API endpoint helpers are in the node module). Endpoint request methods are given an appropriate prefix such as get.

Detailed documentation is included with each method. If you have any questions about how to use these methods, or feel the docstrings could be improved, send a message to developer@sermonaudio.com.

Installation Notes

This library is written in Python 3.6+. Please ensure that you have the latest version of OpenSSL installed. If you are on a Mac, you may need to use homebrew to install a new verison of python linked against the updated version via brew install python3 --with-brewed-openssl. Unfortunately, older versions of OpenSSL do not support TLSv1.2. Older versions have known security holes, so our server will refuse such connections. Make sure to use the new (brewed) version of python for your virtual environment.

Quickstart

The API functions are straightforward. All API methods validate the response from the server, and return a logical value from the wrapped response, or throw an exception. For example, a node that returns a single result will return only the first item in the results list, if one exists. Additionally, the object(s) returned are mapped to the correct type of object. Here are some code samples to get you started.

import sermonaudio

from sermonaudio.node.requests import Node

# You must set your API key before making any requests
sermonaudio.set_api_key('YOUR-API-KEY')

sermon = Node.get_sermon('261601260')
# TODO: Something with this sermon

for sermon in Node.get_sermons(broadcaster_id='faith').results:
    # TODO: Something with each sermon in the list
    pass

All methods have docstrings, so you can refer to this documentation as you write your application. We do encourage you to read the full documentation referenced above for the most complete, up to date details.

Localization

This client library provides some support for localization. It uses the os LANGUAGE environment variable to determine the default language for client requests. You can override the preferred language either globally or per-request. You can override it globally using the top-level set_preferred_language function. All request methods also accept a preferred_language_override keyword argument so you can override the desired language for individual requests. The locale values are passed via the HTTP Accept-Language header, and should follow that format. For example, en-US for US English.

User Authentication

This library has some initial support for our user API's. It supports both cookie-based and Authentication header-based token authentication. A basic example using cookie-based authentication:

# Perform login
User.login(username, password)

# Retrieve user details
user = User.get_user()

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

sermonaudio-6.15.2.tar.gz (33.6 kB view hashes)

Uploaded source

Built Distribution

sermonaudio-6.15.2-py3-none-any.whl (27.5 kB view hashes)

Uploaded py3

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