Directory based library to OPDS feeds generator
Project description
Lib2OPDS
lib2opds generates OPDS (version 1.2) catalog for local e-book library so it can be hosted utilizing web server. Currently meta data extraction is supported only for ePUB format.
Features
- Directory hierarchy support
- Virtual directories: new books, authors, etc.
- ePUB format: metadata extraction, thumbnail generation
- PDF format: metadata extraction, thumbnail generation
- "Lazy" updating of feeds.
lib2opdsre-generates feeds only when new files are added into the library - Sidecar files for metadata extraction
- Global and local configuration files as well as command line options
How to install
lib2opds is distributed on PyPI. The best way to install it is with pipx.
pipx install lib2opds
How to use
$ tree ./test-library/
./test-library/
├── Linux
│ └── How Linux Works - Brian Ward.epub
└── Science Fiction
├── All Systems Red.epub
└── I, Robot - Isaac Asimov.epub
$ lib2opds --opds-base-uri "/opds/" --library-base-uri "/library/" --library-dir "./test-library" --opds-dir "./output"
$ tree ./output/
./output/
├── covers
│ ├── 03e1b3fe-66b2-43eb-b9f1-da72813419e2
│ ├── 14cdd72c-680c-491c-a017-ddd0d2dbb1d2
│ └── e01dab66-3f78-402a-9ac8-83ebc6b24f11
├── feeds
│ ├── 101bcb13-37bf-4e13-a543-22c5ff3567d3.xml
│ ├── 127ae484-af53-4056-9cff-517984321e26.xml
│ └── db1d5760-72f5-4f23-af42-d9d6406207c9.xml
└── index.xml
/etc/lib2opds.ini is used by default and options can be overridden via command line arguments.
Example of configuration file for Nginx:
location /library {
alias /library-dir;
}
location /opds {
auth_basic "Library Area";
auth_basic_user_file /etc/nginx/htpasswd;
alias /opds-dir;
index root.xml index.xml;
}
location /opds/covers {
alias /opds-dir/covers;
}
Library location here is not protected with basic auth because of the bug in some e-book reader software.
Tested devices and applications
- PocketBook devices
- KyBook 3 EBook Reader
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lib2opds-0.1.0.tar.gz.
File metadata
- Download URL: lib2opds-0.1.0.tar.gz
- Upload date:
- Size: 22.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.11.2 Linux/6.1.0-13-amd64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43b93934273d01891ce475cf1bc71ce927dcf6356f8d56f619fc9ace3a8252ee
|
|
| MD5 |
80e5765928aa98b7c998bf734bf4736c
|
|
| BLAKE2b-256 |
55effc6fe71aade16c5633b46d592a72529beee89574687b6cfea5ce0759704f
|
File details
Details for the file lib2opds-0.1.0-py3-none-any.whl.
File metadata
- Download URL: lib2opds-0.1.0-py3-none-any.whl
- Upload date:
- Size: 23.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.11.2 Linux/6.1.0-13-amd64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a30df5c6c5ad03f41f8822aa50a12b4469c64d0a4c52f8481f79dba9937cdbb
|
|
| MD5 |
2bb7fb5f9e5188a1393ee0ca16be6cbd
|
|
| BLAKE2b-256 |
bf6a00369bc602d3d5a16b8b2ba431c833e14b84c5787d7660f9f460bcab6c26
|