Innovative Users Conference - IUG 2025 - Unlocking Sierra's REST APIs Practical Python Projects for Libraries
This year’s IUG is here, and with it another chance to talk about some of the Sierra ILS related things that have been grabbing our attention – specifically, REST APIs and Python! In the previous year, more work has gone into the sierra-ils-utils
Python Library. The primary focus was on simplifying the design and use of the library, a change that I believe has made it more robust and easier to use when interacting with Sierra’s REST APIs.
This year’s IUG presentation will feature a discussion about using the Sierra ILS REST APIs along with some practical code examples in Python, utilizing the sierra-ils-utils Python library.
This material is being co-presented by both Jeremy Goldstein (Minuteman Library Network) and Ray Voelker (Cincinnati & Hamilton County Public Library).
Presentation
The PDF version of this presentation Unlocking Sierra’s REST APIs has some useful information in it about REST APIs in general, and is aimed at library folks that may want to dip their toe in the water when it comes to interacting with this Sierra feature.
sierra-ils-utils Python Library
This Python Library is available here at the following GitHub link: github.com/chimpy-me/sierra-ils-utils
Additionally, sierra-ils-utils
can be found on the Python Package Index – available to install via PIP. A very basic Python quick-start is found below:
1
pip install -U sierra-ils-utils
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from sierra_ils_utils import SierraRESTClient
client = SierraRESTClient(
base_url="https://catalog.library.org/iii/sierra-api/v6/",
client_id="YOUR_CLIENT_ID",
client_secret="YOUR_CLIENT_SECRET"
)
# Make a synchronous request (returns a httpx.Response)
response = client.request("GET", "info/token") # <Response [200 200]>
response.raise_for_status()
# Or, make an async request (returns a httpx.Response)
response = await client.async_request("GET", "info/token") # <Response [200 200]>
response.raise_for_status()
Supplemental Material
Below, you can find a Jupyter Notebook that covers a variety of topics related to working with the REST APIs.
colab.research.google.com/drive/1fwLQTMkwBQ9-TYduu3jwFDr3q7yLUttP
The Notebook can be run interactively via Google Colab – Colab, or “Colaboratory”, allows you to write and execute Python in your browser. Colab is an extraordinarily useful platform for writing and running Python – especially for those not wanting to install or maintain a Python environment on their own system.