Metadata-Version: 2.1
Name: calibreweb
Version: 0.6.21
Summary: Web app for browsing, reading and downloading eBooks stored in a Calibre database.
Home-page: https://github.com/janeczku/calibre-web
Author: @OzzieIsaacs
Author-email: Ozzie.Fernandez.Isaacs@googlemail.com
Maintainer: @OzzieIsaacs
License: GPLv3+
Project-URL: Bug Tracker, https://github.com/janeczku/calibre-web/issues
Project-URL: Release Management, https://github.com/janeczku/calibre-web/releases
Project-URL: Documentation, https://github.com/janeczku/calibre-web/wiki
Project-URL: Source Code, https://github.com/janeczku/calibre-web
Keywords: calibre,calibre-web,library
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Werkzeug (<3.0.0)
Requires-Dist: APScheduler (<3.11.0,>=3.6.3)
Requires-Dist: Babel (<3.0,>=1.3)
Requires-Dist: Flask-Babel (<3.2.0,>=0.11.1)
Requires-Dist: Flask-Login (<0.6.3,>=0.3.2)
Requires-Dist: Flask-Principal (<0.5.1,>=0.3.2)
Requires-Dist: Flask (<2.4.0,>=1.0.2)
Requires-Dist: iso-639 (<0.5.0,>=0.4.5)
Requires-Dist: PyPDF (<3.16.0,>=3.0.0)
Requires-Dist: pytz (>=2016.10)
Requires-Dist: requests (<2.32.0,>=2.28.0)
Requires-Dist: SQLAlchemy (<2.0.0,>=1.3.0)
Requires-Dist: tornado (<6.4,>=6.3)
Requires-Dist: Wand (<0.7.0,>=0.4.4)
Requires-Dist: unidecode (<1.4.0,>=0.04.19)
Requires-Dist: lxml (<5.0.0,>=3.8.0)
Requires-Dist: flask-wtf (<1.2.0,>=0.14.2)
Requires-Dist: chardet (<4.1.0,>=3.0.0)
Requires-Dist: advocate (<1.1.0,>=1.0.0)
Requires-Dist: Flask-Limiter (<3.5.0,>=2.3.0)
Provides-Extra: comics
Requires-Dist: natsort (<8.4.0,>=2.2.0) ; extra == 'comics'
Requires-Dist: comicapi (<3.3.0,>=2.2.0) ; extra == 'comics'
Provides-Extra: gdrive
Requires-Dist: google-api-python-client (<2.98.0,>=1.7.11) ; extra == 'gdrive'
Requires-Dist: gevent (<24.0.0,>20.6.0) ; extra == 'gdrive'
Requires-Dist: greenlet (<2.1.0,>=0.4.17) ; extra == 'gdrive'
Requires-Dist: httplib2 (<0.23.0,>=0.9.2) ; extra == 'gdrive'
Requires-Dist: oauth2client (<4.1.4,>=4.0.0) ; extra == 'gdrive'
Requires-Dist: uritemplate (<4.2.0,>=3.0.0) ; extra == 'gdrive'
Requires-Dist: pyasn1-modules (<0.4.0,>=0.0.8) ; extra == 'gdrive'
Requires-Dist: pyasn1 (<0.6.0,>=0.1.9) ; extra == 'gdrive'
Requires-Dist: PyDrive2 (<1.18.0,>=1.3.1) ; extra == 'gdrive'
Requires-Dist: PyYAML (<6.1,>=3.12) ; extra == 'gdrive'
Requires-Dist: rsa (<4.10.0,>=3.4.2) ; extra == 'gdrive'
Provides-Extra: gmail
Requires-Dist: google-auth-oauthlib (<1.1.0,>=0.4.3) ; extra == 'gmail'
Requires-Dist: google-api-python-client (<2.98.0,>=1.7.11) ; extra == 'gmail'
Provides-Extra: goodreads
Requires-Dist: goodreads (<0.4.0,>=0.3.2) ; extra == 'goodreads'
Requires-Dist: python-Levenshtein (<0.22.0,>=0.12.0) ; extra == 'goodreads'
Provides-Extra: kobo
Requires-Dist: jsonschema (<4.20.0,>=3.2.0) ; extra == 'kobo'
Provides-Extra: ldap
Requires-Dist: python-ldap (<3.5.0,>=3.0.0) ; extra == 'ldap'
Requires-Dist: Flask-SimpleLDAP (<1.5.0,>=1.4.0) ; extra == 'ldap'
Provides-Extra: metadata
Requires-Dist: rarfile (>=3.2) ; extra == 'metadata'
Requires-Dist: scholarly (<1.8,>=1.2.0) ; extra == 'metadata'
Requires-Dist: markdown2 (<2.5.0,>=2.0.0) ; extra == 'metadata'
Requires-Dist: html2text (<2022.1.1,>=2020.1.16) ; extra == 'metadata'
Requires-Dist: python-dateutil (<2.9.0,>=2.1) ; extra == 'metadata'
Requires-Dist: beautifulsoup4 (<4.13.0,>=4.0.1) ; extra == 'metadata'
Requires-Dist: faust-cchardet (<2.1.20,>=2.1.18) ; extra == 'metadata'
Requires-Dist: py7zr (<0.21.0,>=0.15.0) ; extra == 'metadata'
Provides-Extra: oauth
Requires-Dist: Flask-Dance (<7.1.0,>=2.0.0) ; extra == 'oauth'
Requires-Dist: SQLAlchemy-Utils (<0.42.0,>=0.33.5) ; extra == 'oauth'

