Download Google Drive files/folders and upload them to the Internet Archive
Project description
IAdrive
IAdrive is A tool for archiving google drive files/folders and uploading them to the Internet Archive, it downloads the google drive's content, makes the metadata, and then uploads to IA
- this project is heavily based of off tubeup by bibanon, credits to them
Features
- Downloads files and/or folders from Google Drive using gdown
- Extract file modification dates to determine the creation date for the item
- Pass custom metadata to Archive.org using
--metadata=<key:value> - Supports quiet mode (
--quiet) and debug mode (--debug) for log output - Automatically cleans up downloaded files after upload
- Sanitizes identifiers and truncates subject tags to fit Archive.org requirements
- Falls back to "IAdrive" as publisher since Google Drive collaborators fetching is not yet implemented
- Improved error handling and debug output
Installation
Requires Python 3.9 or newer
pip install iadrive
The package makes a console script named iadrive once installed, You can also install from the source using pip install .
Configuration
ia configure
You're gonna be prompted to enter your IA account's email and password
Optional envs:
GOOGLE_API_KEY– if set, the tool attempts to look up the owner names of the Google Drive file or folder for thecreatorfield in metadata (not yet implemented)
Usage
iadrive <url> [--metadata=<key:value>...] [--quiet] [--debug]
Arguments:
<url>– Google Drive file or folder URL to mirror (required)
Options:
--metadata=<key:value>– custom metadata to add to the Archive.org item (can be used multiple times)--quiet– only print errors--debug– print all logs to stdout (for troubleshooting)
Example:
iadrive https://drive.google.com/drive/folders/placeholder --metadata=collection:mycol \
--metadata=mediatype:data --debug
How it works
iadriveusesgdownto fetch the specified Google Drive file or folder- It walks the downloaded directory and extracts file extensions and modification dates
- Metadata is assembled including a file listing (with sizes), oldest file modification date, and original URL. Identifiers are sanitized and subject tags are truncated to fit Archive.org requirements. Publisher defaults to "IAdrive" since collaborator fetching is not yet implemented.
- The directory is uploaded to an Archive.org item using the
internetarchivelibrary with a fixed identifier formatdrive-{drive-id}, collectionopensource, and mediatypedata - Downloaded files are automatically cleaned up after upload
- Errors are handled gracefully, and debug output is available with
--debug
To-do list
- Google Drive collaborator fetching to use as creator metadata through the Google API
Project details
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 iadrive-1.0.1.tar.gz.
File metadata
- Download URL: iadrive-1.0.1.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d6a996974d650b80375b969658b573d328d8223fa19bad78ccf365e0830f1d0
|
|
| MD5 |
07fb1cf4418fa9e0c88f6ab64cc73341
|
|
| BLAKE2b-256 |
bc001f8ebea0d555f596901e8878049822b9a9c17e8af0ce4a52dcf3dcb15e6b
|
File details
Details for the file iadrive-1.0.1-py3-none-any.whl.
File metadata
- Download URL: iadrive-1.0.1-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5a04f736019477b7bb04cbc244e51f472df2b4fab327dcbdb6b88adb88dd62b
|
|
| MD5 |
cc6e228f44b00b71afc737573dab7c2a
|
|
| BLAKE2b-256 |
ff8d9061b002ce5f644557be89d14aeddf3498e7a9c990bcedfc2cb1c594d5a4
|