B2 SDK docs: inventory and classify the public names exported by b2sdk.v3

Abierto
#597 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
22/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
python

Línea de trabajo

Start by running import b2sdk.v3 and listing vars(b2sdk.v3) for non-underscored names, then check which ones appear in the .rst files under doc/source/api. Sample the low-level names the issue lists (B2Session, B2Http, RawSimulator, BucketFactory) to see how they are documented. Done means a reviewed classification of each root export and an interface-policy statement, which needs maintainer decisions on compatibility.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Description

b2sdk.v3 re-exports a large surface from _internal, including high-level APIs, low-level HTTP classes, test simulators, constants, and implementation-oriented helpers. A static inventory at f3ab7b71 found 208 non-underscored names in the v3 root; 137 were not mentioned anywhere in the Sphinx .rst sources. This count is not evidence that all 137 names should be public. It demonstrates that the repository does not currently make the boundary explicit enough to tell intentional public exports from convenient or accidental re-exports.

Steps to reproduce

import b2sdk.v3

exported = sorted(name for name in vars(b2sdk.v3) if not name.startswith('_'))
print(exported)

Compare the result with the public API pages under doc/source/api, then sample low-level names such as B2Session, B2Http, RawSimulator, BucketFactory, and transfer-manager classes to determine whether their compatibility status is documented.

Expected behavior

Produce a reviewed inventory that classifies each root export as public, advanced public, testing support, deprecated compatibility, or internal implementation. Every intentionally public symbol should be discoverable from the API reference. Anything intentionally excluded should be covered by a clear interface-policy statement so users and maintainers understand whether compatibility is promised.

Actual behavior

The versioned root exposes substantially more names than the public API reference explains. This ambiguity affects users choosing imports and maintainers deciding whether a rename or removal requires a compatibility adapter and version-specific tests.

Environment

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

Lenguaje dominante
Python
Estrellas
214
Forks
68
Merge medio
51 min
PR fusionados (30 d)
6

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Backblaze/b2-sdk-python

Todos los issues de Backblaze/b2-sdk-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.