Skip to main content

CLI tool to manage Google Docs permissions in bulk — grant, revoke, audit

Project description

gdrivectl

CLI tool to manage Google Docs permissions in bulk — grant, revoke, audit.

Interactive prompts, dry-run by default, owner protection built in.

Install

pipx (recommended)

pipx install git+https://github.com/TheDarkArtist/gdrivectl.git

pip

git clone https://github.com/TheDarkArtist/gdrivectl.git
cd gdrivectl
python3 -m venv .venv
source .venv/bin/activate
pip install .

Quick Start

# Authenticate (opens browser, one-time)
gdrivectl auth login

# List your Google Docs
gdrivectl list

# Revoke access
gdrivectl revoke              # dry-run
gdrivectl revoke --execute    # for real

That's it. OAuth credentials are bundled — no GCP setup needed.

Commands

Command Description
gdrivectl auth login Authenticate with Google (opens browser, one-time)
gdrivectl auth logout Log out and remove stored credentials
gdrivectl auth status Check current authentication status
gdrivectl list List all your Google Docs
gdrivectl list --shared-only Show only docs shared with others
gdrivectl inspect Inspect permissions on a specific doc
gdrivectl grant Grant access (dry-run)
gdrivectl grant --execute Grant access (for real)
gdrivectl revoke Revoke access (dry-run)
gdrivectl revoke --execute Revoke access (for real)
gdrivectl audit Export all permissions to CSV

Safety

  • Dry-run by default — grant/revoke show what would happen without --execute
  • Owner protection — your email (auto-detected) is never shown as revocable
  • Confirmation prompt — always confirms before executing changes
  • Audit log — every grant/revoke run logs results to logs/

How It Works

OAuth client credentials are bundled with the package (this is standard practice for desktop/CLI apps — the client ID identifies the app, not your data). When you run gdrivectl auth login, it opens your browser for Google's consent screen where you authorize the app. Your access token is stored locally at ~/.config/gdrivectl/token.json and never leaves your machine.

License

MIT

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

gdrivectl-0.1.0.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

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

gdrivectl-0.1.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file gdrivectl-0.1.0.tar.gz.

File metadata

  • Download URL: gdrivectl-0.1.0.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for gdrivectl-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8f0e3694ddeccd694dda9a5cd450b0446c5acd2b6a029f20569fba10f846a894
MD5 e42e6fcb9a3d3cc33643279bc7ef6688
BLAKE2b-256 7b09213e670a704a56a080de6fb9687003168474fcc391f6326203146857664e

See more details on using hashes here.

File details

Details for the file gdrivectl-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gdrivectl-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for gdrivectl-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f30febda26dec87b8b05fed1f01debc5573dcbe8aad8db22f94febdbde5d488d
MD5 d06c0d93c4c8fdf1d68c45ec0d9e1e43
BLAKE2b-256 8d1dfd36ec919cc710bb4540480c72eb5e154d311ca9358943170dcbd89fb167

See more details on using hashes here.

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