Skip to main content

Gemini AI CLI Tool for automation

Project description

geminiai-cli logo

PyPI version Python Wheel Release

Build status Codecov Test Coverage Code style: black Ruff Security

Downloads PyPI Downloads OS Python Versions

License: MIT

Gemini AI Automation Tool

The Swiss Army Knife for Gemini AI Automation - Backups, Cloud Sync, and Account Management.

About

geminiai-cli is a powerful, "batteries-included" command-line interface designed to supercharge your Gemini AI experience. Whether you need to manage multiple accounts, ensure your configuration is safely backed up to the cloud, or track your free tier usage to avoid rate limits, this tool has you covered. It wraps complex operations into simple, memorable commands.

🚀 Quick Start

Prerequisites

  • Python: 3.8 or higher
  • Dependencies: b2sdk, rich (installed automatically)

One-Command Installation

pip install geminiai-cli
# Or from source
pip install .

Usage Example

Get up and running immediately. You can use geminiai, geminiai-cli, or the shorthand ga.

# Run a local backup
geminiai backup

# Check your account cooldown status
ga cooldown

# View all available commands
geminiai --help

✨ Key Features

  • 🛡️ God Level Backups: Create local or Cloud-based (Backblaze B2) backups of your Gemini configuration and chats.
  • ☁️ Cloud Sync: Seamlessly synchronize your backups between your local machine and the cloud.
  • ⏱️ Resets Management: Track your Gemini free tier reset schedules to maximize usage without hitting limits.
  • ❄️ Cooldown Tracking: Monitor account cooldown status to avoid rate limiting.
  • 📈 Visual Usage Stats: Visualize usage patterns over the last 7 days.
  • 🩺 Doctor Mode: Run a system diagnostic check to identify and fix issues.
  • 🔐 Credential Management: Securely handle Backblaze B2 credentials via CLI, Environment Variables, or Doppler.
  • 🧹 Cleanup & Pruning: Automatically prune old backups and clear temporary files to save space.
  • 🔄 Automated Updates: Built-in self-update mechanism.
  • ⚡ Integrity Checks: Verify your configuration integrity against backups.

⚙️ Configuration & Advanced Usage

Environment Variables

You can configure credentials using .env files, environment variables, or Doppler. The priority order is: CLI Args > Doppler > Env Vars > .env file > Saved Config.

Variable Description
GEMINI_B2_KEY_ID Your Backblaze B2 Application Key ID.
GEMINI_B2_APP_KEY Your Backblaze B2 Application Key.
GEMINI_B2_BUCKET The name of your Backblaze B2 Bucket.
DOPPLER_TOKEN Token for fetching secrets from Doppler.

CLI Commands

Command Description Key Arguments
backup Backup configuration and chats. --src, --archive-dir, --cloud, --bucket, --dry-run
restore Restore configuration from backup. --from-dir, --from-archive, --cloud, --force, --dry-run
cloud-sync Sync local backups to Cloud (B2). --backup-dir, --bucket, --b2-id, --b2-key
local-sync Sync Cloud backups to local. --backup-dir, --bucket, --b2-id, --b2-key
list-backups List available backups. --cloud, --search-dir, --bucket
prune Delete old backups. --keep, --backup-dir, --cloud, --cloud-only, --dry-run
check-integrity Verify configuration integrity. --src, --search-dir
check-b2 Verify B2 credentials. --bucket, --b2-id, --b2-key
config Manage persistent settings. set, get, list, unset, --force
resets Manage free tier reset schedules. --list, --next, --add, --remove
cooldown Show account cooldown status. --cloud, --remove, --bucket
cleanup Clear temp files and logs. --force, --dry-run
doctor Run system diagnostics. (No arguments)

Global Options

Option Description
--login Login to Gemini CLI.
--logout Logout from Gemini CLI.
--session Show current active session.
--update Reinstall/update Gemini CLI.
--check-update Check for updates.

🏗️ Architecture

The project is structured as a modular Python CLI application using argparse for command handling and rich for the UI.

src/geminiai_cli/
├── cli.py             # Main Entry Point & Argument Parsing
├── backup.py          # Backup Logic
├── restore.py         # Restore Logic
├── sync.py            # Cloud/Local Sync Logic
├── b2.py              # Backblaze B2 Integration
├── credentials.py     # Credential Management
├── doctor.py          # System Diagnostics
├── cooldown.py        # Cooldown Tracking
└── resets_helpers.py  # Reset Schedule Management

🗺️ Roadmap

✅ Completed

  • Account Management: Seamless login/logout.
  • Cloud Backups: Backblaze B2 integration.
  • Resets & Cooldowns: Smart rate limit management.
  • Automated Updates: Self-updating mechanism.
  • Health Checks: Doctor mode for diagnostics.

🚧 Upcoming

  • Multi-Cloud Support: AWS S3, Google Cloud Storage.
  • Interactive Config: Wizard-style setup.
  • Enhanced TUI: Rich dashboards and real-time progress bars.
  • Webhooks: Integration with Slack/Discord for alerts.
  • AI-Driven Anomaly Detection: Smart backup analysis.

🤝 Contributing & License

Contributions are welcome! Please submit a pull request or open an issue on the GitHub repository.

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

geminiai_cli-8.0.3.tar.gz (76.9 kB view details)

Uploaded Source

Built Distribution

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

geminiai_cli-8.0.3-py3-none-any.whl (56.9 kB view details)

Uploaded Python 3

File details

Details for the file geminiai_cli-8.0.3.tar.gz.

File metadata

  • Download URL: geminiai_cli-8.0.3.tar.gz
  • Upload date:
  • Size: 76.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geminiai_cli-8.0.3.tar.gz
Algorithm Hash digest
SHA256 3d17b57d896542bdded1b9635aa302caefd2e0daca8dd89e2f41ca442c6f7c6a
MD5 73bd3675164ab3480590d35e71f15e2b
BLAKE2b-256 ba8dc2c7958084043a3f3b002ac62888335d471acce67fee4eed146f72032961

See more details on using hashes here.

Provenance

The following attestation bundles were made for geminiai_cli-8.0.3.tar.gz:

Publisher: publish.yml on dhruv13x/geminiai-cli

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

File details

Details for the file geminiai_cli-8.0.3-py3-none-any.whl.

File metadata

  • Download URL: geminiai_cli-8.0.3-py3-none-any.whl
  • Upload date:
  • Size: 56.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geminiai_cli-8.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 87752b4044ed7cd4b6c87d4bdb2eed2fcf66f788df6602170c4ea63f94660d6e
MD5 8c94c00c1a08f1024cbefc5720596294
BLAKE2b-256 6f2b6ff396de58251043629cb800a3e55fafc15f62d04808fb6012aa6e9b62f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for geminiai_cli-8.0.3-py3-none-any.whl:

Publisher: publish.yml on dhruv13x/geminiai-cli

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