Skip to content

refactor: migrate project to uv and ruff - #40

Merged
ZhuoZhuoCrayon merged 1 commit into
mainfrom
codex/uv-ruff
Aug 27, 2026
Merged

refactor: migrate project to uv and ruff#40
ZhuoZhuoCrayon merged 1 commit into
mainfrom
codex/uv-ruff

Conversation

@ZhuoZhuoCrayon

Copy link
Copy Markdown
Member

变更概述

  • 将 Poetry 构建与依赖管理迁移到 uv + Hatchling,更新锁文件、Makefile、Dockerfile 和发布流水线。
  • 沿用 throttled-py 的 Ruff 规则和类型注解实践,接入 Ruff、Mypy、Pyright 与提交检查。
  • 整理源码类型和抽象类契约,减少不必要的 cast、Protocol 和 object,同时保留现有架构风格。
  • 恢复宽松 Base64 解码和 RSA block_list(lst=...) 关键字兼容,并补充历史 API、可选国密依赖和 BK-KMS 互通测试。

兼容性

  • Python 版本约束保持 >=3.9,<3.15
  • 原有字符串 API、历史密文、RSA PKCS#1 v1.5 和 Django 配置入口保持兼容。
  • BK-KMS 的 RSA-OAEP SHA-256/MGF1、AES-CBC PKCS#7、AES-CTR、IV 拼接格式和跨语言向量保持不变。
  • 未安装 GM extra 时,RSA 和 AES 仍可独立使用。

验证

  • uv run ruff check .
  • uv run ruff format --check .
  • uv run mypy bkcrypto tests
  • uv run pyright
  • uv run pytest -q:87 passed
  • Python 3.9 锁定隔离环境:87 passed
  • 历史兼容测试:18 passed
  • BK-KMS 互通测试:8 passed
  • uv lock --check、源码包和 wheel 构建通过

uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v7
uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Set up Python
uses: actions/setup-python@v5
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Set up Python
uses: actions/setup-python@v5
- name: Install uv
uses: astral-sh/setup-uv@v7
@ZhuoZhuoCrayon
ZhuoZhuoCrayon merged commit efe5860 into main Aug 27, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants