chevereto-bulk-uploader (0.0.1+3eab19a)
Installation
pip install --index-url chevereto-bulk-uploaderAbout this package
Bulk Uploader for Chevereto
Chevereto Bulk Uploader
cli tool for uploading folders to chevereto
Installation
pip install chevereto-bulk-uploader --extra-index-url https://forgejo.neshweb.net/api/packages/Firq/pypi/simple/
Remotes and Credentials
bulk-upload configure images --remote https://chevereto.example --apikey REPLACE_WITH_API_KEY --default
bulk-upload upload --config upload.yaml
--remote is a URL or a name of a configuration. If not given, the default remote is used.
List all remotes:
bulk-upload remote list
* marks the default
Configs are stored in chevereto-bulk-uploader/config.yaml at $XDG_CONFIG_HOME (linux) / %APPDATA% (windows) / ~/Library/Application Support (macos)
API keys are stored in plaintext. Make sure that no unauthorized access is posssible.
Environment Credentials
Credentials can also come from CHEVERETO_BASE_URL and CHEVERETO_API_KEY, either via the environment or a specific .env file:
bulk-upload upload --config upload.yaml --env .env
Upload Configuration
- folder: ./images
nsfw: false
tags: [ example, upload ]
album: { id: abc }
| key | functionality |
|---|---|
folder |
path to upload dir (absolute or relative to shell) |
nsfw |
boolean, default false. |
tags |
list of strings to apply to each uploaded image |
album |
settings for album mapping / creation |
- Using an existing album:
album: {id: YOUR_ALBUM_ID} - Creating a new album:
album: {name: "New album", state: public} - Accepted files in
folder:.jpg,.jpeg,.png,.gif, and.webp, scan is not recursive
History migration
Duplicate detection uses SHA-256 of files. Identical content is skipped within a remote. Each named remote has a separate database in /history.
Existing json/sqlite3 histories can be migrated
bulk-upload import-history history.json --remote production
bulk-upload import-history previous.sqlite3 --remote production
Checking file hashes
Check if certain files have already been uploaded (are present in history)
bulk-upload check ./images/photo.jpg --remote production
bulk-upload check ./images --remote production
check prints [FOUND] or [MISSING] for each regular file, including non-image files. Folder checks are nonrecursive.
View history
bulk-upload history status --remote production
The default limit is 100; use --offset to inspect later pages.
Development
uv sync --frozen
Usisng mypy, pylint and ruff