stac-fastapi-opensearch 6.2.0__tar.gz → 6.2.1__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 (16) hide show
  1. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/PKG-INFO +28 -2
  2. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/README.md +1 -0
  3. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/setup.py +2 -2
  4. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/stac_fastapi/opensearch/app.py +1 -1
  5. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/stac_fastapi/opensearch/database_logic.py +6 -2
  6. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/stac_fastapi/opensearch/version.py +1 -1
  7. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/stac_fastapi_opensearch.egg-info/PKG-INFO +29 -3
  8. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/stac_fastapi_opensearch.egg-info/requires.txt +2 -2
  9. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/stac_fastapi_opensearch.egg-info/top_level.txt +1 -0
  10. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/setup.cfg +0 -0
  11. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/stac_fastapi/opensearch/__init__.py +0 -0
  12. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/stac_fastapi/opensearch/config.py +0 -0
  13. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/stac_fastapi_opensearch.egg-info/SOURCES.txt +0 -0
  14. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/stac_fastapi_opensearch.egg-info/dependency_links.txt +0 -0
  15. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/stac_fastapi_opensearch.egg-info/entry_points.txt +0 -0
  16. {stac_fastapi_opensearch-6.2.0 → stac_fastapi_opensearch-6.2.1}/stac_fastapi_opensearch.egg-info/not-zip-safe +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: stac_fastapi_opensearch
3
- Version: 6.2.0
3
+ Version: 6.2.1
4
4
  Summary: Opensearch stac-fastapi backend.
5
5
  Home-page: https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch
6
6
  License: MIT
@@ -15,9 +15,34 @@ Classifier: Programming Language :: Python :: 3.13
15
15
  Classifier: License :: OSI Approved :: MIT License
16
16
  Requires-Python: >=3.9
17
17
  Description-Content-Type: text/markdown
18
+ Requires-Dist: stac-fastapi-core==6.2.1
19
+ Requires-Dist: sfeos-helpers==6.2.1
20
+ Requires-Dist: opensearch-py~=2.8.0
21
+ Requires-Dist: opensearch-py[async]~=2.8.0
22
+ Requires-Dist: uvicorn~=0.23.0
23
+ Requires-Dist: starlette<0.36.0,>=0.35.0
18
24
  Provides-Extra: dev
25
+ Requires-Dist: pytest~=7.0.0; extra == "dev"
26
+ Requires-Dist: pytest-cov~=4.0.0; extra == "dev"
27
+ Requires-Dist: pytest-asyncio~=0.21.0; extra == "dev"
28
+ Requires-Dist: pre-commit~=3.0.0; extra == "dev"
29
+ Requires-Dist: ciso8601~=2.3.0; extra == "dev"
30
+ Requires-Dist: httpx<0.28.0,>=0.24.0; extra == "dev"
19
31
  Provides-Extra: docs
32
+ Requires-Dist: mkdocs~=1.4.0; extra == "docs"
33
+ Requires-Dist: mkdocs-material~=9.0.0; extra == "docs"
34
+ Requires-Dist: pdocs~=1.2.0; extra == "docs"
20
35
  Provides-Extra: server
36
+ Requires-Dist: uvicorn[standard]~=0.23.0; extra == "server"
37
+ Dynamic: classifier
38
+ Dynamic: description
39
+ Dynamic: description-content-type
40
+ Dynamic: home-page
41
+ Dynamic: license
42
+ Dynamic: provides-extra
43
+ Dynamic: requires-dist
44
+ Dynamic: requires-python
45
+ Dynamic: summary
21
46
 
22
47
  # stac-fastapi-elasticsearch-opensearch
23
48
 
@@ -248,6 +273,7 @@ You can customize additional settings in your `.env` file:
248
273
  | `RAISE_ON_BULK_ERROR` | Controls whether bulk insert operations raise exceptions on errors. If set to `true`, the operation will stop and raise an exception when an error occurs. If set to `false`, errors will be logged, and the operation will continue. **Note:** STAC Item and ItemCollection validation errors will always raise, regardless of this flag. | `false` | Optional |
249
274
  | `DATABASE_REFRESH` | Controls whether database operations refresh the index immediately after changes. If set to `true`, changes will be immediately searchable. If set to `false`, changes may not be immediately visible but can improve performance for bulk operations. If set to `wait_for`, changes will wait for the next refresh cycle to become visible. | `false` | Optional |
250
275
  | `ENABLE_TRANSACTIONS_EXTENSIONS` | Enables or disables the Transactions and Bulk Transactions API extensions. If set to `false`, the POST `/collections` route and related transaction endpoints (including bulk transaction operations) will be unavailable in the API. This is useful for deployments where mutating the catalog via the API should be prevented. | `true` | Optional |
276
+ | `STAC_ITEM_LIMIT` | Sets the environment variable for result limiting to SFEOS for the number of returned items and STAC collections. | `10` | Optional |
251
277
 
