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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file sermonaudio-6.15.2.tar.gz.

File metadata

  • Download URL: sermonaudio-6.15.2.tar.gz
  • Upload date:
  • Size: 33.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for sermonaudio-6.15.2.tar.gz
Algorithm Hash digest
SHA256 fcb663c5580e9aa32f0772c5d735895889feb593d2ba68e1ec983794caff4dff
MD5 5438620a4d10ccfe9d5a346b7efb9519
BLAKE2b-256 ca901bf99eb82937163561726114e00412bc212e7e26cd9d87cb023f6b0f165f

See more details on using hashes here.

File details

Details for the file sermonaudio-6.15.2-py3-none-any.whl.

File metadata

  • Download URL: sermonaudio-6.15.2-py3-none-any.whl
  • Upload date:
  • Size: 27.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for sermonaudio-6.15.2-py3-none-any.whl
Algorithm Hash digest
SHA256 27c6faf2cb6a51e9c1cc93dd0f2a3bdd03776d5dc43d0d38b5aa23ab5142bb14
MD5 f59258ca23ffff56ee2220212da23270
BLAKE2b-256 ae00e831f4516ee0ad119f9e0030f40f2a3661a98070146dff1ab7d1ae4ec62b

See more details on using hashes here.

Supported by

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