This repository has been archived on 2024-07-28. You can view files and clone it, but cannot push or open issues or pull requests.
2020-03-01 00:05:10 +00:00
2020-02-29 23:24:43 +00:00
2020-02-26 19:40:03 +01:00
2020-02-29 23:48:24 +00:00
2020-02-29 23:52:18 +00:00
2020-02-28 10:51:58 +00:00
2020-02-26 19:40:03 +01:00
2020-02-26 19:40:03 +01:00
2020-02-26 19:40:03 +01:00
2020-02-27 19:46:00 +00:00
2020-02-26 19:40:03 +01:00
2020-02-26 19:40:03 +01:00
2020-02-26 19:40:03 +01:00
2020-02-27 17:57:31 +00:00
2020-02-27 19:46:11 +00:00
2020-03-01 00:05:10 +00:00
2020-02-29 22:35:55 +00:00
2020-02-26 19:40:03 +01:00
2020-02-29 23:52:18 +00:00

.. _header:

*************
calibrestekje
*************

.. image:: https://img.shields.io/badge/license-GPL-brightgreen.svg
   :target: LICENSE
   :alt: Repository license

.. image:: https://badge.fury.io/py/calibrestekje.svg
   :target: https://badge.fury.io/py/calibrestekje
   :alt: PyPI package

.. image:: https://travis-ci.com/Calibrestekje/calibrestekje.svg?branch=master
   :target: https://travis-ci.com/Calibrestekje/calibrestekje
   :alt: Travis CI result

.. image:: https://readthedocs.org/projects/calibrestekje/badge/?version=latest
   :target: https://calibrestekje.readthedocs.io/en/latest/
   :alt: Documentation status

.. image:: http://img.shields.io/liberapay/patrons/decentral1se.svg?logo=liberapay
   :target: https://liberapay.com/decentral1se
   :alt: Support badge

.. _introduction:

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. A set of generated `SQLAlchemy`_ bindings (see `sqlacodegen`_ for
more) are provided which allow for the read/write access to an existing Calibre
metadata database (a file typically called ``metadata.db``). These bindings are
more fine grained than Calibres `database interface`_ and provide direct access
to the Database table layer.

.. _Calibre: https://calibre-ebook.com/
.. _SQLALchemy: https://docs.sqlalchemy.org/
.. _sqlacodegen: https://github.com/agronholm/sqlacodegen
.. _database interface: https://manual.calibre-ebook.com/db_api.html
.. _Relearn!: http://relearn.be/2019/

.. _example:

Quick Example
*************

See documentation linked below for more.

.. code-block:: python

    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()}")

.. _documentation:

Documentation
*************

* https://calibrestekje.readthedocs.io/

Mirroring
*********

* `hack.decentral1.se/decentral1se/calibrestekje`_

.. _hack.decentral1.se/decentral1se/calibrestekje: https://hack.decentral1.se/decentral1se/calibrestekje/
Description
Library prototyping based on Calibre
Readme 108 KiB
Languages
Python 100%