This project has been archived by its maintainers, and is no longer receiving any updates.
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
Metadata
Release files for getpiccoma 0.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| getpiccoma-0.0.0.tar.gz | 14.6 kB | Without provenance | Details for getpiccoma-0.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| getpiccoma-0.0.0-py3-none-any.whl | Python 3 | none | any | Details for getpiccoma-0.0.0-py3-none-any.whl |
Total release size: 30.4 kB
Release files / getpiccoma-0.0.0.tar.gz
| Download URL | getpiccoma-0.0.0.tar.gz |
|---|---|
| Size | 14.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
28d9ea8af730d557ca3e454cc8fd79532590bcfafb02e41d14261442c73797b2
|
|
BLAKE2b-256 checksum How to use checksums |
7f1a6b3d08bd9b6490d932b8d772f2a050cf6e2042748286a22db90735c0dde0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / getpiccoma-0.0.0-py3-none-any.whl
| Download URL | getpiccoma-0.0.0-py3-none-any.whl |
|---|---|
| Size | 15.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
94ff2c57884bc61c3b2186c858a137b9d76ecfeda21acce726305c64b12349bd
|
|
BLAKE2b-256 checksum How to use checksums |
f3fde241433d8d7ccd2ba7e545b1f4e4e46700ae43140f79784de168d0e7b398
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Security for getpiccoma 0.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.