hubmap-search-sdk 1.0.0a2__tar.gz → 1.0.0a3__tar.gz

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.
Files changed (96) hide show
  1. hubmap_search_sdk-1.0.0a3/.release-please-manifest.json +3 -0
  2. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/CHANGELOG.md +9 -0
  3. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/PKG-INFO +1 -1
  4. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/pyproject.toml +1 -1
  5. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_utils/_transform.py +22 -0
  6. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_version.py +1 -1
  7. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/test_client.py +1 -1
  8. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/test_transform.py +12 -0
  9. hubmap_search_sdk-1.0.0a2/.release-please-manifest.json +0 -3
  10. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/.gitignore +0 -0
  11. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/CONTRIBUTING.md +0 -0
  12. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/LICENSE +0 -0
  13. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/README.md +0 -0
  14. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/SECURITY.md +0 -0
  15. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/api.md +0 -0
  16. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/bin/check-release-environment +0 -0
  17. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/bin/publish-pypi +0 -0
  18. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/examples/.keep +0 -0
  19. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/mypy.ini +0 -0
  20. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/noxfile.py +0 -0
  21. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/release-please-config.json +0 -0
  22. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/requirements-dev.lock +0 -0
  23. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/requirements.lock +0 -0
  24. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/__init__.py +0 -0
  25. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_base_client.py +0 -0
  26. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_client.py +0 -0
  27. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_compat.py +0 -0
  28. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_constants.py +0 -0
  29. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_exceptions.py +0 -0
  30. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_files.py +0 -0
  31. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_models.py +0 -0
  32. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_qs.py +0 -0
  33. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_resource.py +0 -0
  34. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_response.py +0 -0
  35. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_streaming.py +0 -0
  36. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_types.py +0 -0
  37. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_utils/__init__.py +0 -0
  38. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_utils/_logs.py +0 -0
  39. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_utils/_proxy.py +0 -0
  40. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_utils/_reflection.py +0 -0
  41. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_utils/_streams.py +0 -0
  42. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_utils/_sync.py +0 -0
  43. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_utils/_typing.py +0 -0
  44. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/_utils/_utils.py +0 -0
  45. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/lib/.keep +0 -0
  46. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/py.typed +0 -0
  47. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/resources/__init__.py +0 -0
  48. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/resources/add.py +0 -0
  49. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/resources/clear_docs.py +0 -0
  50. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/resources/indices.py +0 -0
  51. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/resources/mapping.py +0 -0
  52. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/resources/mget.py +0 -0
  53. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/resources/param_search.py +0 -0
  54. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/resources/reindex.py +0 -0
  55. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/resources/scroll_search.py +0 -0
  56. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/resources/search.py +0 -0
  57. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/resources/update.py +0 -0
  58. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/__init__.py +0 -0
  59. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/add_create_document_params.py +0 -0
  60. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/add_create_document_with_index_params.py +0 -0
  61. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/add_update_document_with_scope_params.py +0 -0
  62. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/index_list_response.py +0 -0
  63. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/mget_retrieve_multiple_by_index_params.py +0 -0
  64. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/mget_retrieve_multiple_params.py +0 -0
  65. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/param_search_execute_params.py +0 -0
  66. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/scroll_search_create_params.py +0 -0
  67. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/search_execute_index_query_params.py +0 -0
  68. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/search_execute_query_params.py +0 -0
  69. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/update_update_document_at_index_params.py +0 -0
  70. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/update_update_document_params.py +0 -0
  71. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/src/hubmap_search_sdk/types/update_update_document_with_scope_params.py +0 -0
  72. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/__init__.py +0 -0
  73. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/api_resources/__init__.py +0 -0
  74. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/api_resources/test_add.py +0 -0
  75. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/api_resources/test_clear_docs.py +0 -0
  76. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/api_resources/test_indices.py +0 -0
  77. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/api_resources/test_mapping.py +0 -0
  78. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/api_resources/test_mget.py +0 -0
  79. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/api_resources/test_param_search.py +0 -0
  80. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/api_resources/test_reindex.py +0 -0
  81. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/api_resources/test_scroll_search.py +0 -0
  82. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/api_resources/test_search.py +0 -0
  83. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/api_resources/test_update.py +0 -0
  84. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/conftest.py +0 -0
  85. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/sample_file.txt +0 -0
  86. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/test_deepcopy.py +0 -0
  87. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/test_extract_files.py +0 -0
  88. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/test_files.py +0 -0
  89. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/test_models.py +0 -0
  90. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/test_qs.py +0 -0
  91. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/test_required_args.py +0 -0
  92. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/test_response.py +0 -0
  93. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/test_streaming.py +0 -0
  94. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/test_utils/test_proxy.py +0 -0
  95. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/test_utils/test_typing.py +0 -0
  96. {hubmap_search_sdk-1.0.0a2 → hubmap_search_sdk-1.0.0a3}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.0.0-alpha.3"
