Nyora Python¶
Read like the world can wait.
nyora is the official Python package for Nyora — a fast, free, ad-free,
open-source manga engine. It is self-contained: pip install nyora bundles the
kotatsu-parsers engine and launches it locally on demand (a JRE is auto-downloaded
if you have no Java) — so there is nothing else to run: no server to host, no
Node process, no scraper to maintain. You get one typed API over 390 live,
health-checked sources across 40 languages to browse and search manga, manhwa,
and manhua, fetch details and chapter lists, resolve page image URLs, and download
chapters — from your code or your terminal. Prefer a server? Point it at any Nyora
instance with base_url= and the bundled engine steps aside.
pip3 install nyora
One install, three tools¶
pip install nyora is a single package, but it ships three distinct
front-ends over the same engine. Reach for whichever fits the job — they are
documented separately so you always know which one a page is about.
What it is |
You invoke it as |
Guide |
|
|---|---|---|---|
🐍 Library |
A typed Python SDK you |
|
|
⌨️ CLI |
A scriptable command-line tool — one subcommand per operation, with |
|
|
📖 TUI |
A full interactive terminal reader — browse, search, and read in the terminal. |
|
The rule of thumb: if you are writing Python, use the library; if you are scripting a shell or an agent, use the CLI; if you just want to read, use the TUI.
🐍 The Python library — import nyora¶
A typed SDK you call from your own code. Open a Nyora() client, find a
source, search it, fetch details, and resolve page URLs. Synchronous
(Nyora) and asynchronous (AsyncNyora) clients are both included.
from nyora import Nyora
with Nyora() as client:
src = client.sources.find("mangadex")
page = client.manga.popular(src.id)
print(page.entries[0].title)
→ Library / SDK guide · Using Nyora from an AI agent or programmatically (driving Nyora from an LLM agent)
⌨️ The nyora-cli tool — nyora-cli (or nyora)¶
A command-line tool installed alongside the library. Run subcommands like
search, details, download, batch, and grab; add --json to any of
them for machine-readable output (ideal for scripts and agents).
nyora-cli search -s asura "Solo Leveling"
nyora-cli --json grab -s mangadex "berserk" -c 1 -o ./out # search → download in one call
📖 The terminal reader — bare nyora¶
Running a bare nyora with no subcommand — or the explicit nyora-tui —
launches the full interactive reader: browse and search sources,
read chapters inline (three reader modes), manage a local library and downloads,
and sign in to sync.
nyora # launches the TUI
Cloud sync (optional)¶
All three front-ends can sign in to sync a user’s library — favourites, history,
and bookmarks — across devices through nyora.sync.NyoraSync, which
talks to the Nyora sync server at
https://sync.nyora.xyz. It is entirely optional: the
library, CLI, and TUI all work fully offline without an account, and the TUI has
a built-in account menu and synced-library view.
Other Nyora clients
Beyond this Python SDK, Nyora also ships a JavaScript/TypeScript SDK
(nyora-sdk), nyora-mihon (an
on-device Android APK that brings ~900 sources to stock Mihon), and
nyora-aidoku (WASM .aix proxy sources for stock Aidoku). Those are separate
distributions; this site documents the Python package.
Documentation¶
- Quickstart
- Library / SDK guide
- The
nyora-clicommand-line tool- Synopsis
- Global options
sources— list or search available sourcessearch— search a sourcepopular— list popular manga from a sourcelatest— list latest manga from a sourcedetails— fetch manga details and chapterspages— fetch chapter page image URLsdownload— download a chapter as a.cbzopen— download a chapter and open itbatch— download every chapter of a manga as.cbzarchivescompletion— print shell completion setupversion— show package version- Exit codes
- Recipes
- The interactive terminal reader (TUI)
- Cloud sync guide
- Using Nyora from an AI agent or programmatically
- API reference