stac-fastapi-elasticsearch 6.0.0__tar.gz → 6.1.0__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_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/PKG-INFO +15 -13
  2. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/README.md +14 -12
  3. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/setup.py +2 -2
  4. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/stac_fastapi/elasticsearch/app.py +11 -1
  5. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/stac_fastapi/elasticsearch/config.py +4 -0
  6. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/stac_fastapi/elasticsearch/database_logic.py +7 -0
  7. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/stac_fastapi/elasticsearch/version.py +1 -1
  8. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/stac_fastapi_elasticsearch.egg-info/PKG-INFO +15 -13
  9. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/stac_fastapi_elasticsearch.egg-info/requires.txt +2 -2
  10. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/setup.cfg +0 -0
  11. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/stac_fastapi/elasticsearch/__init__.py +0 -0
  12. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/stac_fastapi_elasticsearch.egg-info/SOURCES.txt +0 -0
  13. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/stac_fastapi_elasticsearch.egg-info/dependency_links.txt +0 -0
  14. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/stac_fastapi_elasticsearch.egg-info/entry_points.txt +0 -0
  15. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/stac_fastapi_elasticsearch.egg-info/not-zip-safe +0 -0
  16. {stac_fastapi_elasticsearch-6.0.0 → stac_fastapi_elasticsearch-6.1.0}/stac_fastapi_elasticsearch.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stac_fastapi_elasticsearch
3
- Version: 6.0.0
3
+ Version: 6.1.0
4
4
  Summary: An implementation of STAC API based on the FastAPI framework with both Elasticsearch and Opensearch.
5
5
  Home-page: https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch
6
6
  License: MIT
