Shelfie - Local Library Manager
Shelfie is a fast, self-hosted web application for managing your personal library of PDFs and EPUBs. Designed with simplicity in mind, Shelfie automatically watches your book folder for new files, generates covers, and provides a clean, responsive web interface to browse and search your collection.
Screenshots
Installation
Pip
Requirements:
- Python 3.11+ Best works with Python 3.12
- pip
The stable releases of shelfie are distributed on PyPI and can be easily installed or upgraded using pip:
pip install shelfie-py
shelfie
Docker
git clone https://github.com/mhmdsamerdev/shelfie.git
cd shelfie/
docker build -t shelfie .
BOOKS_DIR=REPLACE/YOUR/BOOK/PATH docker compose up -d
Pulling image from Docker Hub:
docker run -d -p 8000:8000 -e LIBRARY_PATH=/books -v shelfie_data:/data -v "D:\Your\Books\Folder":/books:ro mhmdsamerdev/shelfie
CLI options
shelfie [--host HOST] [--port PORT] [--reload] [--log-level LEVEL]
--host Bind address (default: 127.0.0.1)
--port Port number (default: 8000)
--reload Auto-reload on code changes (development)
--log-level debug | info | warning | error (default: info)
Update checks
On startup, Shelfie checks PyPI for a newer shelfie-py release and prints an upgrade hint:
- Pip installs:
pip install --upgrade shelfie-py - Docker installs:
docker pull mhmdsamerdev/shelfie
Disable this check by setting SHELFIE_DISABLE_UPDATE_CHECK=1.
All user data is stored under SHELFIE_DATA_DIR (default ~/.shelfie)
🤝 Contributing
Please open an issue first to discuss what you would like to change.
Release files for shelfie-py 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| shelfie_py-0.2.2.tar.gz | 361.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| shelfie_py-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 723.9 kB
Release files / shelfie_py-0.2.2.tar.gz
| Download URL | shelfie_py-0.2.2.tar.gz |
|---|---|
| Size | 361.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bafee8f29df42b03c8d44a409c099deab432c17fb63bbd6536b513098830a1c3
|
|
BLAKE2b-256 checksum How to use checksums |
252803b10bd7112eab49b6b1e1b47584e88a1abe46482a824046a33e6b9f7dd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / shelfie_py-0.2.2-py3-none-any.whl
| Download URL | shelfie_py-0.2.2-py3-none-any.whl |
|---|---|
| Size | 362.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6388284a162b7a745e4b37e48c949761578960caea5d649125c3583007282199
|
|
BLAKE2b-256 checksum How to use checksums |
e0f661a4193a996f614d00d2f839153a8a334faf6901e88d593c5de2fc3bddfa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|