Comic/manga/webtoon downloader and converter to CBZ/EPUB/PDF
Project description
mandown
Comic downloader and converter to CBZ, EPUB, and/or PDF as a Python library and command line application.
Supported sites
To request a new site, please file a new issue.
- https://mangasee123.com
- https://manganato.com
- https://webtoons.com
- https://mangadex.org
- https://mangakakalot.com
- https://readcomiconline.li
Installation
Install the package from PyPI:
pip3 install mandown
Install the optional large dependencies for some features of Mandown:
# image processing
pip3 install Pillow
# graphical interface (GUI)
pip3 install PySide6
Arch Linux users may also install the package from the AUR:
git clone https://aur.archlinux.org/mandown-git.git
makepkg -si
Or, to build from source:
Mandown depends on poetry for building.
git clone https://github.com/potatoeggy/mandown.git
poetry install
poetry build
pip3 install dist/mandown*.whl
Usage
mandown get <URL>
To convert the download contents to CBZ/EPUB, append the --convert option. To apply image processing to the downloaded images, append the --process option.
mandown get <URL> --convert epub --process rotate_double_pages
To download only a certain range of chapters, append the --start and/or --end options.
Note:
--startand--endare inclusive, i.e., using--start 2 --end 3will download chapters 2 and 3.
To convert an existing folder without downloading anything (like a stripped-down version of https://github.com/ciromattia/kcc), use the convert command.
mandown convert <FORMAT> <PATH_TO_FOLDER>
To process an existing folder without downloading anything, use the process command.
mandown process <PROCESS_OPERATIONS> <PATH_TO_FOLDER>
Where PROCESS_OPERATIONS is an option found from running mandown process --help.
Run mandown --help for more info.
Library usage
To just download the images:
import mandown
mandown.download("https://comic-site.com/the-best-comic")
To download and convert to EPUB:
import mandown
comic = mandown.query("https://comic-site.com/the-best-comic")
mandown.download(comic)
mandown.convert(comic, comic.metadata.title, "epub")
More advanced stuff:
import mandown
# load a previously downloaded comic...
comic = mandown.load("path/to/comic/folder")
print(comic.metadata, comic.chapters)
# ...OR fetch a comic from a source by URL
comic = mandown.query(url_to_comic)
print(comic.metadata, comic.chapters)
# download the first 10 chapters of comic to ./comic using 4 threads
mandown.download(comic, "./comic/", threads=4, end=10)
# apply image post-processing to comic images in ./comic
mandown.process("./comic/", options=["rotate_double_pages", "trim_borders"])
# convert comic located in ./comic to epub, storing it in ./epubs
mandown.convert(comic, "./comic/", "epub", "./epubs")
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 mandown-1.1.1.tar.gz.
File metadata
- Download URL: mandown-1.1.1.tar.gz
- Upload date:
- Size: 32.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.8 Linux/6.0.8-zen1-1-zen
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c59786bbb7bf7ef8e694d4660b3ae214ac79df9b9117d31688fe1ad74968538
|
|
| MD5 |
fc089bfa27b1838e8c8ffe07e1b7790b
|
|
| BLAKE2b-256 |
70b53b884c240ddc244e8ea2f89de10b8fcc5dd5aa5560741e72ff8bb9038292
|
File details
Details for the file mandown-1.1.1-py3-none-any.whl.
File metadata
- Download URL: mandown-1.1.1-py3-none-any.whl
- Upload date:
- Size: 40.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.8 Linux/6.0.8-zen1-1-zen
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3f3b8839919b541dc8ad2998d0a9fc0be39cf9ea97081e70730a1bc5862602c
|
|
| MD5 |
85d48804a8b6ef07cf062853f2c554bf
|
|
| BLAKE2b-256 |
bfdd74d79052fd49e778257d1497ec5d116750c2a178fba55d0c42106a83a036
|