calibrestekje

Repository license PyPI package Travis CI result Documentation status Support badge

Library prototyping based on Calibre

Calibrestekje is a Python library which provides a way to work with the Calibre database outside the context of the Calibre desktop and web interfaces.

Generated SQLAlchemy database bindings (see sqlacodegen for more) are provided which allow for read/write access to an existing Calibre database. These bindings are more fine grained than Calibres database interface and provide direct access to the Database table layer. The bindings are generated from Calibre version 2.75.1.

A flask extension is also provided for getting started with web prototyping. Please see flask-calibrestekje and the flask usage documentation for more.

Quick Example

from calibrestekje import Book, Publisher, init_session

session = init_session("sqlite:///mymetadata.db")

publisher = (session.query(Publisher)
                    .filter(Publisher.name == "MIT Press").one())

books = (session.query(Book)
                .filter(Book.publishers.contains(publisher)))

print(f"Books published by MIT Press: {books.count()}")