RapidMangaDL


NameRapidMangaDL JSON
Version 0.2.7 PyPI version JSON
download
home_pagehttps://github.com/shhossain/RapidMangaDL
SummarySwiftly download manga from multiple sources.
upload_time2023-08-18 16:36:36
maintainer
docs_urlNone
authorsifat
requires_python>=3.6
licenseMIT
keywords manga downloader
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # RapidMangaDL (Manga Downloader)

RapidMangaDL is a Python package that allows you to swiftly download manga from various sources. It offers multiple ways to interact with the application, including a Command Line Interface (CLI) and an Interactive CLI with a text-based prompt. Additionally, it comes with a web-based GUI to provide a user-friendly experience.
[Suppoted Sources](https://github.com/Auto-Life/RapidMangaDL/blob/main/sources.md)

## Installation

- Install [Python](https://www.python.org/downloads/) (3.6 or higher)
- Go to terminal and run the following command

```bash
pip install RapidMangaDL
```

# Features

Download manga from multiple sources with great speed.
Three different ways to interact with the application: CLI, Interactive CLI, and Web-based GUI.
Select specific chapters or a custom range for downloading.
Choose between downloading the manga in EPUB or PDF format.
Customize the quality of the images (10 to 100).

# Interactive CLI

The Interactive CLI mode provides a user-friendly prompt to search for a manga, select chapters, specify the format, and set image quality.

To start the Interactive CLI mode, simply run:

```bash
mangadl
```

Here's a quick demo:

![CLI](https://github.com/shhossain/RapidMangaDL/raw/main/cli_demo.gif)

# Web-based GUI (Graphical User Interface)

The Web-based GUI offers a graphical interface to interact with the application. You can easily search for manga, select chapters, and initiate downloads.

To start the server, run:

```bash
mangadl gui
```

Here's a sneak peek:

![WEB DEMO](https://github.com/shhossain/RapidMangaDL/raw/main/web_demo.gif)

To create a shareable link, you can use the `--share` flag:

```bash
mangadl gui --share
```

# Command Line Interface (CLI)

The CLI mode allows you to interact with the application using command-line arguments. Here's an example of how you can use it:

```bash
mangadl cli -m https://manganato.com/manga-az963307 -c 1-10 -f epub -q 90
```

You can use the Command Line Interface (CLI) with arguments to initiate a download. Here's a breakdown of the available options:

```bash
usage: mangadl [-h] [-s QUERY] [-m MANGA] [-ss SOURCE] [-c CHAPTERS] [-ex EXCLUDE] [-f {epub,pdf}] [-q QUALITY] [--host HOST] [-p PORT]  [mode]

positional arguments:
  mode                  Mode to run (choices: gui, prompt, cli) [Web ui, Interactive CLI, CLI]

optional arguments:
  -h, --help            show this help message and exit
  -s QUERY, --query QUERY
                        Search for a manga (This will move to interactive mode with the search results)
  -m MANGA, --manga MANGA
                        Manga to download
                        Examples:
                        -m https://manganato.com/manga-az963307 (most reliable)
                        -m manga-id (from web gui something like this managato_uq971673)
                        -m manga-title (Match by similarity, not relaiable)
  -ss SOURCE, --source SOURCE
                        Source to download from (Examples: -ss manganato | -ss mangakakalot | -ss manganelo | -ss mangasee123)
  -c CHAPTERS, --chapters CHAPTERS
                        Chapters to download
                          Examples:
                          -c 1-10 | -c 1,2,3 | -c 1-10, 20-30 | -c 1-10, 20-30, 40, 50, 60-70 | -c latest 10 | -c Chapter 1, Chapter 2 |
                          -c https://manganato.com/manga-az963307/chapter-1-https://manganato.com/manga-az963307/chapter-2
                          -c last (last 5 chapters)

  -ex EXCLUDE, --exclude EXCLUDE
                        Chapters to exclude (same rules apply as --chapters)
  -f {epub,pdf}, --format {epub,pdf}
                        Format to download (choices: epub, pdf)
  -q QUALITY, --quality QUALITY
                        Quality of images (10-100)
  --host HOST           Host address of the server (default: 127.0.0.1)
  -p PORT, --port PORT  Port of the server (default: 80)
  -l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log {DEBUG,INFO,WARNING,ERROR,CRITICAL}
                        Set the log level (choices: DEBUG, INFO, WARNING, ERROR, CRITICAL)
```

# Python API

You can also use the Python API to interact with the application.

Selecting a manga

```python
from manga_dl import Manga

manga = Manga("https://manganato.com/manga-az963307")
manga.set_info()

print(manga.title)
print(manga.author)
print(manga.description)

```

Selecting from search results

```python

mangas = Manga.search("one piece")
manga = mangas[0]
manga.set_info()

print(manga.title)
```

Selecting chapters

```python

manga.select_chapters("last 10")
# or
manga.select_chapters("1-10")
# or
manga.select_chapters("1,2,3,4,5,6,7,8,9,10")
# or
manga.select_chapters("1-10, 20-30, 40, 50, 60-70")
# or
managa.select_chapters("https://manganato.com/manga-az963307/chapter-1-https://manganato.com/manga-az963307/chapter-2")

# exclude chapters
manga.select_chapters("1-10", exclude="5") # same rules apply for exclude
```

Downloading

```python
manga.create_epub()
# or
manga.create_pdf()

# specify quality
manga.create_epub(quality=70) # Default is 85(unchangable)

# specify output directory
manga.create_epub(path="C:/Users/username/Desktop")
```

Launching the server

```python
from manga_dl import app

app.run()
# or
app.run(host="localhost", port=80) # app is a Flask app
```

# Contributing

See [CONTRIBUTING.md](https://github.com/Auto-Life/RapidMangaDL/blob/main/CONTRIBUTING.md)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/shhossain/RapidMangaDL",
    "name": "RapidMangaDL",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "manga downloader",
    "author": "sifat",
    "author_email": "hossain0338@gmail.com",
    "download_url": "",
    "platform": null,
    "description": "# RapidMangaDL (Manga Downloader)\r\n\r\nRapidMangaDL is a Python package that allows you to swiftly download manga from various sources. It offers multiple ways to interact with the application, including a Command Line Interface (CLI) and an Interactive CLI with a text-based prompt. Additionally, it comes with a web-based GUI to provide a user-friendly experience.\r\n[Suppoted Sources](https://github.com/Auto-Life/RapidMangaDL/blob/main/sources.md)\r\n\r\n## Installation\r\n\r\n- Install [Python](https://www.python.org/downloads/) (3.6 or higher)\r\n- Go to terminal and run the following command\r\n\r\n```bash\r\npip install RapidMangaDL\r\n```\r\n\r\n# Features\r\n\r\nDownload manga from multiple sources with great speed.\r\nThree different ways to interact with the application: CLI, Interactive CLI, and Web-based GUI.\r\nSelect specific chapters or a custom range for downloading.\r\nChoose between downloading the manga in EPUB or PDF format.\r\nCustomize the quality of the images (10 to 100).\r\n\r\n# Interactive CLI\r\n\r\nThe Interactive CLI mode provides a user-friendly prompt to search for a manga, select chapters, specify the format, and set image quality.\r\n\r\nTo start the Interactive CLI mode, simply run:\r\n\r\n```bash\r\nmangadl\r\n```\r\n\r\nHere's a quick demo:\r\n\r\n![CLI](https://github.com/shhossain/RapidMangaDL/raw/main/cli_demo.gif)\r\n\r\n# Web-based GUI (Graphical User Interface)\r\n\r\nThe Web-based GUI offers a graphical interface to interact with the application. You can easily search for manga, select chapters, and initiate downloads.\r\n\r\nTo start the server, run:\r\n\r\n```bash\r\nmangadl gui\r\n```\r\n\r\nHere's a sneak peek:\r\n\r\n![WEB DEMO](https://github.com/shhossain/RapidMangaDL/raw/main/web_demo.gif)\r\n\r\nTo create a shareable link, you can use the `--share` flag:\r\n\r\n```bash\r\nmangadl gui --share\r\n```\r\n\r\n# Command Line Interface (CLI)\r\n\r\nThe CLI mode allows you to interact with the application using command-line arguments. Here's an example of how you can use it:\r\n\r\n```bash\r\nmangadl cli -m https://manganato.com/manga-az963307 -c 1-10 -f epub -q 90\r\n```\r\n\r\nYou can use the Command Line Interface (CLI) with arguments to initiate a download. Here's a breakdown of the available options:\r\n\r\n```bash\r\nusage: mangadl [-h] [-s QUERY] [-m MANGA] [-ss SOURCE] [-c CHAPTERS] [-ex EXCLUDE] [-f {epub,pdf}] [-q QUALITY] [--host HOST] [-p PORT]  [mode]\r\n\r\npositional arguments:\r\n  mode                  Mode to run (choices: gui, prompt, cli) [Web ui, Interactive CLI, CLI]\r\n\r\noptional arguments:\r\n  -h, --help            show this help message and exit\r\n  -s QUERY, --query QUERY\r\n                        Search for a manga (This will move to interactive mode with the search results)\r\n  -m MANGA, --manga MANGA\r\n                        Manga to download\r\n                        Examples:\r\n                        -m https://manganato.com/manga-az963307 (most reliable)\r\n                        -m manga-id (from web gui something like this managato_uq971673)\r\n                        -m manga-title (Match by similarity, not relaiable)\r\n  -ss SOURCE, --source SOURCE\r\n                        Source to download from (Examples: -ss manganato | -ss mangakakalot | -ss manganelo | -ss mangasee123)\r\n  -c CHAPTERS, --chapters CHAPTERS\r\n                        Chapters to download\r\n                          Examples:\r\n                          -c 1-10 | -c 1,2,3 | -c 1-10, 20-30 | -c 1-10, 20-30, 40, 50, 60-70 | -c latest 10 | -c Chapter 1, Chapter 2 |\r\n                          -c https://manganato.com/manga-az963307/chapter-1-https://manganato.com/manga-az963307/chapter-2\r\n                          -c last (last 5 chapters)\r\n\r\n  -ex EXCLUDE, --exclude EXCLUDE\r\n                        Chapters to exclude (same rules apply as --chapters)\r\n  -f {epub,pdf}, --format {epub,pdf}\r\n                        Format to download (choices: epub, pdf)\r\n  -q QUALITY, --quality QUALITY\r\n                        Quality of images (10-100)\r\n  --host HOST           Host address of the server (default: 127.0.0.1)\r\n  -p PORT, --port PORT  Port of the server (default: 80)\r\n  -l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log {DEBUG,INFO,WARNING,ERROR,CRITICAL}\r\n                        Set the log level (choices: DEBUG, INFO, WARNING, ERROR, CRITICAL)\r\n```\r\n\r\n# Python API\r\n\r\nYou can also use the Python API to interact with the application.\r\n\r\nSelecting a manga\r\n\r\n```python\r\nfrom manga_dl import Manga\r\n\r\nmanga = Manga(\"https://manganato.com/manga-az963307\")\r\nmanga.set_info()\r\n\r\nprint(manga.title)\r\nprint(manga.author)\r\nprint(manga.description)\r\n\r\n```\r\n\r\nSelecting from search results\r\n\r\n```python\r\n\r\nmangas = Manga.search(\"one piece\")\r\nmanga = mangas[0]\r\nmanga.set_info()\r\n\r\nprint(manga.title)\r\n```\r\n\r\nSelecting chapters\r\n\r\n```python\r\n\r\nmanga.select_chapters(\"last 10\")\r\n# or\r\nmanga.select_chapters(\"1-10\")\r\n# or\r\nmanga.select_chapters(\"1,2,3,4,5,6,7,8,9,10\")\r\n# or\r\nmanga.select_chapters(\"1-10, 20-30, 40, 50, 60-70\")\r\n# or\r\nmanaga.select_chapters(\"https://manganato.com/manga-az963307/chapter-1-https://manganato.com/manga-az963307/chapter-2\")\r\n\r\n# exclude chapters\r\nmanga.select_chapters(\"1-10\", exclude=\"5\") # same rules apply for exclude\r\n```\r\n\r\nDownloading\r\n\r\n```python\r\nmanga.create_epub()\r\n# or\r\nmanga.create_pdf()\r\n\r\n# specify quality\r\nmanga.create_epub(quality=70) # Default is 85(unchangable)\r\n\r\n# specify output directory\r\nmanga.create_epub(path=\"C:/Users/username/Desktop\")\r\n```\r\n\r\nLaunching the server\r\n\r\n```python\r\nfrom manga_dl import app\r\n\r\napp.run()\r\n# or\r\napp.run(host=\"localhost\", port=80) # app is a Flask app\r\n```\r\n\r\n# Contributing\r\n\r\nSee [CONTRIBUTING.md](https://github.com/Auto-Life/RapidMangaDL/blob/main/CONTRIBUTING.md)\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Swiftly download manga from multiple sources.",
    "version": "0.2.7",
    "project_urls": {
        "Documentation": "https://github.com/shhossain/RapidMangaDL",
        "Homepage": "https://github.com/shhossain/RapidMangaDL",
        "Issue Tracker": "https://github.com/shhossain/RapidMangaDL/issues",
        "Source Code": "https://github.com/shhossain/RapidMangaDL"
    },
    "split_keywords": [
        "manga",
        "downloader"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b08f283db98decfeb2f8302d27ebba83dc634736820d970848b40a39957a6deb",
                "md5": "a6c30f7b7bb8168eb247009b7cb89369",
                "sha256": "3833b95a1fec4b01a6b6ef1fa591386dd83021ebe04e5d35d562f9ea22d82bc4"
            },
            "downloads": -1,
            "filename": "RapidMangaDL-0.2.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a6c30f7b7bb8168eb247009b7cb89369",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 409680,
            "upload_time": "2023-08-18T16:36:36",
            "upload_time_iso_8601": "2023-08-18T16:36:36.611787Z",
            "url": "https://files.pythonhosted.org/packages/b0/8f/283db98decfeb2f8302d27ebba83dc634736820d970848b40a39957a6deb/RapidMangaDL-0.2.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-18 16:36:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "shhossain",
    "github_project": "RapidMangaDL",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "rapidmangadl"
}
        
Elapsed time: 0.10467s