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
Metadata
Release files for gdrivectl 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gdrivectl-0.1.0.tar.gz | 9.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gdrivectl-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.1 kB
Release files / gdrivectl-0.1.0.tar.gz
| Download URL | gdrivectl-0.1.0.tar.gz |
|---|---|
| Size | 9.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8f0e3694ddeccd694dda9a5cd450b0446c5acd2b6a029f20569fba10f846a894
|
|
BLAKE2b-256 checksum How to use checksums |
7b09213e670a704a56a080de6fb9687003168474fcc391f6326203146857664e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / gdrivectl-0.1.0-py3-none-any.whl
| Download URL | gdrivectl-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f30febda26dec87b8b05fed1f01debc5573dcbe8aad8db22f94febdbde5d488d
|
|
BLAKE2b-256 checksum How to use checksums |
8d1dfd36ec919cc710bb4540480c72eb5e154d311ca9358943170dcbd89fb167
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Security for gdrivectl 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.