@@ -36,7 +36,7 @@ Provides-Extra: server
36
36
  [![GitHub forks](https://img.shields.io/github/forks/stac-utils/stac-fastapi-elasticsearch-opensearch.svg?color=blue)](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/network/members)
37
37
  [![PyPI version](https://img.shields.io/pypi/v/stac-fastapi-elasticsearch.svg?color=blue)](https://pypi.org/project/stac-fastapi-elasticsearch/)
38
38
  [![STAC](https://img.shields.io/badge/STAC-1.1.0-blue.svg)](https://github.com/radiantearth/stac-spec/tree/v1.1.0)
39
- [![stac-fastapi](https://img.shields.io/badge/stac--fastapi-5.2.0-blue.svg)](https://github.com/stac-utils/stac-fastapi)
39
+ [![stac-fastapi](https://img.shields.io/badge/stac--fastapi-6.0.0-blue.svg)](https://github.com/stac-utils/stac-fastapi)
40
40
 
41
41
  ## Sponsors & Supporters
42
42
 
@@ -226,28 +226,30 @@ You can customize additional settings in your `.env` file:
226
226
  |------------------------------|--------------------------------------------------------------------------------------|--------------------------|---------------------------------------------------------------------------------------------|
227
227
  | `ES_HOST` | Hostname for external Elasticsearch/OpenSearch. | `localhost` | Optional |
228
228
  | `ES_PORT` | Port for Elasticsearch/OpenSearch. | `9200` (ES) / `9202` (OS)| Optional |
229
- | `ES_USE_SSL` | Use SSL for connecting to Elasticsearch/OpenSearch. | `false` | Optional |
230
- | `ES_VERIFY_CERTS` | Verify SSL certificates when connecting. | `false` | Optional |
229
+ | `ES_USE_SSL` | Use SSL for connecting to Elasticsearch/OpenSearch. | `true` | Optional |
230
+ | `ES_VERIFY_CERTS` | Verify SSL certificates when connecting. | `true` | Optional |
231
+ | `ES_API_KEY` | API Key for external Elasticsearch/OpenSearch. | N/A | Optional |
232
+ | `ES_TIMEOUT` | Client timeout for Elasticsearch/OpenSearch. | DB client default | Optional |
231
233
  | `STAC_FASTAPI_TITLE` | Title of the API in the documentation. | `stac-fastapi-<backend>` | Optional |
232
234
  | `STAC_FASTAPI_DESCRIPTION` | Description of the API in the documentation. | N/A | Optional |
233
235
  | `STAC_FASTAPI_VERSION` | API version. | `2.1` | Optional |
234
- | `STAC_FASTAPI_LANDING_PAGE_ID` | Landing page ID | `stac-fastapi` | Optional |
236
+ | `STAC_FASTAPI_LANDING_PAGE_ID` | Landing page ID | `stac-fastapi` | Optional |
235
237
  | `APP_HOST` | Server bind address. | `0.0.0.0` | Optional |
236
- | `APP_PORT` | Server port. | `8080` | Optional |
238
+ | `APP_PORT` | Server port. | `8000` | Optional |
237
239
  | `ENVIRONMENT` | Runtime environment. | `local` | Optional |
238
240
  | `WEB_CONCURRENCY` | Number of worker processes. | `10` | Optional |
239
241
  | `RELOAD` | Enable auto-reload for development. | `true` | Optional |
240
242
  | `STAC_FASTAPI_RATE_LIMIT` | API rate limit per client. | `200/minute` | Optional |
241
- | `BACKEND` | Tests-related variable | `elasticsearch` or `opensearch` based on the backend | Optional |
242
- | `ELASTICSEARCH_VERSION` | Version of Elasticsearch to use. | `8.11.0` | Optional | |
243
- | `OPENSEARCH_VERSION` | OpenSearch version | `2.11.1` | Optional
244
- | `ENABLE_DIRECT_RESPONSE` | Enable direct response for maximum performance (disables all FastAPI dependencies, including authentication, custom status codes, and validation) | `false` | Optional
245
- | `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 |
246
- | `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 |
243
+ | `BACKEND` | Tests-related variable | `elasticsearch` or `opensearch` based on the backend | Optional |
244
+ | `ELASTICSEARCH_VERSION` | Version of Elasticsearch to use. | `8.11.0` | Optional |
245
+ | `OPENSEARCH_VERSION` | OpenSearch version | `2.11.1` | Optional |
246
+ | `ENABLE_DIRECT_RESPONSE` | Enable direct response for maximum performance (disables all FastAPI dependencies, including authentication, custom status codes, and validation) | `false` | Optional |
247
+ | `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 |
248
+ | `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 |
247
249
  | `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 |
248
250
 
249
251
  > [!NOTE]
250
- > The variables `ES_HOST`, `ES_PORT`, `ES_USE_SSL`, and `ES_VERIFY_CERTS` 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.
252
+ > 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.
251
253
 
252
254
  ## Interacting with the API
253
255
 
@@ -15,7 +15,7 @@
15
15
  [![GitHub forks](https://img.shields.io/github/forks/stac-utils/stac-fastapi-elasticsearch-opensearch.svg?color=blue)](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/network/members)
16
16
  [![PyPI version](https://img.shields.io/pypi/v/stac-fastapi-elasticsearch.svg?color=blue)](https://pypi.org/project/stac-fastapi-elasticsearch/)
17
17
  [![STAC](https://img.shields.io/badge/STAC-1.1.0-blue.svg)](https://github.com/radiantearth/stac-spec/tree/v1.1.0)
18
- [![stac-fastapi](https://img.shields.io/badge/stac--fastapi-5.2.0-blue.svg)](https://github.com/stac-utils/stac-fastapi)
18
+ [![stac-fastapi](https://img.shields.io/badge/stac--fastapi-6.0.0-blue.svg)](https://github.com/stac-utils/stac-fastapi)
19
19
 
20
20
  ## Sponsors & Supporters
21
21
 
@@ -205,28 +205,30 @@ You can customize additional settings in your `.env` file:
205
205
  |------------------------------|--------------------------------------------------------------------------------------|--------------------------|---------------------------------------------------------------------------------------------|
206
206
  | `ES_HOST` | Hostname for external Elasticsearch/OpenSearch. | `localhost` | Optional |
207
207
  | `ES_PORT` | Port for Elasticsearch/OpenSearch. | `9200` (ES) / `9202` (OS)| Optional |
208
- | `ES_USE_SSL` | Use SSL for connecting to Elasticsearch/OpenSearch. | `false` | Optional |
209
- | `ES_VERIFY_CERTS` | Verify SSL certificates when connecting. | `false` | Optional |
208
+ | `ES_USE_SSL` | Use SSL for connecting to Elasticsearch/OpenSearch. | `true` | Optional |
209
+ | `ES_VERIFY_CERTS` | Verify SSL certificates when connecting. | `true` | Optional |
210
+ | `ES_API_KEY` | API Key for external Elasticsearch/OpenSearch. | N/A | Optional |
211
+ | `ES_TIMEOUT` | Client timeout for Elasticsearch/OpenSearch. | DB client default | Optional |
210
212
  | `STAC_FASTAPI_TITLE` | Title of the API in the documentation. | `stac-fastapi-<backend>` | Optional |
211
213
  | `STAC_FASTAPI_DESCRIPTION` | Description of the API in the documentation. | N/A | Optional |
212
214
  | `STAC_FASTAPI_VERSION` | API version. | `2.1` | Optional |
213
- | `STAC_FASTAPI_LANDING_PAGE_ID` | Landing page ID | `stac-fastapi` | Optional |
215
+ | `STAC_FASTAPI_LANDING_PAGE_ID` | Landing page ID | `stac-fastapi` | Optional |
214
216
  | `APP_HOST` | Server bind address. | `0.0.0.0` | Optional |
215
- | `APP_PORT` | Server port. | `8080` | Optional |
217
+ | `APP_PORT` | Server port. | `8000` | Optional |
216
218
  | `ENVIRONMENT` | Runtime environment. | `local` | Optional |
217
219
  | `WEB_CONCURRENCY` | Number of worker processes. | `10` | Optional |
218
220
  | `RELOAD` | Enable auto-reload for development. | `true` | Optional |
219
221
  | `STAC_FASTAPI_RATE_LIMIT` | API rate limit per client. | `200/minute` | Optional |
220
- | `BACKEND` | Tests-related variable | `elasticsearch` or `opensearch` based on the backend | Optional |
221
- | `ELASTICSEARCH_VERSION` | Version of Elasticsearch to use. | `8.11.0` | Optional | |
222
- | `OPENSEARCH_VERSION` | OpenSearch version | `2.11.1` | Optional
223
- | `ENABLE_DIRECT_RESPONSE` | Enable direct response for maximum performance (disables all FastAPI dependencies, including authentication, custom status codes, and validation) | `false` | Optional
224
- | `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 |
225
- | `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 |
222
+ | `BACKEND` | Tests-related variable | `elasticsearch` or `opensearch` based on the backend | Optional |
223
+ | `ELASTICSEARCH_VERSION` | Version of Elasticsearch to use. | `8.11.0` | Optional |
224
+ | `OPENSEARCH_VERSION` | OpenSearch version | `2.11.1` | Optional |
225
+ | `ENABLE_DIRECT_RESPONSE` | Enable direct response for maximum performance (disables all FastAPI dependencies, including authentication, custom status codes, and validation) | `false` | Optional |
226
+ | `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 |
227
+ | `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 |
226
228
  | `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 |
227
229
 
228
230
  > [!NOTE]
229
- > The variables `ES_HOST`, `ES_PORT`, `ES_USE_SSL`, and `ES_VERIFY_CERTS` 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.
231
+ > 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.
230
232
 
231
233
  ## Interacting with the API
232
234
 
@@ -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.0.0",
10
- "sfeos-helpers==6.0.0",
9
+ "stac-fastapi-core==6.1.0",
10
+ "sfeos-helpers==6.1.0",
11
11
  "elasticsearch[async]~=8.18.0",
12
12
  "uvicorn~=0.23.0",
13
13
  "starlette>=0.35.0,<0.36.0",
@@ -31,6 +31,7 @@ from stac_fastapi.elasticsearch.database_logic import (
31
31
  )
32
32
  from stac_fastapi.extensions.core import (
33
33
  AggregationExtension,
34
+ CollectionSearchExtension,
34
35
  FilterExtension,
35
36
  FreeTextExtension,
36
37
  SortExtension,
@@ -60,6 +61,14 @@ filter_extension.conformance_classes.append(
60
61
  FilterConformanceClasses.ADVANCED_COMPARISON_OPERATORS
61
62
  )
62
63
 
64
+ # Adding collection search extension for compatibility with stac-auth-proxy
65
+ # (https://github.com/developmentseed/stac-auth-proxy)
66
+ # The extension is not fully implemented yet but is required for collection filtering support
67
+ collection_search_extension = CollectionSearchExtension()
68
+ collection_search_extension.conformance_classes.append(
69
+ "https://api.stacspec.org/v1.0.0-rc.1/collection-search#filter"
70
+ )
71
+
63
72
  aggregation_extension = AggregationExtension(
64
73
  client=EsAsyncBaseAggregationClient(
65
74
  database=database_logic, session=session, settings=settings
@@ -75,6 +84,7 @@ search_extensions = [
75
84
  TokenPaginationExtension(),
76
85
  filter_extension,
77
86
  FreeTextExtension(),
87
+ collection_search_extension,
78
88
  ]
79
89
 
80
90
  if TRANSACTIONS_EXTENSIONS:
@@ -107,7 +117,7 @@ post_request_model = create_post_request_model(search_extensions)
107
117
  app_config = {
108
118
  "title": os.getenv("STAC_FASTAPI_TITLE", "stac-fastapi-elasticsearch"),
109
119
  "description": os.getenv("STAC_FASTAPI_DESCRIPTION", "stac-fastapi-elasticsearch"),
110
- "api_version": os.getenv("STAC_FASTAPI_VERSION", "6.0.0"),
120
+ "api_version": os.getenv("STAC_FASTAPI_VERSION", "6.1.0"),
111
121
  "settings": settings,
112
122
  "extensions": extensions,
113
123
  "client": CoreClient(
@@ -56,6 +56,10 @@ def _es_config() -> Dict[str, Any]:
56
56
  if (u := os.getenv("ES_USER")) and (p := os.getenv("ES_PASS")):
57
57
  config["http_auth"] = (u, p)
58
58
 
59
+ # Include timeout setting if set
60
+ if request_timeout := os.getenv("ES_TIMEOUT"):
61
+ config["request_timeout"] = request_timeout
62
+
59
63
  # Explicitly exclude SSL settings when not using SSL
60
64
  if not use_ssl:
61
65
  return config
@@ -43,6 +43,10 @@ from stac_fastapi.sfeos_helpers.database import (
43
43
  return_date,
44
44
  validate_refresh,
45
45
  )
46
+ from stac_fastapi.sfeos_helpers.database.query import (
47
+ ES_MAX_URL_LENGTH,
48
+ add_collections_to_body,
49
+ )
46
50
  from stac_fastapi.sfeos_helpers.database.utils import (
47
51
  merge_to_operations,
48
52
  operations_to_script,
@@ -520,6 +524,9 @@ class DatabaseLogic(BaseDatabaseLogic):
520
524
  query = search.query.to_dict() if search.query else None
521
525
 
522
526
  index_param = indices(collection_ids)
527
+ if len(index_param) > ES_MAX_URL_LENGTH - 300:
528
+ index_param = ITEM_INDICES
529
+ query = add_collections_to_body(collection_ids, query)
523
530
 
524
531
  max_result_window = MAX_LIMIT
525
532
 
@@ -1,2 +1,2 @@
1
1
  """library version."""
2
- __version__ = "6.0.0"
2
+ __version__ = "6.1.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stac-fastapi-elasticsearch
3
- Version: 6.0.0
3
+ Version: 6.1.0
4
4
  Summary: An implementation of STAC API based on the FastAPI framework with both Elasticsearch and Opensearch.
5
5
  Home-page: https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch
6
6
  License: MIT
@@ -36,7 +36,7 @@ Provides-Extra: server
36
36
  [![GitHub forks](https://img.shields.io/github/forks/stac-utils/stac-fastapi-elasticsearch-opensearch.svg?color=blue)](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/network/members)
37
37
  [![PyPI version](https://img.shields.io/pypi/v/stac-fastapi-elasticsearch.svg?color=blue)](https://pypi.org/project/stac-fastapi-elasticsearch/)
38
38
  [![STAC](https://img.shields.io/badge/STAC-1.1.0-blue.svg)](https://github.com/radiantearth/stac-spec/tree/v1.1.0)
39
- [![stac-fastapi](https://img.shields.io/badge/stac--fastapi-5.2.0-blue.svg)](https://github.com/stac-utils/stac-fastapi)
39
+ [![stac-fastapi](https://img.shields.io/badge/stac--fastapi-6.0.0-blue.svg)](https://github.com/stac-utils/stac-fastapi)
40
40
 
41
41
  ## Sponsors & Supporters
42
42
 
@@ -226,28 +226,30 @@ You can customize additional settings in your `.env` file:
226
226
  |------------------------------|--------------------------------------------------------------------------------------|--------------------------|---------------------------------------------------------------------------------------------|
227
227
  | `ES_HOST` | Hostname for external Elasticsearch/OpenSearch. | `localhost` | Optional |
228
228
  | `ES_PORT` | Port for Elasticsearch/OpenSearch. | `9200` (ES) / `9202` (OS)| Optional |
229
- | `ES_USE_SSL` | Use SSL for connecting to Elasticsearch/OpenSearch. | `false` | Optional |
230
- | `ES_VERIFY_CERTS` | Verify SSL certificates when connecting. | `false` | Optional |
229
+ | `ES_USE_SSL` | Use SSL for connecting to Elasticsearch/OpenSearch. | `true` | Optional |
230
+ | `ES_VERIFY_CERTS` | Verify SSL certificates when connecting. | `true` | Optional |
231
+ | `ES_API_KEY` | API Key for external Elasticsearch/OpenSearch. | N/A | Optional |
232
+ | `ES_TIMEOUT` | Client timeout for Elasticsearch/OpenSearch. | DB client default | Optional |
231
233
  | `STAC_FASTAPI_TITLE` | Title of the API in the documentation. | `stac-fastapi-<backend>` | Optional |
232
234
  | `STAC_FASTAPI_DESCRIPTION` | Description of the API in the documentation. | N/A | Optional |
233
235
  | `STAC_FASTAPI_VERSION` | API version. | `2.1` | Optional |
234
- | `STAC_FASTAPI_LANDING_PAGE_ID` | Landing page ID | `stac-fastapi` | Optional |
236
+ | `STAC_FASTAPI_LANDING_PAGE_ID` | Landing page ID | `stac-fastapi` | Optional |
235
237
  | `APP_HOST` | Server bind address. | `0.0.0.0` | Optional |
236
- | `APP_PORT` | Server port. | `8080` | Optional |
238
+ | `APP_PORT` | Server port. | `8000` | Optional |
237
239
  | `ENVIRONMENT` | Runtime environment. | `local` | Optional |
238
240
  | `WEB_CONCURRENCY` | Number of worker processes. | `10` | Optional |
239
241
  | `RELOAD` | Enable auto-reload for development. | `true` | Optional |
240
242
  | `STAC_FASTAPI_RATE_LIMIT` | API rate limit per client. | `200/minute` | Optional |
241
- | `BACKEND` | Tests-related variable | `elasticsearch` or `opensearch` based on the backend | Optional |
242
- | `ELASTICSEARCH_VERSION` | Version of Elasticsearch to use. | `8.11.0` | Optional | |
243
- | `OPENSEARCH_VERSION` | OpenSearch version | `2.11.1` | Optional
244
- | `ENABLE_DIRECT_RESPONSE` | Enable direct response for maximum performance (disables all FastAPI dependencies, including authentication, custom status codes, and validation) | `false` | Optional
245
- | `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 |
246
- | `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 |
243
+ | `BACKEND` | Tests-related variable | `elasticsearch` or `opensearch` based on the backend | Optional |
244
+ | `ELASTICSEARCH_VERSION` | Version of Elasticsearch to use. | `8.11.0` | Optional |
245
+ | `OPENSEARCH_VERSION` | OpenSearch version | `2.11.1` | Optional |
246
+ | `ENABLE_DIRECT_RESPONSE` | Enable direct response for maximum performance (disables all FastAPI dependencies, including authentication, custom status codes, and validation) | `false` | Optional |
247
+ | `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 |
248
+ | `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 |
247
249
  | `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 |
248
250
 
249
251
  > [!NOTE]
250
- > The variables `ES_HOST`, `ES_PORT`, `ES_USE_SSL`, and `ES_VERIFY_CERTS` 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.
252
+ > 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.
251
253
 
252
254
  ## Interacting with the API
253
255
 
@@ -1,5 +1,5 @@
1
- stac-fastapi-core==6.0.0
2
- sfeos-helpers==6.0.0
1
+ stac-fastapi-core==6.1.0
2
+ sfeos-helpers==6.1.0
3
3
  elasticsearch[async]~=8.18.0
4
4
  uvicorn~=0.23.0
5
5
  starlette<0.36.0,>=0.35.0