Sign inGet started

Getting started

Welcome to Deepnote

Working with files

Linking a GitHub repo

Connecting to data sources

Coding and analysis tools

Linking a GitHub repo

Deepnote allows you to import both public and private repositories from GitHub. If you want to import a public repository but do not want to push to it, open your terminal and use git clone and the HTTPS URL of the repository to clone it to your project. If you want to be able to push to GitHub, you can link your repository to a project using the steps described below.

Use cases

GitHub is a versatile tool that helps with many aspects of collaborative work with code. The scope of this integration is not to cover them all. While a number of them are supported, Deepnote tackles some of these use cases with a native solution instead to provide a better user experience.

Supported use cases for an integration:

  • Using a private Python module in Deepnote notebooks
  • Initial import of notebooks to Deepnote

Use cases better served by Deepnote's features:

How to connect

Linking a repository to your project

If you want to include a private repository or a public one that you want to push to, you can link it to your Deepnote project. This allows you and all your project collaborators to push to and pull from the repository from the terminal without any additional authentication.

To link a repository to your project, open the integrations tab on the right and paste a link to the repository. If this is the first time you are linking a repository, you will also need to install our Github application.

GitHub application installation

Deepnote connects to GitHub through a GitHub app. Therefore, you first need to install the Deepnote GitHub app on your organization's or personal GitHub account. This process only needs to be completed once per account or organization. Click the Add the application link underneath in the right-hand sidebar of your project to install the Deepnote GitHub app.

Connection details

Under the hood, we use short-lived access tokens to authenticate the git commands. To be able to use this approach, we access the repository via HTTPS protocol rather than SSH. The token is valid for 10 minutes and only grants access to the repository linked to the given project. We use the Custom Git Credential Helper to pass the token to the git commands.

How to use

After the repository is linked to your GitHub project, you can commit, pull, and push by opening a terminal, switching to the repository directory with a cd command, and then running the git commands of your choice.

Pushing notebooks to git

If you need to push your notebooks to git, select Download the project in the three-dot menu in the top-right corner, extract the archive, then:

  • Option 1: Organize the notebooks the way you need on your local machine, and push to a git repository from there.
  • Option 2: Upload the notebooks (.ipynb files) back to Deepnote's file system, and use the terminal to push to git.

Is this an important feature for you? Please tell us more on Portal.

Revoking access

In case you no longer want Deepnote to have access to some or all of your repositories, you can either revoke access to some repositories or uninstall the Deepnote GitHub application completely in your organization's GitHub settings at<your-organization>/settings/installations .

We also verify if the person who linked the GitHub repository to a Deepnote project still has access to the GitHub repository. This means that if somebody leaves your organization or no longer has access to the repository in question, they will no longer be able to access the repository through Deepnote as well.

Next steps

After learning how to connect your GitHub repositories to Deepnote, you might want to take a look at other integrations that can help streamline your workflows like Snowflake or ClickHouse.

Still need help? Deepnote's community of over 5,000 data enthusiasts and professionals is always there for you. Post any questions into the Q&A channel here.