# Calibre-Web

Calibre-Web is a web app that offers a clean and intuitive interface for browsing, reading, and downloading eBooks using a valid [Calibre](https://calibre-ebook.com) database.

[![License](https://img.shields.io/github/license/janeczku/calibre-web?style=flat-square)](https://github.com/janeczku/calibre-web/blob/master/LICENSE)
![Commit Activity](https://img.shields.io/github/commit-activity/w/janeczku/calibre-web?logo=github&style=flat-square&label=commits)
[![All Releases](https://img.shields.io/github/downloads/janeczku/calibre-web/total?logo=github&style=flat-square)](https://github.com/janeczku/calibre-web/releases)
[![PyPI](https://img.shields.io/pypi/v/calibreweb?logo=pypi&logoColor=fff&style=flat-square)](https://pypi.org/project/calibreweb/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/calibreweb?logo=pypi&logoColor=fff&style=flat-square)](https://pypi.org/project/calibreweb/)
[![Discord](https://img.shields.io/discord/838810113564344381?label=Discord&logo=discord&style=flat-square)](https://discord.gg/h2VsJ2NEfB)

<details>
<summary><strong>Table of Contents</strong> (click to expand)</summary>

1. [About](#calibre-web)
2. [Features](#features)
3. [Installation](#installation)
   - [Installation via pip (recommended)](#installation-via-pip-recommended)
   - [Quick start](#quick-start)
   - [Requirements](#requirements)
4. [Docker Images](#docker-images)
5. [Contributor Recognition](#contributor-recognition)
6. [Contact](#contact)
7. [Contributing to Calibre-Web](#contributing-to-calibre-web)

</details>


*This software is a fork of [library](https://github.com/mutschler/calibreserver) and licensed under the GPL v3 License.*

![Main screen](https://github.com/janeczku/calibre-web/wiki/images/main_screen.png)

## Features

- Modern and responsive Bootstrap 3 HTML5 interface
- Full graphical setup
- Comprehensive user management with fine-grained per-user permissions
- Admin interface
- Multilingual user interface supporting 20+ languages ([supported languages](https://github.com/janeczku/calibre-web/wiki/Translation-Status))
- OPDS feed for eBook reader apps
- Advanced search and filtering options
- Custom book collection (shelves) creation
- eBook metadata editing and deletion support
- Metadata download from various sources (extensible via plugins)
- eBook conversion through Calibre binaries
- eBook download restriction to logged-in users
- Public user registration support
- Send eBooks to E-Readers with a single click
- Sync Kobo devices with your Calibre library
- In-browser eBook reading support for multiple formats
- Upload new books in various formats, including audio formats
- Calibre Custom Columns support
- Content hiding based on categories and Custom Column content per user
- Self-update capability
- "Magic Link" login for easy access on eReaders
- LDAP, Google/GitHub OAuth, and proxy authentication support

## Installation

#### Installation via pip (recommended)
1. Create a virtual environment for Calibre-Web to avoid conflicts with existing Python dependencies
2. Install Calibre-Web via pip: `pip install calibreweb` (or `pip3` depending on your OS/distro)
3. Install optional features via pip as needed, see [this page](https://github.com/janeczku/calibre-web/wiki/Dependencies-in-Calibre-Web-Linux-and-Windows) for details
4. Start Calibre-Web by typing `cps`

*Note: Raspberry Pi OS users may encounter issues during installation. If so, please update pip (`./venv/bin/python3 -m pip install --upgrade pip`) and/or install cargo (`sudo apt install cargo`) before retrying the installation.*

Refer to the Wiki for additional installation examples: [manual installation](https://github.com/janeczku/calibre-web/wiki/Manual-installation), [Linux Mint](https://github.com/janeczku/calibre-web/wiki/How-To:Install-Calibre-Web-in-Linux-Mint-19-or-20), [Cloud Provider](https://github.com/janeczku/calibre-web/wiki/How-To:-Install-Calibre-Web-on-a-Cloud-Provider).

## Quick Start

1. Open your browser and navigate to `http://localhost:8083` or `http://localhost:8083/opds` for the OPDS catalog
2. Log in with the default admin credentials
3. If you don't have a Calibre database, you can use [this database](https://github.com/janeczku/calibre-web/raw/master/library/metadata.db) (move it out of the Calibre-Web folder to prevent overwriting during updates)
4. Set `Location of Calibre database` to the path of the folder containing your Calibre library (metadata.db) and click "Save"
5. Optionally, use Google Drive to host your Calibre library by following the [Google Drive integration guide](https://github.com/janeczku/calibre-web/wiki/G-Drive-Setup#using-google-drive-integration)
6. Configure your Calibre-Web instance via the admin page, referring to the [Basic Configuration](https://github.com/janeczku/calibre-web/wiki/Configuration#basic-configuration) and [UI Configuration](https://github.com/janeczku/calibre-web/wiki/Configuration#ui-configuration) guides

#### Default Admin Login:
- **Username:** admin
- **Password:** admin123

## Requirements

- Python 3.5+
- [Imagemagick](https://imagemagick.org/script/download.php) for cover extraction from EPUBs (Windows users may need to install [Ghostscript](https://ghostscript.com/releases/gsdnld.html) for PDF cover extraction)
- Optional: [Calibre desktop program](https://calibre-ebook.com/download) for on-the-fly conversion and metadata editing (set "calibre's converter tool" path on the setup page)
- Optional: [Kepubify tool](https://github.com/pgaskin/kepubify/releases/latest) for Kobo device support (place the binary in `/opt/kepubify` on Linux or `C:\Program Files\kepubify` on Windows)

## Docker Images

Pre-built Docker images are available in the following Docker Hub repositories (maintained by the LinuxServer team):

#### **LinuxServer - x64, aarch64**
- [Docker Hub](https://hub.docker.com/r/linuxserver/calibre-web)
- [GitHub](https://github.com/linuxserver/docker-calibre-web)
- [GitHub - Optional Calibre layer](https://github.com/linuxserver/docker-mods/tree/universal-calibre)

  Include the environment variable `DOCKER_MODS=linuxserver/mods:universal-calibre` in your Docker run/compose file to add the Calibre `ebook-convert` binary (x64 only). Omit this variable for a lightweight image.

  Both the Calibre-Web and Calibre-Mod images are automatically rebuilt on new releases and updates.

  - Set "path to convertertool" to `/usr/bin/ebook-convert`
  - Set "path to unrar" to `/usr/bin/unrar`

## Contributor Recognition

We would like to thank all the [contributors](https://github.com/janeczku/calibre-web/graphs/contributors) and maintainers of Calibre-Web for their valuable input and dedication to the project. Your contributions are greatly appreciated.

## Contact

Join us on [Discord](https://discord.gg/h2VsJ2NEfB)

For more information, How To's, and FAQs, please visit the [Wiki](https://github.com/janeczku/calibre-web/wiki)

## Contributing to Calibre-Web

Check out our [Contributing Guidelines](https://github.com/janeczku/calibre-web/blob/master/CONTRIBUTING.md)
