B2 SDK docs: add a practical v0-v3 interface compatibility and migration matrix

未关闭
#594 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
42/100
Issue 类型
文档
描述清晰度
基本清楚
活跃度
冷清
技术栈
python
领域
documentation

调研方向

Start with doc/source/api_types.rst, which explains numbered interfaces but has no support table. Compare the b2sdk.v1 and b2sdk.v3 imports from the steps to reproduce, and find the compatibility adapters and the tests that preserve v0 to v3 behavior. Done means a matrix plus before-and-after examples for each transition, covering the v1 raw_api argument, the v2 worker defaults and the v0 raw list/delete responses.

由索引模型根据 Issue 内容生成。

描述

Description

doc/source/api_types.rst explains why numbered interfaces exist, but it does not distinguish the installed package version from the imported interface version with a concrete support table. It also does not show how v0, v1, v2, and v3 differ or how to migrate between them. Users must inspect compatibility adapters and release history to discover differences such as v2 worker defaults, v1's legacy raw_api constructor argument and return types, and v0's raw list/delete responses.

Steps to reproduce

from b2sdk.v1 import B2Api as V1B2Api
from b2sdk.v3 import B2Api as V3B2Api

# The documentation does not provide a migration checklist between these APIs.

Expected behavior

Documentation should distinguish package versions such as 2.12.0 from interface imports such as b2sdk.v3. It should provide a support matrix and migration notes for each transition, organized around changed imports, constructor and method signatures, defaults, return values, exception types, and removed or renamed helpers. Each transition should include a minimal before-and-after example and point to the tests that preserve the old behavior.

Actual behavior

The compatibility concept is documented, but users cannot answer practical questions such as "what must change when moving from v1 to v3?" or "can I upgrade the installed package while retaining a v1 import?" from a single authoritative page. That increases migration risk and encourages indefinite use of older interfaces.

Environment

  • Python version: Any supported version
  • b2sdk version: master at f3ab7b71
  • OS: Any

主要语言
Python
星标
214
派生
68
平均合并
51 分钟
30 天内合并 PR
6

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Backblaze/b2-sdk-python 的其他 Issue

查看 Backblaze/b2-sdk-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。