Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
jupyterlab-gitlab-msg
Advanced tools
A Jupyter Notebook server extension which acts as a proxy for the GitLab API.
A JupyterLab extension for browsing GitLab repositories (in read-only mode).
This extension is based on jupyterlab-github. All credit to the JupyterLab team, and especially Ian Rose, for the github extension!
Thanks as well to Mark Ghiorso for the jupyterlab_gitlab extension where I took some inspiration. It didn't fit my needs (no server extension) so I decided to create my own based on a recent version of jupyterlab-github instead (v0.10.0).
When you install this extension, an additional filebrowser tab will be added to the left area of JupyterLab. This filebrowser allows you to select GitLab groups and users, browse their repositories, and open the files in those repositories. If those files are notebooks, you can run them just as you would any other notebook. You can also attach a kernel to text files and run those. Basically, you should be able to open any file in a repository that JupyterLab can handle.
WARNING! Subgroups are currently not supported.
Here is a screenshot of the plugin opening this very file on GitLab:
This is not an extension that provides full GitLab access, such as saving files, making commits, forking repositories, etc.
If you want to use git from JupyterLab, you should look at the jupyterlab-git extension.
This extension has both a client-side component (that is, Javascript that is bundled with JupyterLab), and a server-side component (that is, Python code that is added to the Jupyter notebook server). This extension will work without the server extension, with some drawbacks:
For those reasons, you should set up the server extension as well as the lab extension. This process is described in the installation section.
As discussed above, this extension has both a server extension and a lab extension. We recommend installing both to allow authentication and pagination. The purpose of the server extension is to add GitLab credentials that you will need to acquire from https://gitlab.com/profile/personal_access_tokens, and then to proxy your request to GitLab. Note that OAuth2 token are also supported.
To install the lab extension, enter the following in your terminal:
jupyter labextension install jupyterlab-gitlab
With only this installed, the extension should work.
You need to create a personal access token to authenticate yourself to GitLab.
Settings
_ > Access Tokens
_.Name
, enter a short description, to identify the purpose
of this token. I recommend something like: jupyterlab-gitlab
.api
scope.Create personal access token
. You will see your new personal access token (a 21 characters string).
Click on the copy to clipboard icon and and paste it locally in a text file for now.
If you have a password manager like 1password, use that.This is the only time you'll see this token in GitLab. If you lose it, you'll need to create another one.
Install the server extension using pip, and then enable it:
pip install jupyterlab-gitlab-msg
If you are running Notebook 5.3 or later, this will automatically enable the extension. If not, enable the server extension by running:
jupyter serverextension enable --sys-prefix jupyterlab_gitlab
You can check if the server extension is enabled by running:
jupyter serverextension list
You should now add the credentials you got from GitLab to your notebook configuration file. Instructions for generating a configuration file can be found here. Once you have identified this file, add the following line to it:
c.GitLabConfig.access_token = "< YOUR_ACCESS_TOKEN >"
where < YOUR_ACCESS_TOKEN >
is the string value you obtained above.
It can also be an OAuth2 token.
You saw how to add your access_token
to the notebook configuration file.
There are other parameters than you can modify using that file.
Those are the default values:
c.GitLabConfig.allow_client_side_access_token = False
c.GitLabConfig.url = "https://gitlab.com"
c.GitLabConfig.validate_cert = True
If you run your own GitLab instance for example, update c.GitLabConfig.url
to point to it.
You can set the plugin to start showing a particular repository at launch time. Open the "Advanced Settings" editor in the JupyterLab Settings menu, and under the GitLab settings add
{
"baseUrl": "https://gitlab.com",
"defaultRepo": "owner/repository"
}
where owner
is the GitLab user or group,
and repository
is the name of the repository you want to open.
The baseUrl
can also be updated to point to your own GitLab instance.
If you use the server extension, this url is only used for the Open this repository on GitLab
button.
FAQs
A Jupyter Notebook server extension which acts as a proxy for the GitLab API.
We found that jupyterlab-gitlab-msg demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.