252
278
  > [!NOTE]
253
279
  > The variables `ES_HOST`, `ES_PORT`, `ES_USE_SSL`, `ES_VERIFY_CERTS` and `ES_TIMEOUT` apply to both Elasticsearch and OpenSearch backends, so there is no need to rename the key names to `OS_` even if you're using OpenSearch.
@@ -227,6 +227,7 @@ You can customize additional settings in your `.env` file:
227
227
  | `RAISE_ON_BULK_ERROR` | Controls whether bulk insert operations raise exceptions on errors. If set to `true`, the operation will stop and raise an exception when an error occurs. If set to `false`, errors will be logged, and the operation will continue. **Note:** STAC Item and ItemCollection validation errors will always raise, regardless of this flag. | `false` | Optional |
228
228
  | `DATABASE_REFRESH` | Controls whether database operations refresh the index immediately after changes. If set to `true`, changes will be immediately searchable. If set to `false`, changes may not be immediately visible but can improve performance for bulk operations. If set to `wait_for`, changes will wait for the next refresh cycle to become visible. | `false` | Optional |
229
229
  | `ENABLE_TRANSACTIONS_EXTENSIONS` | Enables or disables the Transactions and Bulk Transactions API extensions. If set to `false`, the POST `/collections` route and related transaction endpoints (including bulk transaction operations) will be unavailable in the API. This is useful for deployments where mutating the catalog via the API should be prevented. | `true` | Optional |
230
+ | `STAC_ITEM_LIMIT` | Sets the environment variable for result limiting to SFEOS for the number of returned items and STAC collections. | `10` | Optional |
230
231
 
231
232
  > [!NOTE]
232
233
  > The variables `ES_HOST`, `ES_PORT`, `ES_USE_SSL`, `ES_VERIFY_CERTS` and `ES_TIMEOUT` apply to both Elasticsearch and OpenSearch backends, so there is no need to rename the key names to `OS_` even if you're using OpenSearch.
@@ -6,8 +6,8 @@ with open("README.md") as f:
6
6
  desc = f.read()
7
7
 
