跳转到主要内容

用于管理、基准测试和与jupyterhub交互的库和客户端

项目描述

JupyterHub客户端

PyPI

JupyterHub自动化

安装

pip install jhub-client

命令行使用

以下是该工具的一些示例用例。请注意,使用管理API令牌可以模拟用户并创建临时用户。服务API令牌没有关联的用户,因此必须作为现有用户或临时用户运行。

设置用于 jhub-client 的API令牌。

export JUPYTERHUB_API_TOKEN=<api-token>

可选地,可以使用基本身份验证而不是基于令牌的身份验证(不推荐但在某些用例中需要)。在这种情况下,需要 usernamepassword

export JUPYTERHUB_USERNAME=<username>
export JUPYTERHUB_PASSWORD=<password>

令牌

$ jhubctl token --help
usage: __main__.py token [-h] [--hub HUB] [--name NAME]

optional arguments:
  -h, --help   show this help message and exit
  --hub HUB    url for running jupyterhub cluster
  --name NAME  name to give to jupyterhub api token

可以使用简单的命令行工具创建令牌。这仅支持基本身份验证(usernamepassword)登录到jupyterhub集群。

运行

$ jhubctl run --help
usage: __main__.py run [-h] -n NOTEBOOK [--auth-type {token,basic}] [--hub HUB] [-u USERNAME]
                       [--user-options USER_OPTIONS] [--temporary-user] [-d] [--stop-server] [--validate]
                       [--kernel-spec KERNEL_SPEC] [--output-filename OUTPUT_FILENAME]

optional arguments:
  -h, --help            show this help message and exit
  -n NOTEBOOK, --notebook NOTEBOOK
                        notebook to run
  --auth-type {token,basic}
                        jupyterhub authentication type to use with default of token based
  --hub HUB             url for running jupyterhub cluster with default of 'http://localhost:8000'
  -u USERNAME, --username USERNAME
                        username to run notebook as
  --user-options USER_OPTIONS
                        json object representing user server options
  --temporary-user      create user temporarily if does not exist
  -d, --daemonize       run notebook asyncronously
  --stop-server         stop server after completion of notebook
  --validate            validate notebook output matches
  --kernel-spec KERNEL_SPEC
                        kernel spec to launch is not specified will use default
  --output-filename OUTPUT_FILENAME
                        output filename for results of running notebook

同步运行笔记本作为给定令牌用户

您可以将给定的笔记本作为预存在用户同步运行。API令牌必须是给定用户的令牌或管理员令牌。

jhubctl --verbose run --notebook <notebook> --hub <hub_url>

以指定的令牌用户同步运行笔记本并验证输出结果是否匹配

您可以将给定的笔记本作为预存在用户同步运行。API令牌必须是给定用户的令牌或管理员令牌。

jhubctl run --notebook <notebook> --hub <hub_url> --validate

以指定的令牌用户异步运行笔记本,完成后关闭服务器

您可以异步运行指定的笔记本作为现有用户,并在完成后停止服务器。API令牌必须是给定的用户或管理员令牌。

jhubctl run --notebook <notebook> --hub <hub_url> --daemonize --stop-server

以用户选项运行指定令牌用户的笔记本

虽然这是一个高级用例,但在选择特定配置文件(例如小、中、GPU JupyterLab会话)的kubernetes jupyterhub集群中经常会遇到。对于这些集群,您必须提供--user-options='{"profile": 0}',其中0将被您要选择的配置文件索引替换。对于其他更定制化的jupyterhub集群,可能需要使用不同的选项。

jhubctl run --notebook <notebook> --hub <hub_url> --user-options='{"profile": 1}'

以用户选项运行指定令牌用户的笔记本

您可以使用任何可用的内核规范运行指定的笔记本

jhubctl run --notebook <notebook> --hub <hub_url> --kernel-spec=python3

以临时用户运行指定笔记本

此外,您还可以临时创建用户user-<uuid>或提供临时用户的用户名。用户名将在完成后被删除。API令牌需要管理员权限。

jhubctl run --temporary-user --notebook <notebook> --hub <hub_url> [--username <username>]

测试

启动测试jupyterhub集群

cd tests/assets
docker-compose up --build

运行单元测试

pytest

常见问题解答

创建API令牌

登录到指定的jupyterhub集群

qhub login

访问控制台页面。URL将是<hub_url>/hub/home

qhub home

点击左上角的令牌并请求新的API令牌。此令牌将具有用户的权限。请确保将环境变量JUPYTERHUB_API_TOKEN设置为给定令牌的值。

qhub token

如果您想添加服务令牌,请编辑jupyterhub配置。

c.JupyterHub.services = [
 {
        'name': '<my-service-name>',
        'api_token': '<my-super-secret-long-token>',
        'oauth_no_confirm': True,
        'admin': True
    }
]

行为准则

为了确保有一个友好和欢迎的社区,我们要求贡献者遵循我们的行为准则

许可证

jhub-client是BSD-3许可

项目详情


下载文件

下载您平台上的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分发

jhub-client-0.1.7.tar.gz (13.5 kB 查看散列)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面