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
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f0e3694ddeccd694dda9a5cd450b0446c5acd2b6a029f20569fba10f846a894
|
|
| MD5 |
e42e6fcb9a3d3cc33643279bc7ef6688
|
|
| BLAKE2b-256 |
7b09213e670a704a56a080de6fb9687003168474fcc391f6326203146857664e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f30febda26dec87b8b05fed1f01debc5573dcbe8aad8db22f94febdbde5d488d
|
|
| MD5 |
d06c0d93c4c8fdf1d68c45ec0d9e1e43
|
|
| BLAKE2b-256 |
8d1dfd36ec919cc710bb4540480c72eb5e154d311ca9358943170dcbd89fb167
|