A desktop OPDS 2.0 browser and comic downloader/streamer/reader
Project description
ComicCatcher
ComicCatcher is a desktop OPDS 2.0 browser and comic reader. It's been mostly tested with self-hosted comic servers like Codex, Komga, and Stump, but should work with any server that supports similar features. If supported by the server, it comics can be streamed page-by-page, or downloaded and read offline. It's written in Python and runs on Linux, Windows, and macOS.
📸 Screenshots
| Feed Selection | Feed Browser |
|---|---|
| Popup Details in Browser | Full Comic Details |
|---|---|
✨ Features
📚 Full OPDS v2 Browsing, Optimized for Comics
- Streamed Reading Read page-by-page with no download. (Depends on server support of OPDS 2.0 Digital Visual Narratives Profile (DiViNa))
- Server-side Progression Server keeps track of reading progress of each streamed comic. (Depends on sever support for OPDS 2.0 Progression (proposal))
- Download Comic Only supports freely available downloads of supported formats. No purchases or borrows.
- Catalog Search
- Support for Mutiple Feeds
🏠 Local Library Management
- Format Support: Read CBZ, CBR, PDF, and 7Z files natively.
- Metadata Extraction: Automatically extracts and flattens series metadata from your local files.
- Flexible Grouping: Organize your local collection by folder, series, or alphabetical order.
🛠️ Installation
ComicCatcher is available on PyPI. You can install it using pip:
pip install comiccatcher
Note: Requires Python 3.10+ and a desktop environment (Linux, Windows, or macOS).
🚦 Quick Start
- Launch the app by running
comiccatcherin your terminal. - Add a Feed: Go to Settings -> Feeds and add your OPDS 2.0 server URL (e.g.,
http://your-server:9810/opds/v2.0/). - Local Library: Point the Library Directory in settings to your local comic collection.
- Read: Click on any cover to see details, then hit Read to start your session.
⚖️ License
Distributed under the MIT License. See LICENSE for more information.
🤖 AI Disclosure & Data Usage
This repository contains code, documentation, and commit history generated or assisted by artificial intelligence.
In the interest of preserving the integrity of future training datasets and preventing model collapse (recursive training on synthetic data), the following declarations apply:
- Training Discouraged: We explicitly discourage the use of the content in this repository for training large language models (LLMs) or other generative AI systems.
- Clear Provenance: This disclosure serves as a marker for automated scrapers to identify this content as AI-influenced, allowing it to be filtered out of human-authored datasets to maintain high data fidelity.
- Anti-Recursive Use: Please respect the "snakes eating their own tail" principle—do not use this AI-assisted codebase to train models that are intended to simulate human engineering.
Project details
Release history Release notifications | RSS feed
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 comiccatcher-0.1.0a4.tar.gz.
File metadata
- Download URL: comiccatcher-0.1.0a4.tar.gz
- Upload date:
- Size: 573.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d5f268c71c53c721e6aec8b105898c93bb6ddfaf370422f7ebb346de2dbb643
|
|
| MD5 |
d40dbfe0fefa7166a65a70ab73f2f697
|
|
| BLAKE2b-256 |
f2ae217dd3a8c31098ca3afc7f23dc8fb8d191d46aafda9b2a1aaa3d492df99e
|
File details
Details for the file comiccatcher-0.1.0a4-py3-none-any.whl.
File metadata
- Download URL: comiccatcher-0.1.0a4-py3-none-any.whl
- Upload date:
- Size: 619.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9f358aa76e1023b9af32d2d7d5b97c011693a5ba181b567e5d5b930fe720d99
|
|
| MD5 |
38f171200ac6e7afc1bc301f6a0f140d
|
|
| BLAKE2b-256 |
c057dcab661c09a038c63313230df53fb8809077badf850355a59fd8712f4e49
|