Skip to content

Conversation

SAKURA-CAT
Copy link
Member

@SAKURA-CAT SAKURA-CAT commented Feb 11, 2025

本次 Pull Request 包括多项更改,以优化登录认证流程并增强 SwanLab SDK 中主机格式处理的功能。主要更新包括登录逻辑改进 #792 、引入新的 HostFormatter 类以及环境变量处理的调整。

登录认证改进:

  • docs/登录认证.md:新增登录认证文档,并提供相关问题链接以供进一步探索。
  • swanlab/api/info.py:更新 LoginInfo 类,使用新的 fmt_web_host 函数进行 Web 主机格式化,并修改 save 方法以保存 Web 主机和 API 主机信息。

主机格式处理增强:

  • swanlab/data/sdk.py:引入 HostFormatter 类,以标准化主机 URL 格式,并更新登录函数以使用该格式器验证并设置主机环境变量。
  • swanlab/env.py:为 SwanLabEnv 类新增方法,以验证字符串是否为有效主机名,并更新 set_default 方法以支持从 .netrc 文件读取主机信息(若存在)。

兼容性与测试:

  • swanlab/package.py:更新 get_keysave_key 函数,使其能够处理不含 /api 后缀的主机 URL,以保持向后兼容。
  • test/unit/data/test_sdk.py:新增 HostFormatter 类的测试,并更新登录函数测试以涵盖新的主机参数处理。
  • test/unit/test_env.py:新增测试以验证通过 .netrc 文件设置环境变量的功能。
  • test/unit/test_package.py:新增测试以确保对包含 /api 后缀的主机保持兼容性。

本pr已经能实现swanlab.login(api_key="xxx", host="xxx") 的效果,此函数新增两个可选参数:

  1. host:后端host,字符串格式为协议://host:端口号其中端口号和协议可省略,此时默认https协议。此参数影响登录认证。
  2. web_host: 前端host,格式与host相同,如果不传递,并且host传递,默认使用host作为web_host。此参数仅影响命令行显示

命令行相关功能将在下一个pr完成

@SAKURA-CAT SAKURA-CAT marked this pull request as ready for review February 11, 2025 07:12
@SAKURA-CAT SAKURA-CAT requested a review from Zeyi-Lin February 11, 2025 07:12
@SAKURA-CAT SAKURA-CAT self-assigned this Feb 11, 2025
@SAKURA-CAT SAKURA-CAT added the 💪 enhancement New feature or request label Feb 11, 2025
@SAKURA-CAT SAKURA-CAT merged commit 963c540 into main Feb 11, 2025
5 checks passed
@SAKURA-CAT SAKURA-CAT deleted the feat/login-host branch February 11, 2025 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💪 enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants