Skip to main content

Upload office files to Google Drive with auto-conversion to Docs/Sheets/Slides

Project description

goodoc

Upload .docx, .xlsx, and .pptx files to Google Drive with automatic conversion to native Google formats (Docs / Sheets / Slides). Integrates into macOS Finder as a right-click Quick Action.

Typical workflow: got a file to review → right-click → opens in Google Docs. No Word, no drag-and-drop.


Requirements

  • macOS
  • Python 3.10+
  • pipx
  • A Google Cloud project with Drive API enabled and an OAuth 2.0 Desktop credentials file

Installation

pipx install git+https://github.com/djachenko/goodoc.git

Or clone and install locally:

git clone https://github.com/djachenko/goodoc.git
cd goodoc
pipx install .

Google Cloud setup

  1. Go to console.cloud.google.com and create or select a project
  2. APIs & Services → Library → search for Google Drive APIEnable
  3. APIs & Services → CredentialsCreate Credentials → OAuth 2.0 Client ID
    • Application type: Desktop app
    • Download the JSON file
  4. Place the file at ~/.goodoc/credentials.json:
mkdir -p ~/.goodoc
mv ~/Downloads/client_secret_*.json ~/.goodoc/credentials.json

On first run, a browser window will open for Google authorization. The token is saved to ~/.goodoc/token.json — subsequent runs are silent.


Usage

goodoc file.docx           # upload and open in browser
goodoc file.xlsx --no-open # upload without opening

Supported formats:

Extension Converts to
.docx Google Docs
.xlsx Google Sheets
.pptx Google Slides

Finder integration (macOS Quick Action)

  1. Open AutomatorNew DocumentQuick Action
  2. Set Workflow receives current: files or folders in Finder
  3. Add a Run Shell Script action, set Pass input: as arguments
  4. Paste the script:
for f in "$@"; do
    "$(which goodoc)" "$f"
done
  1. File → Save → name it Open in Google Docs

Right-click any .docx, .xlsx, or .pptx in Finder → Quick Actions → Open in Google Docs.

If which goodoc doesn't work in Automator, replace it with the full path from which goodoc in your terminal (e.g. /Users/you/.local/bin/goodoc).

If the action doesn't appear in the menu: Finder → Finder menu → Services → Services Preferences… → find Open in Google Docs and enable it.


Revoking access

To re-authorize, delete the token:

rm ~/.goodoc/token.json

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

goodoc-1.0.0.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

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

goodoc-1.0.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file goodoc-1.0.0.tar.gz.

File metadata

  • Download URL: goodoc-1.0.0.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for goodoc-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ac0b0d972c0ca1c1769cbd8b29bdbbb5583485e3e73e16e1b21f0203c2459563
MD5 e6dc962903b5c1092a19ecaf29127e3f
BLAKE2b-256 f90e3b79a017ec3db559bf130a815bec32b01a191ef3e028db48edbb5f9fc8b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for goodoc-1.0.0.tar.gz:

Publisher: release.yml on djachenko/goodoc

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

File details

Details for the file goodoc-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: goodoc-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for goodoc-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f47dfa530953a1be599e04d58c1c5a6f6fd1f582241e00f27ccaceffb741402a
MD5 403f73587a85c5272c97ecb4c05cec7f
BLAKE2b-256 39b8c1fa7fd14a6f5a999cceb95633fb357cd4150904646e6e3f8f2bcc66fdad

See more details on using hashes here.

Provenance

The following attestation bundles were made for goodoc-1.0.0-py3-none-any.whl:

Publisher: release.yml on djachenko/goodoc

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