gcp-bigquery-notebook-uploader

Uploads and commits Jupyter notebooks to Google Cloud Dataform repositories via REST API.

Updated Jul 7, 2026
One-click install
npx skills add https://github.com/ricardolui/gcp-custom-agent-skills --skill gcp-bigquery-notebook-uploader-ricardolui
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gcp-bigquery-notebook-uploader
Source: https://github.com/ricardolui/gcp-custom-agent-skills/tree/main/gcp-bigquery-notebook-uploader
Command: npx skills add https://github.com/ricardolui/gcp-custom-agent-skills --skill gcp-bigquery-notebook-uploader-ricardolui

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Moving local Jupyter notebooks into Google Cloud BigQuery Studio or Colab Enterprise normally requires manual UI uploads, and programmatically replicating the native single-file notebook asset format is undocumented and error-prone. ## Core Features & Use Cases - Workspace Mode: Writes and commits .ipynb files directly into an existing Dataform repository and development workspace for standard Git-based pipelines. - Emulated Single-File-Asset Mode: Provisions a UUID-based Dataform repository tagged with the notebook asset label, commits content.ipynb, pushes, and cleans up the workspace so the notebook appears natively in the BigQuery Studio / Colab Enterprise catalog. - Bidirectional Sync: A companion download script pulls remote notebook changes back to the local filesystem, and existing assets can be updated in place by passing their UUID. - Use Case: A data engineer automates publishing a PySpark analysis notebook so it instantly appears in the team's BigQuery Studio notebook catalog without anyone touching the Cloud Console. ## Quick Start Upload my local notebook analysis.ipynb to Google Cloud as a native BigQuery Studio notebook asset in project my-project using emulated mode.

Frequently Asked Questions about gcp-bigquery-notebook-uploader

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I upload a Jupyter notebook to BigQuery Studio programmatically?

Run the upload_notebook.py script in emulated mode with your project ID, region, notebook file path, and author email. It creates a UUID-based Dataform repository labeled as a notebook asset, commits content.ipynb, pushes it, and the notebook appears in the BigQuery Studio catalog.

How to sync notebook changes from Colab Enterprise back to local files?

Use the download_notebook.py script with the project, location, repository asset UUID, and target local file path. It reads content.ipynb from the Dataform repository via the readFile API, validates the notebook JSON, and saves it locally.

Can I update an existing BigQuery notebook asset without creating a duplicate?

Yes, pass the existing asset UUID to the --repository parameter in emulated mode. The script skips repository creation and writes, commits, and pushes the new content into the existing asset.

What Python dependencies does the Dataform notebook upload script require?

The script uses only Python standard library modules such as urllib, base64, and json, so no pip packages are needed. It does require the gcloud CLI for access token retrieval and an identity with the dataform.editor role.

Why did my Dataform workspace commit disappear after deleting the workspace?

Workspace commits are local until pushed to the repository's default branch. The script explicitly calls the push API before deleting the temporary workspace, which is the critical step that preserves the notebook content.