alt-stack-http-client-httpx 1.6.2__py3-none-any.whl → 1.7.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -621,6 +621,8 @@ def _build_query_string(query: Mapping[str, Any]) -> str:
621
621
  if isinstance(value, (list, tuple)):
622
622
  pairs.extend((key, _to_wire_string(item)) for item in value if item is not None)
623
623
  else:
624
+ if isinstance(value, float) and value.is_integer():
625
+ value = int(value)
624
626
  pairs.append((key, _to_wire_string(value)))
625
627
  encoded = urlencode(pairs)
626
628
  return f"?{encoded}" if encoded else ""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alt-stack-http-client-httpx
3
- Version: 1.6.2
3
+ Version: 1.7.1
4
4
  Summary: Asyncio HTTP client for alt-stack generated Pydantic SDKs, backed by httpx
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://github.com/anthonyaltieri/alt-stack
@@ -60,12 +60,18 @@ Importing `HttpxApiClient` from the generated module gives one typed method per
60
60
 
61
61
  `BaseApiClient` sends through the `Transport` protocol, a single `async def send(request: HttpRequest) -> HttpResponse`. Implement it over any asyncio HTTP library and pass it to the generated `ApiClient(base_url, transport=..., request_map=Request, response_map=Response)`.
62
62
 
63
+ Scalar query floats with an integral value use integer spelling (`10.0` becomes
64
+ `limit=10`); fractional values keep their decimal spelling (`2.5`). Strings,
65
+ booleans, repeated list values, omitted `None` values, and JSON bodies retain their
66
+ existing encoding.
67
+
63
68
  ## Development
64
69
 
65
70
  ```bash
66
- uv run --project packages/python-http-client-httpx --extra dev pytest packages/python-http-client-httpx/tests
67
- uv run --project packages/python-http-client-httpx --extra dev ruff check packages/python-http-client-httpx
68
- uv run --project packages/python-http-client-httpx --extra dev ty check packages/python-http-client-httpx
71
+ uv sync --project packages/python-http-client-httpx --extra dev
72
+ packages/python-http-client-httpx/.venv/bin/pytest packages/python-http-client-httpx/tests -q
73
+ packages/python-http-client-httpx/.venv/bin/ruff check packages/python-http-client-httpx
74
+ packages/python-http-client-httpx/.venv/bin/ty check packages/python-http-client-httpx
69
75
  ```
70
76
 
71
77
  ## Documentation
@@ -0,0 +1,7 @@
1
+ alt_stack_http_client_httpx/__init__.py,sha256=K_s5RRdcGQbVF35uVfCb5xRxuvlHT50ueFI-ZX8yvDA,25873
2
+ alt_stack_http_client_httpx/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ alt_stack_http_client_httpx-1.7.1.dist-info/licenses/LICENSE,sha256=OvI3tgOAzCyCFOjcQ42mFXk6SKQTicTDrUgbqofOXGY,1072
4
+ alt_stack_http_client_httpx-1.7.1.dist-info/METADATA,sha256=peX9SLMSqCj_ItwaChtih9V_0ZwzeF9W7ucDsulwvDA,3409
5
+ alt_stack_http_client_httpx-1.7.1.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
6
+ alt_stack_http_client_httpx-1.7.1.dist-info/top_level.txt,sha256=PZXXm6msFY_RF6sU7i0l0xbP8m1Qv0q40mi2eLVzdP4,28
7
+ alt_stack_http_client_httpx-1.7.1.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- alt_stack_http_client_httpx/__init__.py,sha256=U3BUMj4dUm6nHZotR_zrms-da5X-xC8Oqhx04kQFPTo,25774
2
- alt_stack_http_client_httpx/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- alt_stack_http_client_httpx-1.6.2.dist-info/licenses/LICENSE,sha256=OvI3tgOAzCyCFOjcQ42mFXk6SKQTicTDrUgbqofOXGY,1072
4
- alt_stack_http_client_httpx-1.6.2.dist-info/METADATA,sha256=IeAs6NztJjG_Nj6KS13CJIsvf-EmvCtqNP20QNBtBr0,3138
5
- alt_stack_http_client_httpx-1.6.2.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
6
- alt_stack_http_client_httpx-1.6.2.dist-info/top_level.txt,sha256=PZXXm6msFY_RF6sU7i0l0xbP8m1Qv0q40mi2eLVzdP4,28
7
- alt_stack_http_client_httpx-1.6.2.dist-info/RECORD,,