{"id":40634592,"url":"https://github.com/steinarb/opds-reader","last_synced_at":"2026-01-21T07:44:23.079Z","repository":{"id":39898013,"uuid":"41385668","full_name":"steinarb/opds-reader","owner":"steinarb","description":"A calibre plugin containing an OPDS client that can import books into calibre","archived":false,"fork":false,"pushed_at":"2024-01-08T16:16:00.000Z","size":85,"stargazers_count":46,"open_issues_count":22,"forks_count":23,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-04-14T11:05:16.838Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/steinarb.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-25T20:14:12.000Z","updated_at":"2024-03-03T12:57:59.000Z","dependencies_parsed_at":"2022-07-15T07:48:00.409Z","dependency_job_id":null,"html_url":"https://github.com/steinarb/opds-reader","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/steinarb/opds-reader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steinarb%2Fopds-reader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steinarb%2Fopds-reader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steinarb%2Fopds-reader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steinarb%2Fopds-reader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steinarb","download_url":"https://codeload.github.com/steinarb/opds-reader/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steinarb%2Fopds-reader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28629916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-21T07:44:22.524Z","updated_at":"2026-01-21T07:44:23.062Z","avatar_url":"https://github.com/steinarb.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"-*- coding: utf-8 -*-\n\n* Calibre OPDS client\n** What's this?\nThis is a calibre plugin that is an OPDS client intended to read the contents of another calibre installation, find the differences to the current calibre and offer to copy books from the other calibre into the current calibre\n** How do I install it?\nRequires [[https://git-scm.com/downloads][git]] and [[https://calibre-ebook.com/download][calibre]] installed (minimum calibre version: 6 (because the plugin now uses PyQt6)):\n - Clone the repository:\n   #+BEGIN_EXAMPLE\n     git clone https://github.com/steinarb/opds-reader.git\n   #+END_EXAMPLE\n - Install the plugin in calibre\n   #+BEGIN_EXAMPLE\n     cd opds-reader/calibre_plugin/\n     calibre-customize -b .\n   #+END_EXAMPLE\n - Start calibre (if calibre was already running, stop calibre and start it again)\n - Click the button \"Preferences\"\n - In the dialog \"calibre - Preferences\":\n   - Under \"Interface\", click on the button \"Toolbar\"\n   - In the dialog \"calibre - Preferences - Toolbar\":\n     - In the dropdown, select \"The main toolbar\"\n     - In \"Available actions\" scroll down to find \"OPDS Client\" and select it\n     - Click the top arrow button (arrow pointing right)\n     - Click the \"Apply\" button\n   - Click the \"Close\" button\n** How do I use it?\nI made this tool to backup my book collection between two PCs in my home LAN, and that is the procedure I will document here:\n  1. In the calibre you wish to copy from (in this example called calibre1.home.lan):\n     1. Click Preferences\n     2. In the \"calibre - Preferences\" dialog:\n        1. Click \"Sharing over the net\"\n        2. In the \"calibre - Preferences - Sharing over the net\" dialog:\n           1. Click the \"Start Server\" button\n           2. Select the checkbox \"Run server automatically when calibre starts\"\n           3. Click the \"Apply\" button\n        3. Click the \"close\" button\n  2. In the calibre you wish to copy to\n     1. Install this plugin (see the \"How do I install it?\" section)\n     2. Click the \"OPDS client\" button\n     3. In the \"OPDS client\" dialog\n        1. Edit the \"OPDS URL\" value, change\n           : http://localhost:8080/opds\n           to\n           : http://calibre1.home.lan:8080/opds\n           and then press the RETURN key on the keyboard\n        2. Click the \"Download OPDS\" button\n        3. Wait until the OPDS feed has finished loading (this may take some time if there is a large number of books to load)\n           - Note: if no books appear, try unchecking the \"Hide books already in the library\" checkbox.  If that makes a lot of books appear, it means that the two calibre instances have the same books\n        4. select the books you wish to copy into the current calibre and click the \"Download selected books\"\n           - calibre will start downloading and installing the books:\n             - The Jobs counter in calibre's lower right corner, will show a decrementing number and the icon will spin\n             - The book list will be updated as the books are downloaded\n        5. The downloaded books will be in approximately the same order as in the original, but the time stamp will be the download time. To fix the time stamp, click on the \"Fix timestamps of the selection\" button\n           - The updated timestamps may not show up immediatly, but they will show up after the first update of the display, and the books will be ordered according to the timestamp after stopping and starting calibre\n** Troubleshooting\n*** Nothing happens when I click on \"Download OPDS\" and the URL I typed in isn't preserved\n\nMake sure you press Enter after finishing typing into the URL combo box.  This will download the top OPDS catalog for the OPDS feed.\n\n*** How to I debug the plugin\n\nIf the plugin doesn't work for some reason, start calibre in debug mode and see what ends up in the console.\n\nTo start calibre in debug mode, open a command line window, and type:\n#+begin_example\n  calibre-debug\n#+end_example\n\nIf necessary, add \"print()\" statements to the code to check that its get to the places you expect it to get and start printing out variables.\n\n** License\nThis calibre plugin is copyright Steinar Bang, 2015-2022, and licensed Under GPL version 3.\n\nSee the LICENSE file for more detail.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteinarb%2Fopds-reader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteinarb%2Fopds-reader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteinarb%2Fopds-reader/lists"}