8
8
  install_requires = [
9
- "stac-fastapi-core==6.2.0",
10
- "sfeos-helpers==6.2.0",
9
+ "stac-fastapi-core==6.2.1",
10
+ "sfeos-helpers==6.2.1",
11
11
  "opensearch-py~=2.8.0",
12
12
  "opensearch-py[async]~=2.8.0",
13
13
  "uvicorn~=0.23.0",
@@ -118,7 +118,7 @@ post_request_model = create_post_request_model(search_extensions)
118
118
  app_config = {
119
119
  "title": os.getenv("STAC_FASTAPI_TITLE", "stac-fastapi-opensearch"),
120
120
  "description": os.getenv("STAC_FASTAPI_DESCRIPTION", "stac-fastapi-opensearch"),
121
- "api_version": os.getenv("STAC_FASTAPI_VERSION", "6.2.0"),
121
+ "api_version": os.getenv("STAC_FASTAPI_VERSION", "6.2.1"),
122
122
  "settings": settings,
123
123
  "extensions": extensions,
124
124
  "client": CoreClient(
@@ -869,6 +869,7 @@ class DatabaseLogic(BaseDatabaseLogic):
869
869
  item_id=item_id,
870
870
  operations=operations,
871
871
  base_url=base_url,
872
+ create_nest=True,
872
873
  refresh=refresh,
873
874
  )
874
875
 
@@ -878,6 +879,7 @@ class DatabaseLogic(BaseDatabaseLogic):
878
879
  item_id: str,
879
880
  operations: List[PatchOperation],
880
881
  base_url: str,
882
+ create_nest: bool = False,
881
883
  refresh: bool = True,
882
884
  ) -> Item:
883
885
  """Database logic for json patching an item following RF6902.
@@ -912,7 +914,7 @@ class DatabaseLogic(BaseDatabaseLogic):
912
914
  else:
913
915
  script_operations.append(operation)
914
916
 
915
- script = operations_to_script(script_operations)
917
+ script = operations_to_script(script_operations, create_nest=create_nest)
916
918
 
917
919
  try:
918
920
  search_response = await self.client.search(
@@ -1220,6 +1222,7 @@ class DatabaseLogic(BaseDatabaseLogic):
1220
1222
  collection_id=collection_id,
1221
1223
  operations=operations,
1222
1224
  base_url=base_url,
1225
+ create_nest=True,
1223
1226
  refresh=refresh,
1224
1227
  )
1225
1228
 
@@ -1228,6 +1231,7 @@ class DatabaseLogic(BaseDatabaseLogic):
1228
1231
  collection_id: str,
1229
1232
  operations: List[PatchOperation],
1230
1233
  base_url: str,
1234
+ create_nest: bool = False,
1231
1235
  refresh: bool = True,
1232
1236
  ) -> Collection:
1233
1237
  """Database logic for json patching a collection following RF6902.
@@ -1255,7 +1259,7 @@ class DatabaseLogic(BaseDatabaseLogic):
1255
1259
  else:
1256
1260
  script_operations.append(operation)
1257
1261
 
1258
- script = operations_to_script(script_operations)
1262
+ script = operations_to_script(script_operations, create_nest=create_nest)
1259
1263
 
1260
1264
  try:
1261
1265
  await self.client.update(
@@ -1,2 +1,2 @@
1
1
  """library version."""
2
- __version__ = "6.2.0"
2
+ __version__ = "6.2.1"
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
2
- Name: stac-fastapi-opensearch
3
- Version: 6.2.0
1
+ Metadata-Version: 2.4
2
+ Name: stac_fastapi_opensearch
3
+ Version: 6.2.1
4
4
  Summary: Opensearch stac-fastapi backend.
5
5
  Home-page: https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch
6
6
  License: MIT
@@ -15,9 +15,34 @@ Classifier: Programming Language :: Python :: 3.13
15
15
  Classifier: License :: OSI Approved :: MIT License
16
16
  Requires-Python: >=3.9
17
17
  Description-Content-Type: text/markdown
18
+ Requires-Dist: stac-fastapi-core==6.2.1
19
+ Requires-Dist: sfeos-helpers==6.2.1
20
+ Requires-Dist: opensearch-py~=2.8.0
21
+ Requires-Dist: opensearch-py[async]~=2.8.0
22
+ Requires-Dist: uvicorn~=0.23.0
23
+ Requires-Dist: starlette<0.36.0,>=0.35.0
18
24
  Provides-Extra: dev
25
+ Requires-Dist: pytest~=7.0.0; extra == "dev"
26
+ Requires-Dist: pytest-cov~=4.0.0; extra == "dev"
27
+ Requires-Dist: pytest-asyncio~=0.21.0; extra == "dev"
28
+ Requires-Dist: pre-commit~=3.0.0; extra == "dev"
29
+ Requires-Dist: ciso8601~=2.3.0; extra == "dev"
30
+ Requires-Dist: httpx<0.28.0,>=0.24.0; extra == "dev"
19
31
  Provides-Extra: docs
32
+ Requires-Dist: mkdocs~=1.4.0; extra == "docs"
33
+ Requires-Dist: mkdocs-material~=9.0.0; extra == "docs"
34
+ Requires-Dist: pdocs~=1.2.0; extra == "docs"
20
35
  Provides-Extra: server
36
+ Requires-Dist: uvicorn[standard]~=0.23.0; extra == "server"
37
+ Dynamic: classifier
38
+ Dynamic: description
39
+ Dynamic: description-content-type
40
+ Dynamic: home-page
41
+ Dynamic: license
42
+ Dynamic: provides-extra
43
+ Dynamic: requires-dist
44
+ Dynamic: requires-python
45
+ Dynamic: summary
21
46
 
22
47
  # stac-fastapi-elasticsearch-opensearch
23
48
 
@@ -248,6 +273,7 @@ You can customize additional settings in your `.env` file:
248
273
  | `RAISE_ON_BULK_ERROR` | Controls whether bulk insert operations raise exceptions on errors. If set to `true`, the operation will stop and raise an exception when an error occurs. If set to `false`, errors will be logged, and the operation will continue. **Note:** STAC Item and ItemCollection validation errors will always raise, regardless of this flag. | `false` | Optional |
249
274
  | `DATABASE_REFRESH` | Controls whether database operations refresh the index immediately after changes. If set to `true`, changes will be immediately searchable. If set to `false`, changes may not be immediately visible but can improve performance for bulk operations. If set to `wait_for`, changes will wait for the next refresh cycle to become visible. | `false` | Optional |
250
275
  | `ENABLE_TRANSACTIONS_EXTENSIONS` | Enables or disables the Transactions and Bulk Transactions API extensions. If set to `false`, the POST `/collections` route and related transaction endpoints (including bulk transaction operations) will be unavailable in the API. This is useful for deployments where mutating the catalog via the API should be prevented. | `true` | Optional |
276
+ | `STAC_ITEM_LIMIT` | Sets the environment variable for result limiting to SFEOS for the number of returned items and STAC collections. | `10` | Optional |
251
277
 
252
278
  > [!NOTE]
253
279
  > The variables `ES_HOST`, `ES_PORT`, `ES_USE_SSL`, `ES_VERIFY_CERTS` and `ES_TIMEOUT` apply to both Elasticsearch and OpenSearch backends, so there is no need to rename the key names to `OS_` even if you're using OpenSearch.
@@ -1,5 +1,5 @@
1
- stac-fastapi-core==6.2.0
2
- sfeos-helpers==6.2.0
1
+ stac-fastapi-core==6.2.1
2
+ sfeos-helpers==6.2.1
3
3
  opensearch-py~=2.8.0
4
4
  opensearch-py[async]~=2.8.0
5
5
  uvicorn~=0.23.0