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. Comics can be streamed page-by-page, or downloaded and read offline. 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. 🙈


✨ Features

📚 Full OPDS 2.0 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))
  • Comic Downloads Only supports freely available downloads of supported formats. No purchases or borrows.
  • Server Catalog Search
  • Support for Mutiple Feeds

🏠 Local Library Management

  • Format Support: Read CBZ, CBR, CBT, CB7, and PDF files.
  • Metadata: Uses in-file metadata for display and organization.
  • Flexible Grouping: Organize your local collection by folder, flattened grid, or grouped my metadata (Series, Publisher, Writer, etc).

📸 Screenshots

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

🛠️ Installation

  • Available on PyPI installable via pip:

    pip install comiccatcher
    

    Note: Requires Python 3.10+ and a desktop environment (Linux, Windows, or macOS).

  • Single-file app packages are also availiable for Linux (AppImage), Windows (stand-alone exe), and macOS (dmg)


🚦 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. Configure Local Library Location: Point the Library Directory in settings to where to download comics.
  4. Browse: Browse the feed to find a comic.
  5. Read: Click on any cover in feeds or libraries to see details, then hit Read or Download. Downloaded comics will appear in the Library tab.

⚖️ 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 "ouroboros" problem — 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.0a8.tar.gz (574.6 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.0a8-py3-none-any.whl (621.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: comiccatcher-0.1.0a8.tar.gz
  • Upload date:
  • Size: 574.6 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.0a8.tar.gz
Algorithm Hash digest
SHA256 dd55d9e65204ef59ba20d34b4235461d89b7aa3cc259624da360f32ee3214739
MD5 2582f0b24ffaad9116ce72856f6f7c1a
BLAKE2b-256 100212b781eb9f0131c798a8eb36246fda0daba7953eced6ccfff51464ec0e0c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: comiccatcher-0.1.0a8-py3-none-any.whl
  • Upload date:
  • Size: 621.0 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.0a8-py3-none-any.whl
Algorithm Hash digest
SHA256 307aa232af484a664488283c6144650bcc71887c735614893082ba7378396d90
MD5 e9fe9fb38d4383c1cffb7dc5dad1eee4
BLAKE2b-256 a3a3ab3d2f5ba9570b9f0174f3867d20f8e2781b579b3aa5e6c0f2e875979288

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