LazyLibrarian is a SickBeard, CouchPotato, Headphones-like application for ebooks, audiobooks and magazines
Go to file
phil.borman@gmail.com 3dd2f0da1f Code tidying
2026-02-05 18:27:22 +01:00
data feat: allow retrying anna downloads 2026-02-01 22:52:05 +01:00
init Fix init script issues 2025-03-12 03:35:46 +00:00
lazylibrarian Code tidying 2026-02-05 18:27:22 +01:00
LazyLibrarian.app/Contents Issue 4 - merge in Herman Rodgers branch - alot of work in it 2013-06-06 22:18:27 +01:00
lib Return default download directory for downloads from annas/zlib/libgen 2026-01-15 17:52:35 +01:00
scripts/ci Install pillow for CI unit tests in pipeline 2023-01-17 01:26:46 +00:00
unittests Better fix for #2945 provider api access 2026-02-05 13:06:01 +01:00
.gitignore Ignore pydeps directory 2022-12-21 17:54:00 +00:00
.gitlab-ci.yml Make the test-all-mods job run every day 2022-12-17 11:13:54 +00:00
.pre-commit-config.yaml Add two new files 2026-01-07 18:24:11 +01:00
demo_preprocessor.py Moved preprocessor into main program 2020-02-26 11:11:04 +01:00
epubandmobi.py Added note about python path for systems with only python3 2019-09-01 16:40:18 +02:00
example_custom_notification.py Added note about python path for systems with only python3 2019-09-01 16:38:59 +02:00
example_custom_notification.sh Custom notifier examples and snatch/download 2017-03-16 18:18:55 +01:00
example_ebook_convert.py Added note about python path for systems with only python3 2019-09-01 16:38:59 +02:00
example_mega_link.py Pycharm tidying 2025-01-02 11:22:02 +01:00
example_rclone_link.sh indent tidying 2021-04-07 15:15:21 +02:00
example.dicts.json Moved filename,umlaut,apostrophe dicts into json file 2024-10-10 20:20:09 +02:00
example.filetemplate.text Fix for message attachments 2022-10-19 13:28:54 +02:00
example.genres.json Genre changes, added genre editor 2018-11-25 18:39:44 +01:00
example.html.filetemplate.text Code tidying 2022-10-19 14:57:54 +02:00
example.logintemplate.text Fix for message attachments 2022-10-19 13:28:54 +02:00
example.monthnames.json Updated example.monthnames.json to new format 2025-06-05 21:05:55 +02:00
gsconvert.py Pycharm tidying 2025-01-02 11:22:02 +01:00
ISSUE_TEMPLATE.md Spelling and grammar fixes 2023-11-15 16:22:38 +01:00
LazyLibrarian.py Move nzb capabilities into startup code 2025-11-12 13:23:04 +01:00
LICENSE Add LICENSE 2018-12-27 21:35:46 +00:00
Makefile Add two new files 2026-01-07 18:24:11 +01:00
pyproject.toml feat: add SOCKS proxy support 2026-02-02 14:36:31 +01:00
README.md Better fix for #2945 provider api access 2026-02-05 13:06:01 +01:00
recover.py Downgrade to previous version if upgrade doesnt start 2020-03-27 12:28:27 +01:00
requirements.txt feat: add SOCKS proxy support 2026-02-02 14:36:31 +01:00
UNITTESTING.md Updated how and why to do unit testing 2022-11-19 00:30:21 +00:00

Buy Me a Coffee Buy Me a Coffee

LazyLibrarian

LazyLibrarian is a program to follow authors and grab metadata for all your digital reading needs. It uses a combination of HardCover OpenLibrary Librarything GoodReads and optionally GoogleBooks as sources for author info and book info. License: GNU GPL v3

IMPORTANT NOTE

LazyLibrarian used GoodReads extensively for author and book info, but they have now shut down their api. If you have an existing,working goodreads api key you can continue using it until they close completely, otherwise I suggest using HardCover and/or OpenLibrary.

Description

Right now it's capable of the following:

  • Import an existing calibre library (optional, you dont need calibre)
  • Find authors and add them to the database
  • List all books of an author and mark ebooks or audiobooks as 'wanted'.
  • LazyLibrarian will search for a nzb-file or a torrent or magnet link for that book
  • If a nzb/torrent/magnet is found it will be sent to a download client or saved in a black hole where your download client can pick it up.
  • Currently supported download clients for usenet are :
  • sabnzbd (versions later than 0.7.x preferred)
  • nzbget
  • synology_downloadstation
  • Currently supported download clients for torrent and magnets are:
  • deluge
  • transmission
  • utorrent
  • qbittorrent
  • rtorrent
  • synology_downloadstation
  • When processing the downloaded books it will save a cover picture (if available) and save all metadata into metadata.opf next to the bookfile (calibre compatible format)
  • The new theme for the site allows it to be accessed from devices with a smaller screen (such as a tablet)
  • AutoAdd feature for book management tools like Calibre which must have books in flattened directory structure, or use calibre to import your books into an existing calibre library
  • LazyLibrarian can also be used to search for and download magazines, and monitor for new issues

Install:

LazyLibrarian runs by default on port 5299 at http://localhost:5299

  • Install Python 3 v3.7 or higher - later is better
  • Git clone/extract LL wherever you like
  • Install any missing dependencies using "pip install ." or "python -m pip install ." (include the dot at the end)
  • Run python LazyLibrarian.py -d or python LazyLibrarian.py --daemon to start in daemon mode
  • Fill in all the config (see the docs)

Documentation:

There is extensive documentation at https://lazylibrarian.gitlab.io/ and a reddit at https://www.reddit.com/r/LazyLibrarian/

Docker tutorial http://sasquatters.com/lazylibrarian-docker/ Config tutorial http://sasquatters.com/lazylibrarian-configuration/

Update

Auto update available via interface from master for git and source installs

Docker packages

LinuxServer : https://hub.docker.com/r/linuxserver/lazylibrarian/ The docker package includes ghostscript for magazine cover generation and calibredb (via optional variable) LinuxServer docker is multi-arch and works on X86_64, armhf and aarch64 (calibredb only available on X86_64) The dockers can be upgraded using the lazylibrarian internal upgrade mechanism

Buy Me a Coffee Buy Me a Coffee