JupyterLab查看GitLab仓库
项目描述
JupyterLab GitLab
用于浏览GitLab仓库的JupyterLab扩展(只读模式)。
此扩展基于 jupyterlab-github。所有荣誉归于JupyterLab团队,特别是Ian Rose,github扩展的贡献!
还要感谢 Mark Ghiorso 提供的 jupyterlab_gitlab 扩展,我从其中汲取了一些灵感。它不符合我的需求(没有服务器扩展),所以我决定基于jupyterlab-github的最新版本(v0.10.0)创建自己的扩展。
此扩展由一个名为 jupyterlab_gitlab
的Python包组成,用于服务器扩展,以及一个名为 jupyterlab-gitlab
的NPM包,用于前端扩展。
服务器扩展的目的是添加您需要从 https://gitlab.com/profile/personal_access_tokens 获取的 GitLab 凭证,然后代理您的 GitLab 请求。注意,OAuth2 令牌也受支持。
简介
本扩展是什么
安装此扩展后,将在 JupyterLab 的左侧区域添加一个额外的文件浏览器标签。此文件浏览器允许您选择 GitLab 组和用户,浏览他们的仓库,并打开这些仓库中的文件。如果这些文件是笔记本,您可以像运行其他笔记本一样运行它们。您还可以将内核附加到文本文件并运行它们。基本上,您应该能够打开 JupyterLab 可以处理的任何仓库中的文件。
警告!目前不支持子组。
以下是插件在 GitLab 中打开此文件的截图:
本扩展不是什么
这不是一个提供完整 GitLab 访问的扩展,例如保存文件、提交更改、分支仓库等。
如果您想从 JupyterLab 使用 git,请查看 jupyterlab-git 扩展。
要求
- JupyterLab >= 4.0
- JupyterLab 1.x 版本 1.x
- JupyterLab 2.x 版本 2.x
- JupyterLab 3.x 版本 3.x
- JupyterLab 4.x 版本 4.x
- 服务器扩展的 GitLab 账户
安装
安装服务器和实验室扩展
对于 Jupyterlab >= 3.0,两个扩展都从 Python 包中安装
pip install jupyterlab-gitlab
对于 Jupyterlab < 3.0,您必须分别安装服务器和实验室扩展
jupyter labextension install jupyterlab-gitlab
pip install jupyterlab-gitlab
从 GitLab 获取您的凭据
- 前往 https://gitlab.com/profile/personal_access_tokens 或从 GitLab,转到您的
设置
>访问令牌
。 - 在
名称
下,输入一个简短描述,以标识此令牌的目的。我建议使用类似jupyterlab-gitlab
的内容。 - 在范围下,勾选
api
范围。 - 点击
创建个人访问令牌
。您将看到您的新个人访问令牌(一个 21 个字符的字符串)。点击复制到剪贴板图标,并将其暂时粘贴到本地的文本文件中。如果您有像 1password 这样的密码管理器,请使用它。
这是您在 GitLab 中唯一一次看到此令牌的机会。如果您丢失它,您将需要创建另一个。
现在,您应该将您从 GitLab 获取的凭据添加到您的笔记本配置文件中。有关生成配置文件的说明,请参阅 此处。一旦您找到了此文件,请向其中添加以下行
c.GitLabConfig.access_token = "< YOUR_ACCESS_TOKEN >"
其中 < YOUR_ACCESS_TOKEN >
是您上面获得的字符串值。它也可以是一个 OAuth2 令牌。
自定义
自定义服务器扩展
您已经看到了如何将您的 access_token
添加到笔记本配置文件中。您可以使用该文件修改其他参数。以下是默认值
c.GitLabConfig.allow_client_side_access_token = False
c.GitLabConfig.url = "https://gitlab.com"
c.GitLabConfig.validate_cert = True
如果您运行自己的 GitLab 实例,例如,请更新 c.GitLabConfig.url
以指向它。
自定义实验室扩展
您可以在启动时设置插件以显示特定的仓库。在 JupyterLab 设置菜单中打开“高级设置”编辑器,然后在 GitLab 设置下添加
{
"baseUrl": "https://gitlab.com",
"defaultRepo": "owner/repository"
}
其中 owner
是 GitLab 用户或组,repository
是您想要打开的仓库的名称。
baseUrl
也可以更新以指向您自己的 GitLab 实例。如果您使用服务器扩展,此 URL 仅用于“在 GitLab 上打开此仓库”按钮。
故障排除
如果您看到前端扩展,但它不起作用,请检查服务器扩展是否已启用
jupyter server extension list
如果已安装并启用了服务器扩展,但您未看到前端扩展,请检查前端扩展是否已安装
jupyter labextension list
贡献
开发安装
注意:您需要 NodeJS 来构建扩展包。
jlpm
命令是 JupyterLab 集成的 yarn 的固定版本。您可以使用下面的 yarn
或 npm
替代 jlpm
。
# Clone the repo to your local environment
# Change directory to the jupyterlab-gitlab directory
# Install package in development mode
pip install -e .
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Rebuild extension Typescript source after making changes
jlpm run build
您可以在不同的终端中同时监视源目录并运行 JupyterLab,以监视扩展源代码的变化并自动重新构建扩展。
# Watch the source directory in one terminal, automatically rebuilding when needed
jlpm run watch
# Run JupyterLab in another terminal
jupyter lab
在监视命令运行时,每次保存的更改都将立即在本地构建并可供正在运行的 JupyterLab 使用。刷新 JupyterLab 以在浏览器中加载更改(您可能需要等待几秒钟以重新构建扩展)。
默认情况下,jlpm run build
命令为此扩展生成源映射,以便使用浏览器开发者工具更容易地进行调试。要同时为 JupyterLab 核心扩展生成源映射,可以运行以下命令
jupyter lab build --minimize=False
卸载
pip uninstall jupyterlab-gitlab
对于 JupyterLab < 3,在删除 Python 包后还需要运行以下命令
jupyter labextension uninstall jupyterlab-gitlab
jupyterlab_gitlab-4.0.0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 150594530a5f0aea94c4dd5b93ce79065e3ae7655618f6718006afe1a78b81fb |
|
MD5 | a7610cec89b2a257071d43b223bc75c5 |
|
BLAKE2b-256 | 68d22fb8fa1ce6e7c5e38c914c2bbcee4823b037db336186574760dff2247884 |
jupyterlab_gitlab-4.0.0-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0e3c3b7986a83391ce910eb3b03ba919ea33042b307144bc14a747190c3d8d98 |
|
MD5 | ea4532fb09bb2d0b33fca66591598a99 |
|
BLAKE2b-256 | 6a24725cc98bb94cf7caf8314b6f10db91f556f47f69538d2e4c7d1f14e7ec8d |