An unofficial CLI tool to download and organize One Pace arcs for media servers like Plex, Jellyfin, and Emby.
🏴☠️ One Pace is a fan project that re-edits the One Piece anime to follow the manga more closely — cutting filler, improving pacing, and delivering a tighter viewing experience. This tool is built entirely on their incredible work. Please visit onepace.net to learn more and support the project!
📢 This project is a successor to the now-archived one-pace-plex-assistant, rebuilt from the ground up with broader media server support.
⚠️ Disclaimer: This is an unofficial tool that relies on scraping onepace.net. If the site undergoes major changes, this tool may break until updated. Please open an issue if you encounter problems.
- 📥 Download arcs with configurable resolution, audio, and subtitles
- 📝 Auto-generate NFO metadata compatible with Jellyfin, Emby, and Plex
- 🖼️ Poster management for rich media library presentation
- 📋 Multiple output formats (table, JSON, plain) for scripting
Download the latest version for your operating system from the GitHub Releases page.
- Windows:
onepace-windows.exe - macOS:
onepace-macos.zip - Linux:
onepace-linux.tar.gz
To run onepace from any terminal, you need to add the executable to your system's PATH.
Windows (PowerShell):
- Move
onepace-windows.exeto a permanent location (e.g.,C:\Program Files\OnePace\). - Rename the file to
onepace.exe(this allows you to run it by just typingonepace). - Open PowerShell as Administrator.
- Run the following command to append the directory to your User PATH:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\OnePace", "User")
- Restart your terminal for changes to take effect.
macOS:
- Unzip the file:
unzip onepace-macos.zip - Move the binary to
/usr/local/bin(no need to edit PATH if this directory is already included):sudo mv onepace /usr/local/bin/onepace sudo chmod +x /usr/local/bin/onepace
- You can now run
onepacefrom any terminal.
Linux:
- Extract the tarball:
tar -xzvf onepace-linux.tar.gz - Move the binary to
/usr/local/bin:sudo mv onepace /usr/local/bin/onepace sudo chmod +x /usr/local/bin/onepace
- You can now run
onepacefrom any terminal.
Requires Python 3.11+.
# Clone the repository
git clone https://github.com/JakeLunn/one-pace-assistant.git
cd one-pace-assistant
# Install with pip
pip install .
# Or install in editable mode for development
pip install -e ".[dev]"# List all available arcs
onepace list
# Download an arc at 1080p (default)
onepace download romance-dawn
# That's it! Files are saved to ./downloads with NFO metadataView all downloadable One Pace arcs with their metadata.
# Display as formatted table (default)
onepace list
# Include specials and side stories
onepace list --all
# Output as JSON (useful for scripting)
onepace list --format json
# Plain text output (tab-separated)
onepace list --format plainExample output:
┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Slug ┃ Title ┃ Chapters ┃ Resolutions ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ romance-dawn │ Romance Dawn │ 1-7 │ 480p, 720p... │
│ orange-town │ Orange Town │ 8-21 │ 480p, 720p... │
│ ... │ ... │ ... │ ... │
└──────────────────┴────────────────────────┴────────────┴───────────────┘
Get detailed information about a specific arc, including available languages and resolutions.
onepace info romance-dawn
onepace info water-seven
onepace info wanoExample output:
Romance Dawn
Slug: romance-dawn
The story begins with...
📖 Manga Chapters: 1-7
📺 Anime Episodes: 1-3
🎬 Resolutions: 1080p, 720p, 480p
Available Variants:
• Sub: en, Dub: ja
• Sub: none, Dub: en
Download an arc with full control over resolution, audio, and subtitles.
# Download at 1080p with Japanese audio and English subs (default)
onepace download romance-dawn
# Choose a different resolution
onepace download romance-dawn --resolution 720
onepace download romance-dawn -r 480
# Download English dub version (no subtitles)
onepace download romance-dawn --dub en --sub none
# Download extended dub version (some arcs like Wano have this)
onepace download wano --dub en --variant extended
# Custom output directory
onepace download romance-dawn --output ~/media/anime/OnePace
onepace download romance-dawn -o /mnt/media/anime
# Preview what will be downloaded (no actual download)
onepace download wano --dry-run
# Skip NFO file generation
onepace download romance-dawn --no-nfo
# Disable resume (start fresh)
onepace download romance-dawn --no-resume
# Include posters from a local directory
onepace download romance-dawn --posters-dir ~/postersDownload Methods:
# Individual file downloads (default, shows progress per file)
onepace download romance-dawn --method individual
# Bulk ZIP download (single archive, may help with rate limits)
onepace download romance-dawn --method zip
# Auto mode (tries ZIP first, falls back to individual on failure)
onepace download romance-dawn --method autoThis CLI downloads entire arcs at once. If you need to download individual episodes, visit onepace.net directly.
One Pace files are hosted on PixelDrain, which has bandwidth limits for free users. After hitting your bandwidth limit, currently 6GB per day, your download speeds will drop to 1mbps.
To avoid interruptions and support the service that makes these downloads possible, consider subscribing to PixelDrain Pro — it's affordable and helps keep the platform running for everyone.
💡 Tip: Use
--method zipto download arcs as a single archive, which reduces requests and has slightly smaller download size.
Full options reference:
| Option | Short | Default | Description |
|---|---|---|---|
--output |
-o |
./downloads |
Output directory |
--resolution |
-r |
1080 |
Video resolution (480, 720, 1080) |
--sub |
-s |
auto | Subtitle language (en, none) |
--dub |
-d |
ja |
Audio language (ja, en) |
--variant |
— | — | Arc variant (e.g., extended for extended dub) |
--dry-run |
-n |
— | Preview without downloading |
--no-nfo |
— | — | Skip NFO metadata generation |
--resume/--no-resume |
— | resume | Resume interrupted downloads |
--method |
-m |
individual |
Download method (individual, zip, auto) |
--posters-dir |
— | — | Directory with poster images |
Already have One Pace video files? Generate NFO metadata for your existing library.
# Generate NFOs for all arcs in a directory
onepace generate-nfo --input ~/media/OnePace
# Also copy matching poster images
onepace generate-nfo --input ~/media/OnePace --posters ~/postersExpected directory structure:
~/media/OnePace/
├── romance-dawn/
│ ├── Romance Dawn 01.mkv
│ ├── Romance Dawn 02.mkv
│ └── Romance Dawn 03.mkv
├── orange-town/
│ ├── Orange Town 01.mkv
│ └── ...
└── ...
The command will:
- Create a
tvshow.nfoin the root directory - Generate episode
.nfofiles next to each video - Optionally copy matching posters as
poster.jpgin each arc folder
Add poster images to your existing arc directories.
# Copy posters to all arc directories
onepace add-posters --input ~/media/OnePace --posters ~/posters
# Only add posters where NFO files exist
onepace add-posters --input ~/media/OnePace --posters ~/posters --require-nfo
# Overwrite existing poster.jpg files
onepace add-posters --input ~/media/OnePace --posters ~/posters --forcePoster file naming:
Poster files should contain the arc slug (or a close match) in their filename.
- Supported formats:
.jpg,.jpeg,.png,.webp - Examples:
romance-dawn.jpg,Romance Dawn poster.png,water-seven-cover.jpg
Expected poster directory structure:
~/posters/
├── romance-dawn.jpg
├── orange-town.jpg
├── syrup-village.png
├── baratie.jpg
└── ...
Where to find posters:
You can create your own poster images or find fan-made sets online. A popular community-made set is available here:
🖼️ One Pace Custom Season Posters (Full Set) — high-quality posters for all arcs
NFO files are automatically generated alongside downloads. Your media server should pick up the metadata automatically—no additional configuration required.
Plex requires the XBMCnfoTVImporter agent to read NFO files. Follow the installation instructions in that repository to enable NFO support.
Alternative Method for Plex
Plex does not have any (good) native capability of adding custom shows. Their metadata is purely driven by external databases which do not have metadata for One Pace. To get around this, you can 'override' the "One Piece" TV show's metadata in Plex and upload your One Pace episodes. This functionality existed in the previous cli and worked well - albeit has one major caveat: You can't have both a "One Piece" show and a "One Pace" show in the same library at the same time.
This feature is experimental and available over in the plex-api branch.
These options work with any command:
# Show version
onepace --version
# Verbose output (more details)
onepace -v download romance-dawn
# Quiet mode (minimal output)
onepace -q download romance-dawnDownload your first arc:
onepace download romance-dawnBuild a complete library:
# Download multiple arcs
onepace download romance-dawn -o ~/OnePace
onepace download orange-town -o ~/OnePace
onepace download syrup-village -o ~/OnePace
# Or script it with JSON output
for slug in $(onepace list --format json | jq -r '.[].slug'); do
onepace download "$slug" -o ~/OnePace
doneSet up existing files for Plex/Jellyfin:
# You already have video files organized by arc
onepace generate-nfo --input ~/media/OnePace --posters ~/posters# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run linter
ruff check .MIT