用于管理、基准测试和与jupyterhub交互的库和客户端
项目描述
JupyterHub客户端
JupyterHub自动化
安装
pip install jhub-client
命令行使用
以下是该工具的一些示例用例。请注意,使用管理API令牌可以模拟用户并创建临时用户。服务API令牌没有关联的用户,因此必须作为现有用户或临时用户运行。
设置用于 jhub-client
的API令牌。
export JUPYTERHUB_API_TOKEN=<api-token>
可选地,可以使用基本身份验证而不是基于令牌的身份验证(不推荐但在某些用例中需要)。在这种情况下,需要 username
和 password
。
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
可以使用简单的命令行工具创建令牌。这仅支持基本身份验证(username
和 password
)登录到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集群
访问控制台页面。URL将是<hub_url>/hub/home
。
点击左上角的令牌
并请求新的API令牌。此令牌将具有用户的权限。请确保将环境变量JUPYTERHUB_API_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的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 758ead99978403fa2379599df124a34c8e46bfe74a7d3dffa9c67ee40af6c6e4 |
|
MD5 | 149612bae75bfc11b6dcaa02019b0bf5 |
|
BLAKE2b-256 | f12de654c774e332a256147bd2effd4d2177ba38616e14c67939d84021336f72 |