Changes to the wger REST API itself are documented in the backend's release notes, linked below. This file records important changes to this package.
Breaking: the client is built on httpx2
instead of httpx, following openapi-python-client 0.30. The endpoints and
models are unchanged; what changes is the HTTP layer underneath:
set_httpx_client(),set_async_httpx_client(),with_timeout()andhttpx_argsare typed forhttpx2objects (httpx2.Client,httpx2.AsyncClient,httpx2.Timeout,httpx2.Auth). Passing anhttpxobject still works at runtime, but type checkers flag it.- Transport errors are
httpx2exceptions (httpx2.TimeoutException,httpx2.ConnectError, ...). Anexcept httpx.…clause no longer catches them, and does so silently. - Mocks keyed to
httpx(respx, pytest-httpx) no longer intercept requests. With respx, thepytest-httpx2plugin adds the missinghttpcore2mocker. - TLS certificates are verified against the operating system's trust store
instead of the
certifibundle. A container without CA certificates needsca-certificatesinstalled orSSL_CERT_FILEset. - The default User-Agent is
python-httpx2/<version>.
Also fixed: multipart/form-data requests were sent with the fixed boundary
+++, so an upload containing \r\n--+++ was cut short at that point. httpx2
now picks a random boundary per request.
Update to 2.7.0. See backend release notes.
- The
*__infilters (id__in,category__in,muscles__in, and so on) now send their values as one comma-separated parameter, as the API expects. They were sent as repeated parameters before, and the server applied only the last value of each.
First version of the package. See backend release notes.