Skip to main content

A desktop OPDS 2.0 browser and comic downloader/streamer/reader

Project description

ComicCatcher

ComicCatcher Logo

PyPI version License: MIT

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, comics can be streamed page-by-page, or downloaded and read offline. The usage paradigm is inspired by podcast "podcatcher" apps which stream and download, but don't maintain huge libraries of local files. It's written in Python and runs on Linux, Windows, and macOS (not yet tested 🤞).

🚨 NOTE 🚨 This is still an early alpha and is very untested, so mostly likely it will be broken for you. 🙈


📸 Screenshots

Feed Selection Feed Browser Popup Mini Details
Feed Selection Feed Browser Popup Details
Full Comic Details Reader Library Groups
Full Comic Details Reader Transition Library Groups

✨ 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

  1. Launch the app by running comiccatcher in your terminal.
  2. Add a Feed: Go to Settings -> Feeds and add your OPDS 2.0 server URL (e.g., http://your-server:9810/opds/v2.0/).
  3. Local Library: Point the Library Directory in settings to where to download comics.
  4. Read: Click on any cover in feeds or libraries 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

comiccatcher-0.1.0a5.tar.gz (574.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

comiccatcher-0.1.0a5-py3-none-any.whl (620.5 kB view details)

Uploaded Python 3

File details

Details for the file comiccatcher-0.1.0a5.tar.gz.

File metadata

  • Download URL: comiccatcher-0.1.0a5.tar.gz
  • Upload date:
  • Size: 574.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for comiccatcher-0.1.0a5.tar.gz
Algorithm Hash digest
SHA256 13d072df666d76498ee592f9e02bd243d49493faf0eabee2aaff09612b7ab90b
MD5 352ac18ef195c3b88d04772beed7d1ba
BLAKE2b-256 a79c68325bbb3654419b0b6ca4578b279b01aaf2b907e7ab0345b669eee15b2b

See more details on using hashes here.

File details

Details for the file comiccatcher-0.1.0a5-py3-none-any.whl.

File metadata

  • Download URL: comiccatcher-0.1.0a5-py3-none-any.whl
  • Upload date:
  • Size: 620.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for comiccatcher-0.1.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 1b0b0e3ec91f4aac7852c510a24898e9d1bd7b3d3af16010b2aed656a70964a7
MD5 da27ff10780a16901a68b85f6d1ca5dc
BLAKE2b-256 225186e10e22d3eb33a2e642efe0055a5fc072df8191e54c8cfb316bbb2e5fee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page