2022-03-09 11:05:05 +00:00
## IMPORTANT NOTICE: up until 2022-03-09, the package was called itchio, it is now called itchiodl (to avoid pypi conflicts)
2021-12-18 02:48:27 +00:00
# Itchio Downloader Tool
2021-12-18 03:10:40 +00:00
## Install
```bash
2022-03-09 11:05:05 +00:00
pip install itchiodl
2021-12-18 03:10:40 +00:00
```
2021-12-18 02:48:27 +00:00
## Download All Games in library from account
2022-03-20 16:10:06 +00:00
**Please Note:** Having too many jobs may cause rate-limiting from some testing 8 works fine but 10 starts giving errors.
2021-12-18 02:48:27 +00:00
```bash
2022-03-20 16:10:06 +00:00
# via python
2022-03-09 11:05:05 +00:00
python -m itchiodl.downloader
2022-03-09 13:55:22 +00:00
# via setup-tools entry point
itch-download
2021-12-18 02:48:27 +00:00
```
This uses the same API the itchio app uses to download the files. If you have 2FA enabled, generate an API key [here ](https://itch.io/user/settings/api-keys ) and run the following instead
```bash
2022-03-20 16:10:06 +00:00
# via python (with 4 concurrent downloads)
python -m itchiodl.downloader --api-key=KEYHERE --jobs=4
2022-03-09 13:55:22 +00:00
# via setup-tools entry point
2022-03-26 23:59:49 +00:00
itch-download -k KEYHERE
# download with multiple threads
2022-03-20 16:10:06 +00:00
itch-download -k KEYHERE -j 4
2022-03-26 23:59:49 +00:00
# only download osx or cross platform downloads
itch-download -p osx
2023-03-23 20:29:34 +00:00
# folder structure uses display names for users/publishers and game titles
itch-download --human-folders
2021-12-18 02:48:27 +00:00
```
## Add All Games in a bundle to your library
```bash
2022-03-09 13:55:22 +00:00
# via python
2022-03-09 11:05:05 +00:00
python -m itchiodl.bundle_tool
2022-03-09 13:55:22 +00:00
# via setup-tools entry point
itch-load-bundle
2021-12-18 02:48:27 +00:00
```
2021-12-18 03:10:40 +00:00
This is a bit of a bodge, but it works. It essentially goes through and clicks the "Download" link on every item on the bundle's page, which adds it to your itchio library. It does not download any files. You will need the download page's URL (this will be in the bundle's email, and possibly your purchase history). It will not work with 2FA, and I'm unlikely to be able to fix it without making it far more complicated
2022-02-24 14:51:55 +00:00
## Errors
if a download fails it will be reported in ```errors.txt``` in the same directory as your downloads
An example of which could look something like this:
```Cannot download game/asset: < Game Name >
Publisher Name: < Publisher Name >
Output File: < Publisher Name > /< Game Name > /< Specific Item >
Request URL: < Some URL >
Request Response Code: 404
Error Reason: Not Found
This game/asset has been skipped please download manually
---------------------------------------------------------
```
2022-03-06 12:31:35 +00:00
This is not a perfect solution but does prevent the whole process from crashing