Calibre is a cross-platform program for managing an e-book library: organising the books, annotating them with metadata, converting them between different formats and moving them between devices. Its organisation and metadata functionality can also be used to catalogue a collection of paper books.
By default, Calibre fetches its metadata from a few large, popular online sources which focus on recently published English-language books, and often have little to no information about older editions or books in other languages. However, there are many user-created custom metadata plugins which make it possible to integrate Calibre with more specialised book databases. Calibre is written in Python, and so are the plugins!
In this talk I will give an overview of how to find resources to help you start writing your own plugin, and describe how I forked and re-wrote a plugin for downloading metadata from the Internet Speculative Fiction Database.