hubmap-search-sdk 1.0.0a5__tar.gz → 1.0.0a7__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.0a7/.release-please-manifest.json +3 -0
  2. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/CHANGELOG.md +17 -0
  3. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/PKG-INFO +1 -1
  4. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/pyproject.toml +2 -2
  5. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/requirements-dev.lock +1 -1
  6. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_base_client.py +30 -1
  7. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_models.py +0 -1
  8. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_utils/_typing.py +1 -1
  9. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_version.py +1 -1
  10. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/conftest.py +1 -1
  11. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/test_models.py +4 -1
  12. hubmap_search_sdk-1.0.0a5/.release-please-manifest.json +0 -3
  13. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/.gitignore +0 -0
  14. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/CONTRIBUTING.md +0 -0
  15. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/LICENSE +0 -0
  16. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/README.md +0 -0
  17. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/SECURITY.md +0 -0
  18. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/api.md +0 -0
  19. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/bin/check-release-environment +0 -0
  20. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/bin/publish-pypi +0 -0
  21. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/examples/.keep +0 -0
  22. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/mypy.ini +0 -0
  23. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/noxfile.py +0 -0
  24. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/release-please-config.json +0 -0
  25. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/requirements.lock +0 -0
  26. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/__init__.py +0 -0
  27. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_client.py +0 -0
  28. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_compat.py +0 -0
  29. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_constants.py +0 -0
  30. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_exceptions.py +0 -0
  31. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_files.py +0 -0
  32. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_qs.py +0 -0
  33. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_resource.py +0 -0
  34. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_response.py +0 -0
  35. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_streaming.py +0 -0
  36. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_types.py +0 -0
  37. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_utils/__init__.py +0 -0
  38. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_utils/_logs.py +0 -0
  39. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_utils/_proxy.py +0 -0
  40. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_utils/_reflection.py +0 -0
  41. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_utils/_streams.py +0 -0
  42. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_utils/_sync.py +0 -0
  43. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_utils/_transform.py +0 -0
  44. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/_utils/_utils.py +0 -0
  45. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/lib/.keep +0 -0
  46. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/py.typed +0 -0
  47. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/resources/__init__.py +0 -0
  48. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/resources/add.py +0 -0
  49. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/resources/clear_docs.py +0 -0
  50. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/resources/indices.py +0 -0
  51. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/resources/mapping.py +0 -0
  52. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/resources/mget.py +0 -0
  53. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/resources/param_search.py +0 -0
  54. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/resources/reindex.py +0 -0
  55. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/resources/scroll_search.py +0 -0
  56. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/resources/search.py +0 -0
  57. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/resources/update.py +0 -0
  58. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/__init__.py +0 -0
  59. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/add_create_document_params.py +0 -0
  60. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/add_create_document_with_index_params.py +0 -0
  61. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/add_update_document_with_scope_params.py +0 -0
  62. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/index_list_response.py +0 -0
  63. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/mget_retrieve_multiple_by_index_params.py +0 -0
  64. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/mget_retrieve_multiple_params.py +0 -0
  65. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/param_search_execute_params.py +0 -0
  66. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/scroll_search_create_params.py +0 -0
  67. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/search_execute_index_query_params.py +0 -0
  68. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/search_execute_query_params.py +0 -0
  69. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/update_update_document_at_index_params.py +0 -0
  70. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/update_update_document_params.py +0 -0
  71. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/src/hubmap_search_sdk/types/update_update_document_with_scope_params.py +0 -0
  72. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/__init__.py +0 -0
  73. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/api_resources/__init__.py +0 -0
  74. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/api_resources/test_add.py +0 -0
  75. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/api_resources/test_clear_docs.py +0 -0
  76. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/api_resources/test_indices.py +0 -0
  77. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/api_resources/test_mapping.py +0 -0
  78. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/api_resources/test_mget.py +0 -0
  79. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/api_resources/test_param_search.py +0 -0
  80. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/api_resources/test_reindex.py +0 -0
  81. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/api_resources/test_scroll_search.py +0 -0
  82. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/api_resources/test_search.py +0 -0
  83. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/api_resources/test_update.py +0 -0
  84. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/sample_file.txt +0 -0
  85. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/test_client.py +0 -0
  86. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/test_deepcopy.py +0 -0
  87. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/test_extract_files.py +0 -0
  88. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/test_files.py +0 -0
  89. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/test_qs.py +0 -0
  90. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/test_required_args.py +0 -0
  91. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/test_response.py +0 -0
  92. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/test_streaming.py +0 -0
  93. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/test_transform.py +0 -0
  94. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/test_utils/test_proxy.py +0 -0
  95. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/test_utils/test_typing.py +0 -0
  96. {hubmap_search_sdk-1.0.0a5 → hubmap_search_sdk-1.0.0a7}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.0.0-alpha.7"
