Getting started
Working with files
Connecting to data sources
Coding and analysis tools
Collaboration
Security and privacy
Deepnote for education
Additional resources
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 https://github.com/organizations/<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.