bigframes
BigQuery DataFrames -- scalable analytics and machine learning with BigQuery
Decision gist · record as of 2026-08-14
Yes, if you have a GCP project with BigQuery and need to scale pandas-like analytics or train ML models on large datasets without managing infrastructure. The active maintenance, permissive license, and low install friction support adoption. No if you lack GCP access, work entirely with small local datasets, or need full pandas API coverage—some operations may not be supported or may require workarounds.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires GCP project with BigQuery API enabled and Application Default Credentials configured for authentication.
- Low install friction with a pure-wheel distribution.
- Active maintenance with a release 2 days old and 5373 repository stars.
License · maintenance · safety
Apache 2.0 (permissive) — Apache 2.0 permissive license allows commercial use, modification, and distribution with minimal restrictions. Code incorporates third-party material from Ibis, pandas, scikit-learn, XGBoost, and SQLGlot, all compatible with permissive licensing.
last release 2026-08-12 (2 days) · last repo commit 2026-08-14 · 5,373 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 878,643 downloads/mo, #4,826 on PyPI
Alternatives
Verify before relying
pip install bigframes
import bigframes.pandas as bpd
bpd.options.bigquery.project = 'your-gcp-project'
df = bpd.read_gbq('bigquery-public-data.usa_names.usa_1910_2013')
result = df.groupby('name').agg({'number': 'sum'}).head(10).to_pandas()- Performance characteristics and query optimization behavior compared to direct BigQuery SQL or pandas on local data.
- Extent of pandas API compatibility—which methods/parameters are fully supported vs. emulated or unsupported.
- Pricing impact of BigQuery compute and storage when scaling analytics workloads via BigFrames.
- Maturity and stability of the Gemini AI integration in bigframes.bigquery.ai.
What it is and what it does
BigFrames is a Python library that translates pandas-like DataFrame operations and scikit-learn-style ML calls into BigQuery SQL, executing them server-side on Google's managed infrastructure. It bridges the gap between local pandas workflows and cloud-scale analytics by letting developers write familiar Python code while leveraging BigQuery's distributed compute engine.
The package includes three main APIs: bigframes.pandas for analytics (compatible with many pandas workloads), bigframes.ml for supervised and unsupervised learning (modeled after scikit-learn), and bigframes.bigquery.ai for AI methods powered by Gemini. It depends on the full Google Cloud Python ecosystem—BigQuery client, Storage, Functions, IAM, and authentication libraries—plus data science foundations like pandas, numpy, pyarrow, and geospatial tools (geopandas, shapely). Setup requires a GCP project, BigQuery API enablement, and Application Default Credentials.
Use it for
- Migrate existing pandas analytics code to BigQuery by changing imports, scaling to datasets too large for local memory.
- Build and train ML models (linear regression, classification, clustering) on BigQuery data without exporting to a separate ML platform.
- Perform geospatial analysis on large datasets using geopandas-compatible operations backed by BigQuery compute.
- Combine structured analytics with Gemini AI methods for feature engineering, predictions, or text analysis on BigQuery tables.
- Prototype analytics in a notebook, then deploy the same code to production with BigQuery as the execution engine.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you have a GCP project with BigQuery and need to scale pandas-like analytics or train ML models on large datasets without managing infrastructure.
The active maintenance, permissive license, and low install friction support adoption. No if you lack GCP access, work entirely with small local datasets, or need full pandas API coverage—some operations may not be supported or may require workarounds.
Install
bigframes on PyPI
Before you install
Low install friction with a pure-wheel distribution. Active maintenance with a release 2 days old and 5373 repository stars. Requires 31 runtime dependencies including the full Google Cloud ecosystem (BigQuery, Storage, Functions, IAM), plus data science libraries (pandas, numpy, pyarrow, geopandas, shapely).
Requires GCP project with BigQuery API enabled and Application Default Credentials configured for authentication.
License in practice
Apache 2.0 permissive license allows commercial use, modification, and distribution with minimal restrictions. Code incorporates third-party material from Ibis, pandas, scikit-learn, XGBoost, and SQLGlot, all compatible with permissive licensing.
Quickstart
pip install bigframes
import bigframes.pandas as bpd
bpd.options.bigquery.project = 'your-gcp-project'
df = bpd.read_gbq('bigquery-public-data.usa_names.usa_1910_2013')
result = df.groupby('name').agg({'number': 'sum'}).head(10).to_pandas()
Verify before relying
- Performance characteristics and query optimization behavior compared to direct BigQuery SQL or pandas on local data.
- Extent of pandas API compatibility—which methods/parameters are fully supported vs. emulated or unsupported.
- Pricing impact of BigQuery compute and storage when scaling analytics workloads via BigFrames.
- Maturity and stability of the Gemini AI integration in bigframes.bigquery.ai.
Package facts
| License | Apache 2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 31 packagescloudpicklefsspecgcsfsgeopandasgoogle-authgoogle-cloud-bigquerygoogle-cloud-bigquery-storagegoogle-cloud-functionsgoogle-cloud-bigquery-connectiongoogle-cloud-resource-managergoogle-cloud-storagegoogle-crc32cgrpc-google-iam-v1numpypandaspandas-gbqpyarrowpydata-google-authrequestsshapelytabulatehumanizematplotlibdb-dtypespyicebergatpublicpython-dateutilpytztoolztyping-extensions |
| Maintenance | Actively maintained 2 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 878,643 / month, #4,826 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Internet |
Evidence: bigframes-2.48.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “pandas api for bigquery”
- bigframesBigFrames provides a pandas-compatible DataFrame API and…
- pandas-gbqpandas-gbq reads data from Google BigQuery into pandas DataFrames and…
- db-dtypesProvides pandas extension data types for SQL systems like BigQuery…
Give your agent the search over MCP, or paste the wish link into any chat.
More Internet packages
Botocore provides low-level, data-driven access to Amazon Web Services APIs, serving as the foundation for the AWS CLI and boto3 libraries.
Install it if you need programmatic access to AWS services.
Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.
Install it if you need to call AWS services from async Python code; it is the standard way to do so.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides common Protocol Buffer message definitions used across Google Cloud APIs, enabling Python clients to interact with Google services.
See also cloudsearch · pandas-gbq · google-cloud-bigquery · ibis-framework · skrub · pandasql · bigquery-magics · db-dtypes · dune-client · dataframe-api-compat