3
+ }
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.0-alpha.7 (2025-04-19)
4
+
5
+ Full Changelog: [v1.0.0-alpha.6...v1.0.0-alpha.7](https://github.com/hubmapconsortium/search-python-sdk/compare/v1.0.0-alpha.6...v1.0.0-alpha.7)
6
+
7
+ ### Chores
8
+
9
+ * **internal:** update models test ([187abdd](https://github.com/hubmapconsortium/search-python-sdk/commit/187abddbd7b4c73dc7452e6bf2f1cec275e018c6))
10
+
11
+ ## 1.0.0-alpha.6 (2025-04-17)
12
+
13
+ Full Changelog: [v1.0.0-alpha.5...v1.0.0-alpha.6](https://github.com/hubmapconsortium/search-python-sdk/compare/v1.0.0-alpha.5...v1.0.0-alpha.6)
14
+
15
+ ### Chores
16
+
17
+ * **internal:** base client updates ([3106bc7](https://github.com/hubmapconsortium/search-python-sdk/commit/3106bc7baaf6328b44a5793d780df3b4961ce1af))
18
+ * **internal:** bump pyright version ([df6d9fa](https://github.com/hubmapconsortium/search-python-sdk/commit/df6d9fab3f66c52820d2d52d1e492bbd1418b22a))
19
+
3
20
  ## 1.0.0-alpha.5 (2025-04-15)
4
21
 
5
22
  Full Changelog: [v1.0.0-alpha.4...v1.0.0-alpha.5](https://github.com/hubmapconsortium/search-python-sdk/compare/v1.0.0-alpha.4...v1.0.0-alpha.5)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: hubmap_search_sdk
3
- Version: 1.0.0a5
3
+ Version: 1.0.0a7
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.5"
3
+ version = "1.0.0-alpha.7"
4
4
  description = "The official Python library for the hubmap-search-sdk API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -42,7 +42,7 @@ Repository = "https://github.com/hubmapconsortium/search-python-sdk"
42
42
  managed = true
43
43
  # version pins are in requirements-dev.lock
44
44
  dev-dependencies = [
45
- "pyright>=1.1.359",
45
+ "pyright==1.1.399",
46
46
  "mypy",
47
47
  "respx",
48
48
  "pytest",
@@ -69,7 +69,7 @@ pydantic-core==2.27.1
69
69
  # via pydantic
70
70
  pygments==2.18.0
71
71
  # via rich
72
- pyright==1.1.392.post0
72
+ pyright==1.1.399
73
73
  pytest==8.3.3
74
74
  # via pytest-asyncio
75
75
  pytest-asyncio==0.24.0
@@ -98,7 +98,11 @@ _StreamT = TypeVar("_StreamT", bound=Stream[Any])
98
98
  _AsyncStreamT = TypeVar("_AsyncStreamT", bound=AsyncStream[Any])
99
99
 
100
100
  if TYPE_CHECKING:
101
- from httpx._config import DEFAULT_TIMEOUT_CONFIG as HTTPX_DEFAULT_TIMEOUT
101
+ from httpx._config import (
102
+ DEFAULT_TIMEOUT_CONFIG, # pyright: ignore[reportPrivateImportUsage]
103
+ )
104
+
105
+ HTTPX_DEFAULT_TIMEOUT = DEFAULT_TIMEOUT_CONFIG
102
106
  else:
103
107
  try:
104
108
  from httpx._config import DEFAULT_TIMEOUT_CONFIG as HTTPX_DEFAULT_TIMEOUT
@@ -115,6 +119,7 @@ class PageInfo:
115
119
 
116
120
  url: URL | NotGiven
117
121
  params: Query | NotGiven
122
+ json: Body | NotGiven
118
123
 
119
124
  @overload
120
125
  def __init__(
@@ -130,19 +135,30 @@ class PageInfo:
130
135
  params: Query,
131
136
  ) -> None: ...
132
137
 
138
+ @overload
139
+ def __init__(
140
+ self,
141
+ *,
142
+ json: Body,
143
+ ) -> None: ...
144
+
133
145
  def __init__(
134
146
  self,
135
147
  *,
136
148
  url: URL | NotGiven = NOT_GIVEN,
149
+ json: Body | NotGiven = NOT_GIVEN,
137
150
  params: Query | NotGiven = NOT_GIVEN,
138
151
  ) -> None:
139
152
  self.url = url
153
+ self.json = json
140
154
  self.params = params
141
155
 
142
156
  @override
143
157
  def __repr__(self) -> str:
144
158
  if self.url:
145
159
  return f"{self.__class__.__name__}(url={self.url})"
160
+ if self.json:
161
+ return f"{self.__class__.__name__}(json={self.json})"
146
162
  return f"{self.__class__.__name__}(params={self.params})"
147
163
 
148
164
 
@@ -191,6 +207,19 @@ class BasePage(GenericModel, Generic[_T]):
191
207
  options.url = str(url)
192
208
  return options
193
209
 
210
+ if not isinstance(info.json, NotGiven):
211
+ if not is_mapping(info.json):
212
+ raise TypeError("Pagination is only supported with mappings")
213
+
214
+ if not options.json_data:
215
+ options.json_data = {**info.json}
216
+ else:
217
+ if not is_mapping(options.json_data):
218
+ raise TypeError("Pagination is only supported with mappings")
219
+
220
+ options.json_data = {**options.json_data, **info.json}
221
+ return options
222
+
194
223
  raise ValueError("Unexpected PageInfo state")
195
224
 
196
225
 
@@ -19,7 +19,6 @@ from typing_extensions import (
19
19
  )
20
20
 
21
21
  import pydantic
22
- import pydantic.generics
23
22
  from pydantic.fields import FieldInfo
24
23
 
25
24
  from ._types import (
@@ -110,7 +110,7 @@ def extract_type_var_from_base(
110
110
  ```
111
111
  """
112
112
  cls = cast(object, get_origin(typ) or typ)
113
- if cls in generic_bases:
113
+ if cls in generic_bases: # pyright: ignore[reportUnnecessaryContains]
114
114
  # we're given the class directly
115
115
  return extract_type_arg(typ, index)
116
116
 
@@ -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.5" # x-release-please-version
4
+ __version__ = "1.0.0-alpha.7" # x-release-please-version
@@ -10,7 +10,7 @@ from pytest_asyncio import is_async_test
10
10
  from hubmap_search_sdk import HubmapSearchSDK, AsyncHubmapSearchSDK
11
11
 
12
12
  if TYPE_CHECKING:
13
- from _pytest.fixtures import FixtureRequest
13
+ from _pytest.fixtures import FixtureRequest # pyright: ignore[reportPrivateImportUsage]
14
14
 
15
15
  pytest.register_assert_rewrite("tests.utils")
16
16
 
@@ -492,12 +492,15 @@ def test_omitted_fields() -> None:
492
492
  resource_id: Optional[str] = None
493
493
 
494
494
  m = Model.construct()
495
+ assert m.resource_id is None
495
496
  assert "resource_id" not in m.model_fields_set
496
497
 
497
498
  m = Model.construct(resource_id=None)
499
+ assert m.resource_id is None
498
500
  assert "resource_id" in m.model_fields_set
499
501
 
500
502
  m = Model.construct(resource_id="foo")
503
+ assert m.resource_id == "foo"
501
504
  assert "resource_id" in m.model_fields_set
502
505
 
503
506
 
@@ -832,7 +835,7 @@ def test_discriminated_unions_invalid_data_uses_cache() -> None:
832
835
 
833
836
  @pytest.mark.skipif(not PYDANTIC_V2, reason="TypeAliasType is not supported in Pydantic v1")
834
837
  def test_type_alias_type() -> None:
835
- Alias = TypeAliasType("Alias", str)
838
+ Alias = TypeAliasType("Alias", str) # pyright: ignore
836
839
 
837
840
  class Model(BaseModel):
838
841
  alias: Alias
@@ -1,3 +0,0 @@
1
- {
2
- ".": "1.0.0-alpha.5"
3
- }