getpiccoma
Retrieve and save images from manga distribution sites using Piccoma.
Pages are served sliced into a grid of 50px tiles and shuffled; getpiccoma replays the viewer's own shuffle to put them back together before saving.
Valid URL Formats
piccoma.com/web/viewer/<product-id>/<episode-id>-- one episodepiccoma.com/web/product/<product-id>/episodes-- the whole series, from its first entry
Only Piccoma Japan is supported. Piccoma France (piccoma.com/fr/) runs a
different site and is not handled.
Installation
# mise via github release
mise use -g github:eggplants/getpiccoma
# mise via pipx
mise use -g pipx:getpiccoma
# pipx
pipx install getpiccoma
# pip
pip install getpiccoma
Docker
docker pull ghcr.io/eggplants/getpiccoma
docker run --rm -v "$PWD:/work" -w /work \
ghcr.io/eggplants/getpiccoma https://piccoma.com/web/viewer/8195/1185884
CLI
$ pget https://piccoma.com/web/viewer/8195/1185884
get: https://piccoma.com/web/viewer/8195/1185884
Downloading... ━━━━━━━━━━━━ 100% ( 14/14 pages ) remain: 0:00:00 spent: 0:00:09
saved: <series>/<episode>
done.
-b follows every next episode, and stops on the first one the account may not
read. A product URL implies it:
pget https://piccoma.com/web/product/8195/episodes -d out
Log in with -u to reach episodes the account has bought or unlocked. The
password is prompted for when -p is left out:
pget https://piccoma.com/web/viewer/8195/1185884 -u you@example.com
| Option | Description |
|---|---|
-b, --bulk |
follow every next episode |
-d DIR, --savedir DIR |
directory to save into |
-f, --first |
download only the first page |
-o, --overwrite |
download again if it exists |
-m, --metadata |
save episode metadata as json |
-u MAIL, --username MAIL |
email address to log in with |
-p PW, --password PW |
password |
-t, --volumes |
read a product url's volume list, not episodes |
-q, --quiet |
disable console output |
Library
from getpiccoma import Piccoma
piccoma = Piccoma()
next_url, save_dir, saved = piccoma.get(
"https://piccoma.com/web/viewer/8195/1185884",
save_path="out",
)
episode_info reads a viewer page without downloading anything, and entries
lists a series:
episode = piccoma.episode_info("https://piccoma.com/web/viewer/8195/1185884")
print(episode.series_title, episode.episode_title, len(episode.pages))
for entry in piccoma.entries(episode.product_id):
print(entry.title, entry.is_readable, entry.url)
descramble and parse_seed are exposed on their own, for pages fetched some
other way:
from PIL import Image
from getpiccoma import descramble, parse_seed
seed = parse_seed(image_url)
page = descramble(Image.open(path), seed) if seed else Image.open(path)
Acknowledgements
License
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 getpiccoma-0.0.0.tar.gz.
File metadata
- Download URL: getpiccoma-0.0.0.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28d9ea8af730d557ca3e454cc8fd79532590bcfafb02e41d14261442c73797b2
|
|
| MD5 |
b15397d50a3cbd7f1cbf33507ae35070
|
|
| BLAKE2b-256 |
7f1a6b3d08bd9b6490d932b8d772f2a050cf6e2042748286a22db90735c0dde0
|
File details
Details for the file getpiccoma-0.0.0-py3-none-any.whl.
File metadata
- Download URL: getpiccoma-0.0.0-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94ff2c57884bc61c3b2186c858a137b9d76ecfeda21acce726305c64b12349bd
|
|
| MD5 |
63f68ee6fe9abf3588fb356b2ff54e5b
|
|
| BLAKE2b-256 |
f3fde241433d8d7ccd2ba7e545b1f4e4e46700ae43140f79784de168d0e7b398
|