df2gspread
Export tables to Google Spreadsheets.
What it is and what it does
df2gspread is a Python bridge for moving table data between Google Spreadsheets and DataFrames. It provides two main functions: upload() to write a DataFrame to a Google Sheet, and download() to read a Sheet into a DataFrame. The package handles Google Drive authentication via OAuth 2.0 and abstracts away the complexity of the Google Sheets API.
The package is designed for workflows where data lives in Google Drive and needs periodic sync with Python analysis pipelines. It requires manual credential setup—downloading an OAuth JSON file from Google Cloud Console and authorizing the application once—before it can read or write. No runtime dependencies are declared in the package metadata.
Use it for:
- Export analysis results directly to a shared Google Sheet for team review.
- Automate periodic data pulls from Google Sheets into a Python pipeline for further processing.
- Sync tabular data stored in Google Drive with local DataFrames for offline analysis.
- Replace manual copy-paste of spreadsheet data by programmatically uploading cleaned data.
- Build a data collection tool that reads responses from a Google Form stored as a Sheet.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Transfers tabular data between Google Spreadsheets and DataFrames, enabling bidirectional sync of spreadsheet data for analysis and processing.
Yes, if you need to sync data with Google Sheets and can tolerate the OAuth setup overhead and dormant maintenance status. No, if you require active maintenance, Python 3 certainty, or a more modern Google Sheets integration. The GPLv3 copyleft license is a hard blocker for proprietary code.
Install
df2gspread on PyPI
pip
pip install df2gspreaduv
uv add df2gspreadpoetry
poetry add df2gspreadInstalling df2gspread
Before you install
High install friction due to requiring manual Google OAuth credential setup and authentication flow before the package can function. Last release was in 2019; the repository remains active but development is dormant.
License in practice
GPLv3 copyleft license means any code that imports and uses df2gspread must also be distributed under GPLv3 or a compatible license—a significant constraint for proprietary or differently-licensed projects.
Quickstart
pip install df2gspread
from df2gspread import df2gspread as d2g
d2g.upload(df, '/path/to/spreadsheet', 'Sheet1')
Requires Google OAuth 2.0 credentials file (~/.gdrive_private) and initial browser-based authorization before any upload or download can succeed.
Verify before relying
- Whether a DataFrame library is a runtime dependency (not listed but used in all documented examples).
- Current compatibility with modern Google Sheets API versions and authentication flows.
- Python 3 support status (classifiers list only Python 2.7; latest release is 2019).
Package facts
| License | GPLv3 (copyleft) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | dormant — 2,780 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 99,391/month — #13,025 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: df2gspread-1.0.4.tar.gz
Keywords: information
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
gspread-pandasBridges Google Sheets and pandas DataFrames,…
permissive · top 15,000 on PyPI
gspread-dataframeConverts between Google Sheets worksheets and…
permissive · top 5,000 on PyPI
gsheetsgsheets provides a Python wrapper around the…
permissive · top 15,000 on PyPI
gspreadgspread provides a Python interface to read,…
permissive · top 1,000 on PyPI
pandas-tdPandas-TD connects pandas DataFrames to…
permissive · top 15,000 on PyPI
gspread-formattingAdds complete cell formatting support to…
permissive · top 5,000 on PyPI
gspread-asyncioProvides an asyncio wrapper around the gspread…
permissive · top 15,000 on PyPI
pyspark-pandasProvides tools for distributing Pandas…
unclear · top 5,000 on PyPI
pandas-gbqpandas-gbq reads data from Google BigQuery into…
permissive · top 1,000 on PyPI
pygsheetspygsheets provides a Python interface to Google…
permissive · top 5,000 on PyPI