Skip to main content

CLI tool to upload images to Chevereto (V4 API V1 file upload) with a polished terminal UI.

Project description

Chupo

chupo

chupo is a high-performance CLI utility designed to upload images directly to a Chevereto instance. It streamlines the image sharing workflow, utilizing the Chevereto API V1 file upload endpoint for fast and reliable uploads.

Python >=3.13 License


✨ Features

  • High Performance: Built with modern Python for fast execution.
  • 🛠️ CLI-First: Designed for speed and terminal integration using Typer.
  • 📊 Beautiful Output: Features rich, colored terminal output with progress bars via Rich.
  • 🚀 Simple Setup: Supports configuration via environment variables or CLI flags.
  • 📂 Batch Upload: Effortlessly upload multiple files at once.

🚀 Quick Start

1. Installation

Install chupo as a global tool using uv:

uv tool install .

Or, if you prefer using pip:

pip install .

2. Usage

Upload a single image:

chupo photo.png -u https://mysite.com -k YOUR_API_KEY

Upload multiple images:

chupo a.png b.png -u https://mysite.com -k YOUR_API_KEY

Interactive styled output (logo, progress, panels):

chupo img.jpg -u https://mysite.com -k YOUR_API_KEY -f pretty -v

🛠️ Configuration

You can pass flags directly or set environment variables (flags override environment variables).

Variable Flag Description
CHEVERETO_URL -u / --base-url Site base URL (e.g., https://img.example.com)
CHEVERETO_API_KEY -k / --key Your Chevereto API key

Options

  • -f / --format: txt (default): one URL per line to stdout, no banner. json: raw JSON response body per file (blank line between files). redirect: Chevereto redirect mode; stdout is the resolved URL. pretty: logo, spinner, and Rich panels (uses API format=json).
  • -v / --verbose: With -f pretty, prints the full image payload in a panel when the server returns JSON.
  • --raw: Force plain stdout even with -f pretty (emits raw JSON bodies like -f json). Errors go to stderr; non-zero exit if any upload fails.

Pipe-friendly (default format is already plain URLs):

chupo photo.png -u https://mysite.com -k YOUR_API_KEY > url.txt

Raw JSON:

chupo photo.png -u https://mysite.com -k YOUR_API_KEY -f json > out.json

📋 API Scope

This client follows the Chevereto V4 — API V1 file upload specification (POST /api/1/upload, multipart source, X-API-Key header). It is optimized for modern Chevereto V4 instances.


📄 License

This project is licensed under the MIT License.

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

chupo-0.1.3.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chupo-0.1.3-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file chupo-0.1.3.tar.gz.

File metadata

  • Download URL: chupo-0.1.3.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for chupo-0.1.3.tar.gz
Algorithm Hash digest
SHA256 42e1206cb08350ace9293826e3598d8ebddb82e881173e1fa8b1f174a6da839e
MD5 adfa8e0a17165339d3a245d0ce2ddf4a
BLAKE2b-256 57590c9abe3ce62aff4ed9972bd8e93670a01b0349d6da6ae56f2f70c09d9b93

See more details on using hashes here.

Provenance

The following attestation bundles were made for chupo-0.1.3.tar.gz:

Publisher: publish.yml on h4nz4/chupo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chupo-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: chupo-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for chupo-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 efbc45c68c6a77c47bb6a585e9bd9839fe8a0dc00181b782ee39b491c90252c6
MD5 0c3474ad0f7a600f909a70cbd8d6c843
BLAKE2b-256 b0b2e95e091fadc4c4657166c8f7d367674d8a2d66c006337e4bcb5f5a493ac0

See more details on using hashes here.

Provenance

The following attestation bundles were made for chupo-0.1.3-py3-none-any.whl:

Publisher: publish.yml on h4nz4/chupo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page