goodoc
Upload Office files to Google Drive with automatic conversion to native Google formats (Docs / Sheets / Slides). Integrates into macOS Finder as a right-click action.
Typical workflow: got a file to review → right-click → opens in Google Docs. No Word, no drag-and-drop.
Usage
goodoc file.docx # upload and open in browser
goodoc file.xlsx --no-open # upload without opening
goodoc file.docx file.xlsx file.pptx # upload multiple files
goodoc login # authorize without uploading
goodoc logout # forget the stored token
Supported formats:
| Extension | Converts to |
|---|---|
.doc, .docx |
Google Docs |
.xls, .xlsx |
Google Sheets |
.ppt, .pptx, .pptm |
Google Slides |
Installation
curl -fsSL https://raw.githubusercontent.com/djachenko/goodoc/master/install.sh | bash
Installs goodoc, the Finder Quick Action, and adds goodoc-update / goodoc-uninstall to your shell.
Alternatively, CLI only (no Quick Action or shell helpers):
pipx install git+https://github.com/djachenko/goodoc.git
First run
goodoc talks to Google Drive through your own Google Cloud project.
Google gates Drive access behind an OAuth client, and shipping a single shared client for everybody requires app verification — a domain, a privacy policy, a review. Until that happens, each user creates their own client. It's a one-time step.
On the first run, a setup wizard starts automatically:
- Google Cloud credentials — opens the browser, walks you through creating an OAuth client, prompts for the downloaded JSON file — step by step, including the case of a client that already exists: docs/oauth-client.md
- Authorization — opens the browser for Google sign-in, saves the token
Google shows an "unverified app" warning during authorization. It refers to the client you just created — proceed past it.
After that, every run is silent.
There is also a shared client maintained by the author, with limited capacity. If you have an access key, skip the wizard entirely:
goodoc login --key <KEY>
Ask for a key in issues. Treat the key as a credential — don't publish it.
Enable the Quick Action in: System Settings → Privacy & Security → Extensions → Finder Extensions.
Update / Uninstall
goodoc-update # upgrade to latest version
goodoc-uninstall # remove goodoc, the Quick Action, and credentials
To re-authorize without uninstalling:
goodoc logout
License
MIT
Metadata
Release files for goodoc 1.7.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 | |
|---|---|---|---|
| goodoc-1.7.0.tar.gz | 14.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| goodoc-1.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.9 kB
Release files / goodoc-1.7.0.tar.gz
| Download URL | goodoc-1.7.0.tar.gz |
|---|---|
| Size | 14.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
40fa3b236c73f9de13d0874388c5f20c7417fd353389b814a37f71b8c407900c
|
|
BLAKE2b-256 checksum How to use checksums |
110802ffcfa2832231ae3af01d4670238c950ddb0d7055029c8d0e1ae9202b69
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / goodoc-1.7.0-py3-none-any.whl
| Download URL | goodoc-1.7.0-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e135101479638fc181f6eadec29cc2bd2d4528a77df2fefd8b97ec5fb59e8466
|
|
BLAKE2b-256 checksum How to use checksums |
324191cee775433dbe137d9206964213b2c8633895fbb02a447b48cc854cbb5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency log