Skip to content

Moderniza el SDK Python con HTTPX, uv y Ruff - #1

Merged
seb5433 merged 2 commits into
mainfrom
chore/python-runtime-compatibility
Oct 12, 2026
Merged

seb5433 merged 2 commits into
mainfrom
chore/python-runtime-compatibility

Conversation

@mijhaels

@mijhaels mijhaels commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Corrige la codificación de búsquedas y añade clientes HTTPX síncrono/asíncrono con conexiones reutilizables y cierre explícito. La única dependencia de ejecución es HTTPX; uv gestiona el proyecto y Ruff controla lint y formato.

- Funciones con Requests importada sin dependencia declarada
+ Funciones compatibles con HTTPX; parámetros de búsqueda codificados
+ TuRucClient / AsyncTuRucClient → conexiones reutilizables + cierre explícito
+ uv.lock + Ruff + Python 3.11–3.15 en CI
+ Construir una vez → probar el wheel limpio → publicar esos artefactos

Evidence

  • Before: test_search_preserves_reserved_characters_and_accents recibía search=A al buscar A&B ÑANDÚ + CIA.
    After: conserva el término completo. Los 28 casos pasan tanto en el proyecto con lock como en el wheel instalado en cada Python 3.11–3.15: 280 ejecuciones, con reutilización TCP, cierre, concurrencia, timeouts y respuestas HTTP comprobados.
  • uv sync --locked, Ruff lint/formato, uv build y twine check pasan. El wheel sólo declara HTTPX y los consumidores limpios no instalan Requests. uv publish --dry-run --trusted-publishing never valida las distribuciones sin subirlas. Actionlint pasa; setup-uv está fijado al SHA verificado.

Merge Danger

Door: two-way

El merge es reversible; la publicación sigue limitada a tags cuya versión coincide con el paquete y depende de toda la matriz.

Blast Radius: Consumidores

La versión 0.1.0 requiere Python 3.11 o superior y cambia las excepciones de transporte a la familia httpx.RequestError. Las funciones anteriores conservan parámetros, respuestas y llamadas aisladas sin timeout; los clientes reutilizables usan 10 segundos por fase de forma predeterminada. Los consumidores no necesitan uv ni utilizan nuestro lockfile.

@seb5433
seb5433 merged commit b246cab into main Oct 12, 2026
7 checks passed
@mijhaels
mijhaels deleted the chore/python-runtime-compatibility branch October 27, 2026 15:15
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