Library prototyping based on Calibre
calibrestekje | ||
changelog | ||
docs | ||
test | ||
.gitignore | ||
.readthedocs.yml | ||
.travis.yml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
MANIFEST.in | ||
mypy.ini | ||
pyproject.toml | ||
README.md | ||
setup.cfg | ||
setup.py | ||
tox.ini |
calibrestekje
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()}")