An API for reading comic archives
Project description
Comicbox
A comic book archive metadata reader and writer.
✨ Features
📚Comic Formats
Comicbox reads CBZ, CBR, CBT, and optionally PDF. Comicbox archives and writes CBZ archives and PDF metadata.
🏷️ Metadata Formats
Comicbox reads and writes:
- ComicRack Comicinfo.xml v2.1 (draft),
- Also, an unofficial, undocumented Mylar extension to ComicInfo.xml that encodes multiple Story Arcs and Story Arc Numbers as CSV values.
- ComicBookInfo format
- CoMet format.
- PDF Metadata.
- A variety of filename schemes that encode metadata.
Usefulness
Comicbox's primary purpose is a library for use by Codex comic reader. The API isn't well documented, but you can infer what it does pretty easily here: comicbox.comic_archive as the primary interface.
The command line is increasingly useful and can read and write metadata recursively and extract pages.
Limitations and Alternatives
Comicbox does not use popular metadata database APIs or have a GUI!
Comictagger is a popular alternative. It does most of what Comicbox does but also automatically tags comics with the ComicVine API and has a desktop UI.
📦 Installation
pip install comicbox
Comicbox supports PDFs as an extra when installed like:
pip install comicbox[pdf]
Dependencies
Comicbox generally works without any binary dependencies but requires unrar
be on the path to convert CBR into CBZ or extract files from CBRs.
⌨️ Usage
Console
Type
comicbox -h
see the CLI help.
Examples
comicbox test.cbz -m "Tags=a,b,c" -m "Publisher=SmallComics" -w cr
Will write those tags to comicinfo.xml in the archive.
⚙️ Config
comicbox accepts command line arguments but also an optional config file and environment variables.
The variables have defaults specified in a default yaml
The environment variables are the variable name prefixed with COMICBOX_
. (e.g. COMICBOX_COMICINFOXML=0)
Log Level
change logging level:
LOGLEVEL=ERROR comicbox -p <path>
🛠 Development
You may access most development tasks from the makefile. Run make to see documentation.
🤔 Motivation
I didn't like Comictagger's API, so I built this for myself as an educational exercise and to use as a library for Codex comic reader.
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
File details
Details for the file comicbox-0.10.1.tar.gz
.
File metadata
- Download URL: comicbox-0.10.1.tar.gz
- Upload date:
- Size: 79.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.4 Linux/5.15.0-1030-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c469a2b710c806d1669c7f745379975c32dce9cce90533b73c64c9b0f9b83330 |
|
MD5 | fb7146db854fd9910dfda941de79c6d7 |
|
BLAKE2b-256 | 36c4eb332c30b683d77aedd49a692ed17d4bfd7fb3dfa7f6890d575970cbd491 |
File details
Details for the file comicbox-0.10.1-py3-none-any.whl
.
File metadata
- Download URL: comicbox-0.10.1-py3-none-any.whl
- Upload date:
- Size: 36.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.4 Linux/5.15.0-1030-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ebea2212d46a898091122cc9ee20f7a0cd7337d368191b7fd262834c34f4337 |
|
MD5 | 3e6f3e07b7c3a3fde7e33cd4ab92fd36 |
|
BLAKE2b-256 | 6b6dd87c7d4b0d27ff71026d4379c84383a8b7778cd9b89045f8479383e6d072 |