Library fines are sad. They cost money. Students don't like spending unnecessary money. This API allows students / people to avoid fines by writing a short (6 lines, excluding blank lines) script to automatically renew their library books. It's possible to do much more, like send a text / email with details of where to find a list of books in the library (dewey classifications), or how to cite a specific book correctly.
What it does
It scrapes data from the various library catalogues and presents it in a nice way. It's designed to have a minimal barrier to entry, so anyone can use it, even if they have very little coding experience.
How we built it
Using Python and the requests module. https://regex101.com/ was incredibly useful for testing the numerous regular expressions used, and the Chrome developer tools were helpful for working out how web browsers interacted with the online library catalogue.
Challenges we ran into
Perhaps unsurprisingly, the online catalogues aren't built to be friendly to screen scrapers. In some cases, they're really quite horrible.
Accomplishments that we're proud of
It works! While it's not complete in any sense of the term, it works well with the SirsiDynix Enterprise library catalogue. Support for WebPAC Pro is being implemented, and support for ExLibris Primo is being planned - this should mean that over 83% of BrumHack participants can use the API!
What we learned
We developed our skills in screen scraping, as well as our tenacity for when things don't go so easily. Scott learned Python! We also focused on usability and providing a "nice" interface of commands for users (who potentially aren't experienced coders).
What's next for Library API
More implementations - ExLibris Primo is used by a large number of libraries, we hope to support it soon! Other catalogues which are also popular, such as Spydus / Selms and Capita Prism will be considered.