hubmap-search-sdk 1.0.0a1__py3-none-any.whl → 1.0.0a3__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.
- hubmap_search_sdk/_base_client.py +12 -0
- hubmap_search_sdk/_utils/_transform.py +22 -0
- hubmap_search_sdk/_version.py +1 -1
- {hubmap_search_sdk-1.0.0a1.dist-info → hubmap_search_sdk-1.0.0a3.dist-info}/METADATA +3 -3
- {hubmap_search_sdk-1.0.0a1.dist-info → hubmap_search_sdk-1.0.0a3.dist-info}/RECORD +7 -7
- {hubmap_search_sdk-1.0.0a1.dist-info → hubmap_search_sdk-1.0.0a3.dist-info}/WHEEL +0 -0
- {hubmap_search_sdk-1.0.0a1.dist-info → hubmap_search_sdk-1.0.0a3.dist-info}/licenses/LICENSE +0 -0
@@ -462,6 +462,9 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
462
462
|
raise RuntimeError(f"Unexpected JSON data type, {type(json_data)}, cannot merge with `extra_body`")
|
463
463
|
|
464
464
|
headers = self._build_headers(options, retries_taken=retries_taken)
|
465
|
+
# If it's a GET request and there's no body (no json_data or extra_json), remove Content-Type
|
466
|
+
if options.method.lower()=='get' and not json_data:
|
467
|
+
headers.pop('Content-Type', None)
|
465
468
|
params = _merge_mappings(self.default_query, options.params)
|
466
469
|
content_type = headers.get("Content-Type")
|
467
470
|
files = options.files
|
@@ -999,6 +1002,15 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
999
1002
|
response.raise_for_status()
|
1000
1003
|
except httpx.HTTPStatusError as err: # thrown on 4xx and 5xx status code
|
1001
1004
|
log.debug("Encountered httpx.HTTPStatusError", exc_info=True)
|
1005
|
+
if response.status_code in (301, 302, 303, 307, 308):
|
1006
|
+
return self._process_response(
|
1007
|
+
cast_to=cast_to,
|
1008
|
+
options=options,
|
1009
|
+
response=response,
|
1010
|
+
stream=stream,
|
1011
|
+
stream_cls=stream_cls,
|
1012
|
+
retries_taken=retries_taken,
|
1013
|
+
)
|
1002
1014
|
|
1003
1015
|
if remaining_retries > 0 and self._should_retry(err.response):
|
1004
1016
|
err.response.close()
|
@@ -142,6 +142,10 @@ def _maybe_transform_key(key: str, type_: type) -> str:
|
|
142
142
|
return key
|
143
143
|
|
144
144
|
|
145
|
+
def _no_transform_needed(annotation: type) -> bool:
|
146
|
+
return annotation == float or annotation == int
|
147
|
+
|
148
|
+
|
145
149
|
def _transform_recursive(
|
146
150
|
data: object,
|
147
151
|
*,
|
@@ -184,6 +188,15 @@ def _transform_recursive(
|
|
184
188
|
return cast(object, data)
|
185
189
|
|
186
190
|
inner_type = extract_type_arg(stripped_type, 0)
|
191
|
+
if _no_transform_needed(inner_type):
|
192
|
+
# for some types there is no need to transform anything, so we can get a small
|
193
|
+
# perf boost from skipping that work.
|
194
|
+
#
|
195
|
+
# but we still need to convert to a list to ensure the data is json-serializable
|
196
|
+
if is_list(data):
|
197
|
+
return data
|
198
|
+
return list(data)
|
199
|
+
|
187
200
|
return [_transform_recursive(d, annotation=annotation, inner_type=inner_type) for d in data]
|
188
201
|
|
189
202
|
if is_union_type(stripped_type):
|
@@ -332,6 +345,15 @@ async def _async_transform_recursive(
|
|
332
345
|
return cast(object, data)
|
333
346
|
|
334
347
|
inner_type = extract_type_arg(stripped_type, 0)
|
348
|
+
if _no_transform_needed(inner_type):
|
349
|
+
# for some types there is no need to transform anything, so we can get a small
|
350
|
+
# perf boost from skipping that work.
|
351
|
+
#
|
352
|
+
# but we still need to convert to a list to ensure the data is json-serializable
|
353
|
+
if is_list(data):
|
354
|
+
return data
|
355
|
+
return list(data)
|
356
|
+
|
335
357
|
return [await _async_transform_recursive(d, annotation=annotation, inner_type=inner_type) for d in data]
|
336
358
|
|
337
359
|
if is_union_type(stripped_type):
|
hubmap_search_sdk/_version.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: hubmap_search_sdk
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.0a3
|
4
4
|
Summary: The official Python library for the hubmap-search-sdk API
|
5
5
|
Project-URL: Homepage, https://github.com/hubmapconsortium/search-python-sdk
|
6
6
|
Project-URL: Repository, https://github.com/hubmapconsortium/search-python-sdk
|
@@ -29,11 +29,11 @@ Requires-Dist: sniffio
|
|
29
29
|
Requires-Dist: typing-extensions<5,>=4.10
|
30
30
|
Description-Content-Type: text/markdown
|
31
31
|
|
32
|
-
#
|
32
|
+
# HuBMAP Search SDK Python API Library
|
33
33
|
|
34
34
|
[](https://pypi.org/project/hubmap_search_sdk/)
|
35
35
|
|
36
|
-
The
|
36
|
+
The HuBMAP Search SDK Python library provides convenient access to the HuBMAP Search REST API from any Python 3.8+
|
37
37
|
application. The library includes type definitions for all request params and response fields,
|
38
38
|
and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
|
39
39
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
hubmap_search_sdk/__init__.py,sha256=eUNBFfdHquxHRjxdtY6YQ0pw-jeQuVT7fm5mtYzB8hY,2545
|
2
|
-
hubmap_search_sdk/_base_client.py,sha256=
|
2
|
+
hubmap_search_sdk/_base_client.py,sha256=k6ZlBU4noBUiaK569l3DbV0CPkHuvlnIXAbyvqUNhPc,65547
|
3
3
|
hubmap_search_sdk/_client.py,sha256=_B5lY2StPqLRgECImsspnws_3o0WbTfeMwZvhZTLRfo,19485
|
4
4
|
hubmap_search_sdk/_compat.py,sha256=VWemUKbj6DDkQ-O4baSpHVLJafotzeXmCQGJugfVTIw,6580
|
5
5
|
hubmap_search_sdk/_constants.py,sha256=S14PFzyN9-I31wiV7SmIlL5Ga0MLHxdvegInGdXH7tM,462
|
@@ -11,7 +11,7 @@ hubmap_search_sdk/_resource.py,sha256=z9CsPEtCJP9np1GfCrGKkqUmlGd10QdY9ZtINq4vyI
|
|
11
11
|
hubmap_search_sdk/_response.py,sha256=V9jyjwgBvmdB9MqltIZFs4gLcdbj1MmLdhwS-ILkBSk,28881
|
12
12
|
hubmap_search_sdk/_streaming.py,sha256=Anm1GDFtbRi3IL4NaaajTXDlwv75_Rm-bi6TD_0tSxU,10136
|
13
13
|
hubmap_search_sdk/_types.py,sha256=Xxqpn7vIdO1HG3-TJaQdHFEI1etNZxdSS3QOOeakw0A,6154
|
14
|
-
hubmap_search_sdk/_version.py,sha256=
|
14
|
+
hubmap_search_sdk/_version.py,sha256=o2OZ_rKBPkzUU3HqaEL5ZNC_bjnnZhsSgkINHbyyzDk,177
|
15
15
|
hubmap_search_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
16
|
hubmap_search_sdk/_utils/__init__.py,sha256=PNZ_QJuzZEgyYXqkO1HVhGkj5IU9bglVUcw7H-Knjzw,2062
|
17
17
|
hubmap_search_sdk/_utils/_logs.py,sha256=vEolshfk2D36E9yV2JC0vIbMfBmiM-lIAw-ledyLVVI,807
|
@@ -19,7 +19,7 @@ hubmap_search_sdk/_utils/_proxy.py,sha256=z3zsateHtb0EARTWKk8QZNHfPkqJbqwd1lM993
|
|
19
19
|
hubmap_search_sdk/_utils/_reflection.py,sha256=ZmGkIgT_PuwedyNBrrKGbxoWtkpytJNU1uU4QHnmEMU,1364
|
20
20
|
hubmap_search_sdk/_utils/_streams.py,sha256=SMC90diFFecpEg_zgDRVbdR3hSEIgVVij4taD-noMLM,289
|
21
21
|
hubmap_search_sdk/_utils/_sync.py,sha256=TpGLrrhRNWTJtODNE6Fup3_k7zrWm1j2RlirzBwre-0,2862
|
22
|
-
hubmap_search_sdk/_utils/_transform.py,sha256=
|
22
|
+
hubmap_search_sdk/_utils/_transform.py,sha256=xfcRTFidCyPhQ7hXeivxpAS0x-NhTyr20iXm1cKcJYk,14857
|
23
23
|
hubmap_search_sdk/_utils/_typing.py,sha256=nTJz0jcrQbEgxwy4TtAkNxuU0QHHlmc6mQtA6vIR8tg,4501
|
24
24
|
hubmap_search_sdk/_utils/_utils.py,sha256=8UmbPOy_AAr2uUjjFui-VZSrVBHRj6bfNEKRp5YZP2A,12004
|
25
25
|
hubmap_search_sdk/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
|
@@ -48,7 +48,7 @@ hubmap_search_sdk/types/search_execute_query_params.py,sha256=La2udYbqLYPTzIRJtt
|
|
48
48
|
hubmap_search_sdk/types/update_update_document_at_index_params.py,sha256=F6bL-5xzqfI1ClajCan9M2pWhKyP2qFENNXHE1unj54,341
|
49
49
|
hubmap_search_sdk/types/update_update_document_params.py,sha256=LM65ha6n6USOen2DqlL8R0N8APX9uAduWzqReXqJWOI,302
|
50
50
|
hubmap_search_sdk/types/update_update_document_with_scope_params.py,sha256=3Se48DT25C8gP_yvEoYWMg0whAD9qWPWMQH1rpvg8Zc,371
|
51
|
-
hubmap_search_sdk-1.0.
|
52
|
-
hubmap_search_sdk-1.0.
|
53
|
-
hubmap_search_sdk-1.0.
|
54
|
-
hubmap_search_sdk-1.0.
|
51
|
+
hubmap_search_sdk-1.0.0a3.dist-info/METADATA,sha256=OSMBvhjXuOTC8sEKg6RZtgRy6sF7L0TijaiG1ErMftE,12669
|
52
|
+
hubmap_search_sdk-1.0.0a3.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
53
|
+
hubmap_search_sdk-1.0.0a3.dist-info/licenses/LICENSE,sha256=lLxIB8m5gVPdScdg81tBYiNbRkVgIBWcmAN1yJwrOME,1057
|
54
|
+
hubmap_search_sdk-1.0.0a3.dist-info/RECORD,,
|
File without changes
|
{hubmap_search_sdk-1.0.0a1.dist-info → hubmap_search_sdk-1.0.0a3.dist-info}/licenses/LICENSE
RENAMED
File without changes
|