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, just as you would with your local computer.
What can I do with a linked repository?
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 git commands from the terminal without any additional authentication.
Keep in mind that when it comes to collaboration, Deepnote provides many native solutions. For example, consider the following use cases for collaboration that don't require GitHub:
- Sharing notebooks with access controls
- Real-time and asynchronous notebook collaboration
- Native versioning notebooks
However, Deepnote's GitHub integration makes the following workflows simple:
- Using a private Python module in Deepnote notebooks
- Augmenting local library/package development
- Importing
.ipynb
files from GitHub to Deepnote's native representation
If you want to link a repository but you don't need to push to it, simply use git clone <repo url>
from the terminal in Deepnote.
Linking a repository to your project
On the Project tab of your notebook, scroll to the FILES section, click on the + icon, and select Connect a GitHub repository.
In the Link GitHub Repository modal, paste the URL of your repository and click the Link GitHub Repository button.
You will now be able to see your GitHub project in the FILES section. You can now open a terminal and use git commands as normal, as well as accomplish the use cases listed above.
If this is the first time you're linking a repository, you will also need to install our GitHub application.
Installing the GitHub application
Deepnote connects to GitHub through a GitHub app. 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.
When you try to link a repository before installing the Deepnote GitHub app, you will be prompted with a message to connect GitHub to your organization. Click the Add the application button to install the Deepnote GitHub app.
Authentication under the hood
We use short-lived access tokens to authenticate 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.
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'll no longer be able to access the repository through Deepnote.
Pushing notebooks to git as .ipynb
files
To push Deepnote's specialized notebooks to git, click Download from the three-dot menu in the top-right corner of a project. Extract the archive and then choose between the following two options:
- 1: Organize the notebooks the way you need on your local machine and push to a git repository from there.
- 2: Upload the notebooks (
.ipynb
files) back to Deepnote's filesystem and use the terminal to push to git.
Is this an important feature for you? Please tell us more on our Product Portal.