3
+ }
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.0-alpha.3 (2025-04-09)
4
+
5
+ Full Changelog: [v1.0.0-alpha.2...v1.0.0-alpha.3](https://github.com/hubmapconsortium/search-python-sdk/compare/v1.0.0-alpha.2...v1.0.0-alpha.3)
6
+
7
+ ### Chores
8
+
9
+ * **internal:** remove trailing character ([#20](https://github.com/hubmapconsortium/search-python-sdk/issues/20)) ([eba7907](https://github.com/hubmapconsortium/search-python-sdk/commit/eba7907ee5740d1280a2e8644505539d7e0f2bd2))
10
+ * **internal:** slight transform perf improvement ([#23](https://github.com/hubmapconsortium/search-python-sdk/issues/23)) ([4605f8b](https://github.com/hubmapconsortium/search-python-sdk/commit/4605f8b1836a291ab658811a196cb46a3df818b0))
11
+
3
12
  ## 1.0.0-alpha.2 (2025-04-03)
4
13
 
5
14
  Full Changelog: [v1.0.0-alpha.1...v1.0.0-alpha.2](https://github.com/hubmapconsortium/search-python-sdk/compare/v1.0.0-alpha.1...v1.0.0-alpha.2)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: hubmap_search_sdk
3
- Version: 1.0.0a2
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "hubmap_search_sdk"
3
- version = "1.0.0-alpha.2"
3
+ version = "1.0.0-alpha.3"
4
4
  description = "The official Python library for the hubmap-search-sdk API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -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):
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "hubmap_search_sdk"
4
- __version__ = "1.0.0-alpha.2" # x-release-please-version
4
+ __version__ = "1.0.0-alpha.3" # x-release-please-version
@@ -1637,7 +1637,7 @@ class TestAsyncHubmapSearchSDK:
1637
1637
  import threading
1638
1638
 
1639
1639
  from hubmap_search_sdk._utils import asyncify
1640
- from hubmap_search_sdk._base_client import get_platform
1640
+ from hubmap_search_sdk._base_client import get_platform
1641
1641
 
1642
1642
  async def test_main() -> None:
1643
1643
  result = await asyncify(get_platform)()
@@ -432,3 +432,15 @@ async def test_base64_file_input(use_async: bool) -> None:
432
432
  assert await transform({"foo": io.BytesIO(b"Hello, world!")}, TypedDictBase64Input, use_async) == {
433
433
  "foo": "SGVsbG8sIHdvcmxkIQ=="
434
434
  } # type: ignore[comparison-overlap]
435
+
436
+
437
+ @parametrize
438
+ @pytest.mark.asyncio
439
+ async def test_transform_skipping(use_async: bool) -> None:
440
+ # lists of ints are left as-is
441
+ data = [1, 2, 3]
442
+ assert await transform(data, List[int], use_async) is data
443
+
444
+ # iterables of ints are converted to a list
445
+ data = iter([1, 2, 3])
446
+ assert await transform(data, Iterable[int], use_async) == [1, 2, 3]
@@ -1,3 +0,0 @@
1
- {
2
- ".": "1.0.0-alpha.2"
3
- }