Metadata-Version: 2.1
Name: mangaplus
Version: 2.1.2
Summary: Python client for MangaPlus to access manga content and interact with the API.
Home-page: https://github.com/hyugogirubato/mangaplus
License: GPL
Keywords: python,client,manga,ebooks,mangaplus,shueisha
Author: hyugogirubato
Author-email: 65763543+hyugogirubato@users.noreply.github.com
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: Other/Proprietary License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Topic :: Utilities
Requires-Dist: protobuf (>=5.29.6,<6.0.0)
Requires-Dist: requests (>=2.32.3)
Project-URL: Changelog, https://github.com/hyugogirubato/mangaplus/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/hyugogirubato/mangaplus/issues
Project-URL: Repository, https://github.com/hyugogirubato/mangaplus
Description-Content-Type: text/markdown

<div align="center">

<img src="https://github.com/hyugogirubato/mangaplus/blob/main/docs/images/MangaPlusProject.png" width="10%">

# MangaPlus

[![License](https://img.shields.io/github/license/hyugogirubato/mangaplus)](https://github.com/hyugogirubato/mangaplus/blob/main/LICENSE)
[![PyPI version](https://img.shields.io/pypi/v/mangaplus.svg)](https://pypi.org/project/mangaplus/)  
[![Python Version](https://img.shields.io/pypi/pyversions/mangaplus.svg)](https://pypi.org/project/mangaplus/)

</div>

A Python client for **MangaPlus** by Shueisha, allowing developers to access manga content and interact with the official API programmatically.

## Features

- Access all MangaPlus titles: **serializing, completed, one-shots**.
- Fetch manga chapters and downloadable images in multiple qualities.
- Manage **favorites, comments, and subscriptions**.
- Track reading history and title rankings.
- Log user interactions, including banner taps, popup taps, and downloads.
- Supports multiple languages and viewer modes (vertical/horizontal).
- Provides device registration and secure subscription handling.

## Installation

You can install via **pip**:

```bash
pip install mangaplus
````

Or install the latest version from GitHub:

```bash
pip install git+https://github.com/hyugogirubato/mangaplus.git
```

## Usage

```python
from mangaplus import MangaPlus
from mangaplus.constants import Language, Viewer, Quality, TitleType

if __name__ == "__main__":
    # Initialize the client
    client = MangaPlus(lang=Language.ENGLISH, viewer=Viewer.VERTICAL)

    # Register a new device
    device_id = "your_device_id_here"
    client.register(device_id=device_id)

    # Fetch updates titles
    updates_content = client.getUpdates()

    # Fetch all serializing titles
    titles = client.getAllTitlesV3(title_type=TitleType.SERIALIZING)

    # Get chapter images
    chapter_data = client.getMangaData(chapter_id=1000486, quality=Quality.SUPER_HIGH)

    # Add a title to favorites
    client.addFavorited(title_id=100020)

    # Post a comment
    client.postCommentRx(chapter_id=1000486, body="Great chapter!")
```

## API Methods

Some of the key methods provided by this client:

| Method                                           | Description                                                     |
|--------------------------------------------------|-----------------------------------------------------------------|
| `getAllTitlesV3()`                               | Get titles by type (serializing, completed, one-shots)          |
| `getMangaData()`                                 | Retrieve chapter images with optional quality and split options |
| `getTitleDetail()`                               | Get detailed title information                                  |
| `getFavoriteTitles()`                            | List all favorite titles                                        |
| `addFavorited()` / `deleteFavorite()`            | Add or remove titles from favorites                             |
| `getHome()`                                      | Fetch home screen data                                          |
| `register()`                                     | Register a device and obtain a secret key                       |
| `setSubscription()` / `setSubscriptionRestore()` | Manage subscription data                                        |
| `getRankingV2()`                                 | Get ranking lists (hottest, trending, completed)                |
| `getHistory()`                                   | Retrieve user reading history                                   |
| `logBannerTap()` / `logPopupTap()`               | Log interactions with banners and popups                        |

> And many more methods for publisher news, downloadable images, language preferences, and event logging.

## Disclaimer

**MangaPlus Python Client** is an unofficial library and is **not affiliated** with or endorsed by Shueisha. The library is provided "as-is" without any warranty, and usage is at your own risk. Please comply with the MangaPlus service terms and conditions while using this library.

## Contributors

<a href="https://github.com/hyugogirubato"><img src="https://images.weserv.nl/?url=avatars.githubusercontent.com/u/65763543?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt="hyugogirubato"/></a>
<a href="https://github.com/gregoryn22"><img src="https://images.weserv.nl/?url=avatars.githubusercontent.com/u/56735924?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt="gregoryn22"/></a>

## Licensing

This project is licensed under the terms of [GNU License](https://github.com/hyugogirubato/mangaplus/blob/main/LICENSE).
You can find a copy of the license in the LICENSE file in the root folder.

---

© hyugogirubato 2026
