Skip to main content
GitHub Versioning keeps the code of your Notebooks and Queries in a GitHub repository. Each resource is linked to a repository and a branch, and Nekt keeps both sides in sync: a push to that branch updates the resource in Nekt, and saving code in Nekt commits it to that branch. You get version control, collaboration through pull requests, and a clear audit trail. This requires a workspace-wide GitHub connection: an owner or admin connects your GitHub organization in Settings → GitHub before you can link repositories to individual Notebooks or Queries.

Prerequisite: Connect GitHub (workspace)

Before linking repositories, an owner or admin must connect your GitHub organization in Settings → GitHub. After that, you can link repos to individual Queries.

Prepare your repository

The repository can be empty, and several Notebooks and Queries can share it. Nekt stores each resource in its own folder, named after the resource’s pipeline slug. You don’t choose the folder.
Other files in the repository, such as a README.md or CI configuration, are ignored. In the Queries list, use the Versioning column:
  1. Click Connect repository for the Query you want to version.
  2. In the dialog, select the GitHub repository and branch, and confirm. Nekt commits the Query’s current SQL to the repository.
You can link or change the linked repo at any time from the same Versioning cell. If your workspace has no GitHub connection yet, the cell will prompt you to ask an admin to configure it in Settings.

How the sync works

  • Linking uploads the code from Nekt. When you link a resource to a repository, Nekt commits its current code to the resource’s folder on the chosen branch, replacing any notebook.py, query.sql, or requirements.txt already in that folder.
  • Pushes to the branch update Nekt. Nekt reads the files changed in each push to the linked branch and updates only the resources whose files changed. Pushes to other branches are ignored.
  • Saving in Nekt commits to the branch. When you save code or dependencies in Nekt, the change is committed to the linked branch. If GitHub rejects the commit, for example because of a branch protection rule, the save fails.
  • Pushed Notebooks are validated before they apply. Nekt checks that the tables, volumes, and secrets a Notebook uses exist, and that the user who linked it can read its input tables and edit its output tables. If a check fails, the code in Nekt is not changed and the error is shown on the Notebook. Fix the code and push again.
Linking a resource overwrites its folder in the repository with the code currently in Nekt. If the repository already holds the version you want to keep, link the resource first, then push that version again: Nekt imports it from the push.
  • Link the branch you deploy from, typically main, and review changes through pull requests: merging into main is what updates Nekt.
  • Pick one place to edit. If your branch requires pull requests, saves made in Nekt cannot be committed and fail. In that case, edit code only through GitHub.
  • Link resources with a user who keeps the right permissions. Syncs triggered by a push run with the permissions of the user who linked the resource, so use someone with access to its input and output tables who will stay in the workspace.

API & MCP

Platform API

Not available in the Platform API yet.

MCP tools

connect_transformations_to_github and list_github_repositories.