elasticsearch 9.1.1__py3-none-any.whl → 9.1.2__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.
Files changed (38) hide show
  1. elasticsearch/_async/client/__init__.py +2 -0
  2. elasticsearch/_async/client/cat.py +481 -25
  3. elasticsearch/_async/client/connector.py +3 -3
  4. elasticsearch/_async/client/indices.py +23 -9
  5. elasticsearch/_async/client/inference.py +11 -1
  6. elasticsearch/_async/client/logstash.py +3 -1
  7. elasticsearch/_async/client/nodes.py +2 -2
  8. elasticsearch/_async/client/shutdown.py +5 -15
  9. elasticsearch/_async/client/streams.py +186 -0
  10. elasticsearch/_async/client/watcher.py +1 -5
  11. elasticsearch/_async/helpers.py +58 -9
  12. elasticsearch/_sync/client/__init__.py +2 -0
  13. elasticsearch/_sync/client/cat.py +481 -25
  14. elasticsearch/_sync/client/connector.py +3 -3
  15. elasticsearch/_sync/client/indices.py +23 -9
  16. elasticsearch/_sync/client/inference.py +11 -1
  17. elasticsearch/_sync/client/logstash.py +3 -1
  18. elasticsearch/_sync/client/nodes.py +2 -2
  19. elasticsearch/_sync/client/shutdown.py +5 -15
  20. elasticsearch/_sync/client/streams.py +186 -0
  21. elasticsearch/_sync/client/watcher.py +1 -5
  22. elasticsearch/_version.py +2 -1
  23. elasticsearch/client.py +2 -0
  24. elasticsearch/compat.py +43 -1
  25. elasticsearch/dsl/__init__.py +28 -0
  26. elasticsearch/dsl/aggs.py +97 -0
  27. elasticsearch/dsl/document_base.py +15 -0
  28. elasticsearch/dsl/field.py +21 -2
  29. elasticsearch/dsl/query.py +5 -1
  30. elasticsearch/dsl/response/__init__.py +3 -0
  31. elasticsearch/dsl/types.py +226 -14
  32. elasticsearch/helpers/__init__.py +10 -1
  33. elasticsearch/helpers/actions.py +106 -33
  34. {elasticsearch-9.1.1.dist-info → elasticsearch-9.1.2.dist-info}/METADATA +2 -2
  35. {elasticsearch-9.1.1.dist-info → elasticsearch-9.1.2.dist-info}/RECORD +38 -36
  36. {elasticsearch-9.1.1.dist-info → elasticsearch-9.1.2.dist-info}/WHEEL +0 -0
  37. {elasticsearch-9.1.1.dist-info → elasticsearch-9.1.2.dist-info}/licenses/LICENSE +0 -0
  38. {elasticsearch-9.1.1.dist-info → elasticsearch-9.1.2.dist-info}/licenses/NOTICE +0 -0
@@ -16,9 +16,10 @@
16
16
  # under the License.
17
17
 
18
18
  import logging
19
+ import queue
19
20
  import time
21
+ from enum import Enum
20
22
  from operator import methodcaller
21
- from queue import Queue
22
23
  from typing import (
23
24
  Any,
24
25
  Callable,
@@ -37,13 +38,21 @@ from typing import (
37
38
  from elastic_transport import OpenTelemetrySpan
38
39
 
39
40
  from .. import Elasticsearch
40
- from ..compat import to_bytes
41
+ from ..compat import safe_thread, to_bytes
41
42
  from ..exceptions import ApiError, NotFoundError, TransportError
42
43
  from ..serializer import Serializer
43
44
  from .errors import BulkIndexError, ScanError
44
45
 
45
46
  logger = logging.getLogger("elasticsearch.helpers")
46
47
 
48
+
49
+ class BulkMeta(Enum):
50
+ flush = 1
51
+ done = 2
52
+
53
+
54
+ BULK_FLUSH = BulkMeta.flush
55
+
47
56
  _TYPE_BULK_ACTION = Union[bytes, str, Dict[str, Any]]
48
57
  _TYPE_BULK_ACTION_HEADER = Dict[str, Any]
49
58
  _TYPE_BULK_ACTION_BODY = Union[None, bytes, Dict[str, Any]]
@@ -51,6 +60,13 @@ _TYPE_BULK_ACTION_HEADER_AND_BODY = Tuple[
51
60
  _TYPE_BULK_ACTION_HEADER, _TYPE_BULK_ACTION_BODY
52
61
  ]
53
62
 
63
+ _TYPE_BULK_ACTION_WITH_META = Union[bytes, str, Dict[str, Any], BulkMeta]
64
+ _TYPE_BULK_ACTION_HEADER_WITH_META = Union[Dict[str, Any], BulkMeta]
65
+ _TYPE_BULK_ACTION_HEADER_WITH_META_AND_BODY = Union[
66
+ Tuple[_TYPE_BULK_ACTION_HEADER, _TYPE_BULK_ACTION_BODY],
67
+ Tuple[BulkMeta, Any],
68
+ ]
69
+
54
70
 
55
71
  def expand_action(data: _TYPE_BULK_ACTION) -> _TYPE_BULK_ACTION_HEADER_AND_BODY:
56
72
  """
@@ -139,7 +155,9 @@ class _ActionChunker:
139
155
  ] = []
140
156
 
141
157
  def feed(
142
- self, action: _TYPE_BULK_ACTION_HEADER, data: _TYPE_BULK_ACTION_BODY
158
+ self,
159
+ action: _TYPE_BULK_ACTION_HEADER_WITH_META,
160
+ data: _TYPE_BULK_ACTION_BODY,
143
161
  ) -> Optional[
144
162
  Tuple[
145
163
  List[
@@ -152,23 +170,25 @@ class _ActionChunker:
152
170
  ]
153
171
  ]:
154
172
  ret = None
155
- raw_action = action
156
- raw_data = data
157
- action_bytes = to_bytes(self.serializer.dumps(action), "utf-8")
158
- # +1 to account for the trailing new line character
159
- cur_size = len(action_bytes) + 1
160
-
161
- data_bytes: Optional[bytes]
162
- if data is not None:
163
- data_bytes = to_bytes(self.serializer.dumps(data), "utf-8")
164
- cur_size += len(data_bytes) + 1
165
- else:
166
- data_bytes = None
173
+ action_bytes = b""
174
+ data_bytes: Optional[bytes] = None
175
+ cur_size = 0
176
+ if not isinstance(action, BulkMeta):
177
+ action_bytes = to_bytes(self.serializer.dumps(action), "utf-8")
178
+ # +1 to account for the trailing new line character
179
+ cur_size = len(action_bytes) + 1
180
+
181
+ if data is not None:
182
+ data_bytes = to_bytes(self.serializer.dumps(data), "utf-8")
183
+ cur_size += len(data_bytes) + 1
184
+ else:
185
+ data_bytes = None
167
186
 
168
187
  # full chunk, send it and start a new one
169
188
  if self.bulk_actions and (
170
189
  self.size + cur_size > self.max_chunk_bytes
171
190
  or self.action_count == self.chunk_size
191
+ or (action == BulkMeta.flush and self.bulk_actions)
172
192
  ):
173
193
  ret = (self.bulk_data, self.bulk_actions)
174
194
  self.bulk_actions = []
@@ -176,15 +196,16 @@ class _ActionChunker:
176
196
  self.size = 0
177
197
  self.action_count = 0
178
198
 
179
- self.bulk_actions.append(action_bytes)
180
- if data_bytes is not None:
181
- self.bulk_actions.append(data_bytes)
182
- self.bulk_data.append((raw_action, raw_data))
183
- else:
184
- self.bulk_data.append((raw_action,))
199
+ if not isinstance(action, BulkMeta):
200
+ self.bulk_actions.append(action_bytes)
201
+ if data_bytes is not None:
202
+ self.bulk_actions.append(data_bytes)
203
+ self.bulk_data.append((action, data))
204
+ else:
205
+ self.bulk_data.append((action,))
185
206
 
186
- self.size += cur_size
187
- self.action_count += 1
207
+ self.size += cur_size
208
+ self.action_count += 1
188
209
  return ret
189
210
 
190
211
  def flush(
@@ -209,9 +230,10 @@ class _ActionChunker:
209
230
 
210
231
 
211
232
  def _chunk_actions(
212
- actions: Iterable[_TYPE_BULK_ACTION_HEADER_AND_BODY],
233
+ actions: Iterable[_TYPE_BULK_ACTION_HEADER_WITH_META_AND_BODY],
213
234
  chunk_size: int,
214
235
  max_chunk_bytes: int,
236
+ flush_after_seconds: Optional[float],
215
237
  serializer: Serializer,
216
238
  ) -> Iterable[
217
239
  Tuple[
@@ -231,10 +253,41 @@ def _chunk_actions(
231
253
  chunker = _ActionChunker(
232
254
  chunk_size=chunk_size, max_chunk_bytes=max_chunk_bytes, serializer=serializer
233
255
  )
234
- for action, data in actions:
235
- ret = chunker.feed(action, data)
236
- if ret:
237
- yield ret
256
+
257
+ if not flush_after_seconds:
258
+ for action, data in actions:
259
+ ret = chunker.feed(action, data)
260
+ if ret:
261
+ yield ret
262
+ else:
263
+ item_queue: queue.Queue[_TYPE_BULK_ACTION_HEADER_WITH_META_AND_BODY] = (
264
+ queue.Queue()
265
+ )
266
+
267
+ def get_items() -> None:
268
+ try:
269
+ for item in actions:
270
+ item_queue.put(item)
271
+ finally:
272
+ # make sure we signal the end even if there is an exception
273
+ item_queue.put((BulkMeta.done, None))
274
+
275
+ with safe_thread(get_items):
276
+ timeout: Optional[float] = flush_after_seconds
277
+ while True:
278
+ try:
279
+ action, data = item_queue.get(timeout=timeout)
280
+ timeout = flush_after_seconds
281
+ except queue.Empty:
282
+ action, data = BulkMeta.flush, None
283
+ timeout = None
284
+
285
+ if action is BulkMeta.done:
286
+ break
287
+ ret = chunker.feed(action, data)
288
+ if ret:
289
+ yield ret
290
+
238
291
  ret = chunker.flush()
239
292
  if ret:
240
293
  yield ret
@@ -361,9 +414,10 @@ def _process_bulk_chunk(
361
414
 
362
415
  def streaming_bulk(
363
416
  client: Elasticsearch,
364
- actions: Iterable[_TYPE_BULK_ACTION],
417
+ actions: Iterable[_TYPE_BULK_ACTION_WITH_META],
365
418
  chunk_size: int = 500,
366
419
  max_chunk_bytes: int = 100 * 1024 * 1024,
420
+ flush_after_seconds: Optional[float] = None,
367
421
  raise_on_error: bool = True,
368
422
  expand_action_callback: Callable[
369
423
  [_TYPE_BULK_ACTION], _TYPE_BULK_ACTION_HEADER_AND_BODY
@@ -397,6 +451,9 @@ def streaming_bulk(
397
451
  :arg actions: iterable containing the actions to be executed
398
452
  :arg chunk_size: number of docs in one chunk sent to es (default: 500)
399
453
  :arg max_chunk_bytes: the maximum size of the request in bytes (default: 100MB)
454
+ :arg flush_after_seconds: time in seconds after which a chunk is written even
455
+ if hasn't reached `chunk_size` or `max_chunk_bytes`. Set to 0 to not use a
456
+ timeout-based flush. (default: 0)
400
457
  :arg raise_on_error: raise ``BulkIndexError`` containing errors (as `.errors`)
401
458
  from the execution of the last chunk when some occur. By default we raise.
402
459
  :arg raise_on_exception: if ``False`` then don't propagate exceptions from
@@ -425,6 +482,13 @@ def streaming_bulk(
425
482
 
426
483
  serializer = client.transport.serializers.get_serializer("application/json")
427
484
 
485
+ def expand_action_with_meta(
486
+ data: _TYPE_BULK_ACTION_WITH_META,
487
+ ) -> _TYPE_BULK_ACTION_HEADER_WITH_META_AND_BODY:
488
+ if isinstance(data, BulkMeta):
489
+ return data, None
490
+ return expand_action_callback(data)
491
+
428
492
  bulk_data: List[
429
493
  Union[
430
494
  Tuple[_TYPE_BULK_ACTION_HEADER],
@@ -433,9 +497,10 @@ def streaming_bulk(
433
497
  ]
434
498
  bulk_actions: List[bytes]
435
499
  for bulk_data, bulk_actions in _chunk_actions(
436
- map(expand_action_callback, actions),
500
+ map(expand_action_with_meta, actions),
437
501
  chunk_size,
438
502
  max_chunk_bytes,
503
+ flush_after_seconds,
439
504
  serializer,
440
505
  ):
441
506
  for attempt in range(max_retries + 1):
@@ -557,6 +622,7 @@ def parallel_bulk(
557
622
  thread_count: int = 4,
558
623
  chunk_size: int = 500,
559
624
  max_chunk_bytes: int = 100 * 1024 * 1024,
625
+ flush_after_seconds: Optional[float] = None,
560
626
  queue_size: int = 4,
561
627
  expand_action_callback: Callable[
562
628
  [_TYPE_BULK_ACTION], _TYPE_BULK_ACTION_HEADER_AND_BODY
@@ -573,6 +639,9 @@ def parallel_bulk(
573
639
  :arg thread_count: size of the threadpool to use for the bulk requests
574
640
  :arg chunk_size: number of docs in one chunk sent to es (default: 500)
575
641
  :arg max_chunk_bytes: the maximum size of the request in bytes (default: 100MB)
642
+ :arg flush_after_seconds: time in seconds after which a chunk is written even
643
+ if hasn't reached `chunk_size` or `max_chunk_bytes`. Set to 0 to not use a
644
+ timeout-based flush. (default: 0)
576
645
  :arg raise_on_error: raise ``BulkIndexError`` containing errors (as `.errors`)
577
646
  from the execution of the last chunk when some occur. By default we raise.
578
647
  :arg raise_on_exception: if ``False`` then don't propagate exceptions from
@@ -596,7 +665,7 @@ def parallel_bulk(
596
665
  super()._setup_queues() # type: ignore[misc]
597
666
  # The queue must be at least the size of the number of threads to
598
667
  # prevent hanging when inserting sentinel values during teardown.
599
- self._inqueue: Queue[
668
+ self._inqueue: queue.Queue[
600
669
  Tuple[
601
670
  List[
602
671
  Union[
@@ -605,7 +674,7 @@ def parallel_bulk(
605
674
  ],
606
675
  List[bytes],
607
676
  ]
608
- ] = Queue(max(queue_size, thread_count))
677
+ ] = queue.Queue(max(queue_size, thread_count))
609
678
  self._quick_put = self._inqueue.put
610
679
 
611
680
  with client._otel.helpers_span("helpers.parallel_bulk") as otel_span:
@@ -625,7 +694,11 @@ def parallel_bulk(
625
694
  )
626
695
  ),
627
696
  _chunk_actions(
628
- expanded_actions, chunk_size, max_chunk_bytes, serializer
697
+ expanded_actions,
698
+ chunk_size,
699
+ max_chunk_bytes,
700
+ flush_after_seconds,
701
+ serializer,
629
702
  ),
630
703
  ):
631
704
  yield from result
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: elasticsearch
3
- Version: 9.1.1
3
+ Version: 9.1.2
4
4
  Summary: Python client for Elasticsearch
5
5
  Project-URL: Documentation, https://elasticsearch-py.readthedocs.io/
6
6
  Project-URL: Homepage, https://github.com/elastic/elasticsearch-py
@@ -44,7 +44,7 @@ Requires-Dist: nox; extra == 'dev'
44
44
  Requires-Dist: numpy; extra == 'dev'
45
45
  Requires-Dist: orjson; extra == 'dev'
46
46
  Requires-Dist: pandas; extra == 'dev'
47
- Requires-Dist: pyarrow; extra == 'dev'
47
+ Requires-Dist: pyarrow; (python_version < '3.14') and extra == 'dev'
48
48
  Requires-Dist: pyright; extra == 'dev'
49
49
  Requires-Dist: pytest; extra == 'dev'
50
50
  Requires-Dist: pytest-asyncio; extra == 'dev'
@@ -1,22 +1,22 @@
1
1
  elasticsearch/__init__.py,sha256=w-nQI0H9nkcLaMGhkcxPrXYlGK8vbWlBA1wzwvNLwbI,3330
2
2
  elasticsearch/_otel.py,sha256=stb3OahM13DX67aa_aUjK4_dL4rJfZeJ8m6lpXWZv60,4167
3
3
  elasticsearch/_utils.py,sha256=Vr_aNG5ddxInE1PgDpCXMYpXBTNUFM9nYrgbw-cjeCc,1419
4
- elasticsearch/_version.py,sha256=ZMCJQD1SEVIeAOyLNScvPwkzdf-8zt4jlGu2RE6m67s,813
5
- elasticsearch/client.py,sha256=D7XS3Fa57GEbBVIaJLQdzbA12_pdmRXCscdnwnXjn4U,5498
6
- elasticsearch/compat.py,sha256=eGqNPiGy1me_Iqwc7GsEs2oagf_xeDnTwKyyVuFOp0s,2826
4
+ elasticsearch/_version.py,sha256=zXySIgzwlU4EFI3-rCv650uWSzQ07ZIUD2mXpUcN5TE,886
5
+ elasticsearch/client.py,sha256=mQbEUHtYyRdrwbgP0Q3-scpY_lMoGZSZYFOjfSpQyLA,5598
6
+ elasticsearch/compat.py,sha256=lXSr5Rea2VFv6KaNXm9FGSKzv912dqdUJhwoT3NHjbg,3988
7
7
  elasticsearch/exceptions.py,sha256=oIO4Nnasth_XXXqYgg1sOv2zAHa3Ba0yB_5StFPWK9Y,4271
8
8
  elasticsearch/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  elasticsearch/serializer.py,sha256=vLhhlU6fAjHXB-z2E5ieBe_XKWx4A0o-lbJY9Bknt70,8059
10
10
  elasticsearch/_async/__init__.py,sha256=TZps9WjF-TaSNzBvW5wUCgXRcbHnvE_9xAynBHsMtSo,787
11
- elasticsearch/_async/helpers.py,sha256=Q5LIXoyjoHeShBUltwLIkGc3WqmqAYHW2ddLjzNpYQU,22801
12
- elasticsearch/_async/client/__init__.py,sha256=DfNQxMc-3_ygO3h9niidY8030JU5LA7OJLCeHB8ICtY,340554
11
+ elasticsearch/_async/helpers.py,sha256=zhzEyiPtXQICEOkE94bH_XDOyPHGH23oDhqF_tq8O2w,24480
12
+ elasticsearch/_async/client/__init__.py,sha256=f-zBI1Y0Rx_KPAiDSx7hyI1VtETcsIiC2Cg1QdtTAPg,340632
13
13
  elasticsearch/_async/client/_base.py,sha256=q-efl19moyBufyiX2WYRLfBkrcmT3TUVKPf_Kqs5NqA,15494
14
14
  elasticsearch/_async/client/async_search.py,sha256=FMQvrvkzST1FU5d0uNM_Uhtj8nyVMa5ZH-u1alOBSTg,30588
15
15
  elasticsearch/_async/client/autoscaling.py,sha256=w_nFB50Y-JzYGVSIsxQksO4reArwmDFucWBQuYQ_1VI,11263
16
- elasticsearch/_async/client/cat.py,sha256=KeuD-jOHurrR_TZZpvRAYvasUCjnHAcFuVUygbmuTzw,178037
16
+ elasticsearch/_async/client/cat.py,sha256=PTvcmVns54zD_01pAvX1rgqpZYk_AKTCldYtYv2kqmo,210553
17
17
  elasticsearch/_async/client/ccr.py,sha256=zJyC2aibgy3FsO7PKmtLTMAKZwAuzWDGEaWJOI5D0eo,49891
18
18
  elasticsearch/_async/client/cluster.py,sha256=F9siTLP1KNBOciRfABlStQtY-dbHoRJSdzpOwtFRzkk,62368
19
- elasticsearch/_async/client/connector.py,sha256=1Csr5-qFy9SKDZziIcPBXgbg666J-UnqMo1hQTbMjDQ,79065
19
+ elasticsearch/_async/client/connector.py,sha256=vFsWN1zRhwCroexxW_eGIC_uZ3e05ACt11fP8k-K65g,79020
20
20
  elasticsearch/_async/client/dangling_indices.py,sha256=BBDlR4yBPAa9PTcsKB_6zatZ78V5SslqVaw0__tnF8w,8527
21
21
  elasticsearch/_async/client/enrich.py,sha256=GkhZ-cDz3fW6QYpGXEUy1CNDxGkKf7YwIv8WEyb0dcQ,11294
22
22
  elasticsearch/_async/client/eql.py,sha256=GaSOnUI5tU2HMBdatf5rqpK5VuGiqmJdkEhp4dKmejg,15932
@@ -25,42 +25,43 @@ elasticsearch/_async/client/features.py,sha256=ZyfSZOffg-GqxmjuwFyq4kxuAXyql5Nrc
25
25
  elasticsearch/_async/client/fleet.py,sha256=LfBNrAUSRnuRXHkt1Gr0Qet17vzRaMkQrReMKWyecfA,31093
26
26
  elasticsearch/_async/client/graph.py,sha256=alPqbL-X4n3thYuqCENr1ewx7wBy3sbzHxeq9aTYzUw,5136
27
27
  elasticsearch/_async/client/ilm.py,sha256=3Y4p5W5EW9243M08006GRoo_DNYaw8Fnt_0N7YKUa1U,28614
28
- elasticsearch/_async/client/indices.py,sha256=A3AXIjLU4wruhmEiGqt_FWgNcnUEyK-n986Q9aYwxeE,299414
29
- elasticsearch/_async/client/inference.py,sha256=gkFW1S2wkb6OtQ4TAMoltZUub2Cy7z1SF6voLFIbzp8,124924
28
+ elasticsearch/_async/client/indices.py,sha256=UIhpOlZhV2dYWqPpEw--CilbuOgkI2dMYI8G70hyQqk,299994
29
+ elasticsearch/_async/client/inference.py,sha256=THBYzh4lzGlzNRKiyIPxQ2iwLO0co19iex_XTHDmIoY,125689
30
30
  elasticsearch/_async/client/ingest.py,sha256=I3WrNMA1OydoNoTgCy492jb_G2D-k7kJ4J78-DSVWh4,31993
31
31
  elasticsearch/_async/client/license.py,sha256=lB5LfSdJL-fM13xxx5HngA4mk0PXzShMFaBX5kIwe4M,16718
32
- elasticsearch/_async/client/logstash.py,sha256=qZqAYdp1ApHqkcV5m7RPzlcTjaHwucBCbnaF29aPBiQ,6534
32
+ elasticsearch/_async/client/logstash.py,sha256=qbgRNW5mhxqiM_6UzID5wj05WxIzubpXafwa2onFFcw,6678
33
33
  elasticsearch/_async/client/migration.py,sha256=UG7-cxRpdDh7AHIC1vqFOl0O8JFbj4_vjV7hDpA4Xyc,6410
34
34
  elasticsearch/_async/client/ml.py,sha256=Cn8RSblkxImFn2KoAdnEcAzq66bS1OdSCfWUes4EUOY,267242
35
35
  elasticsearch/_async/client/monitoring.py,sha256=OmvNcI5eTkEuQA2th0CENxf9oq8drRwaV0brH5Prd4k,3849
36
- elasticsearch/_async/client/nodes.py,sha256=ThIqSXvmck73GXpJ0gQW7oS9eOT7I-_VmsT8-tD2EwI,24030
36
+ elasticsearch/_async/client/nodes.py,sha256=JQ-YtIIedrW8XqgXRXWwkRFuaf9MjBIYFYe3jDw_ZEg,24030
37
37
  elasticsearch/_async/client/query_rules.py,sha256=TENSeOWh-zKs-33-b8V64wX3LIsT_JprrWVlnqS864k,19431
38
38
  elasticsearch/_async/client/rollup.py,sha256=IdcQmUNIRX3DtA8eh4JjHftJDcRPYW-io93t8TkUcgA,28065
39
39
  elasticsearch/_async/client/search_application.py,sha256=4V6NWI-gkupfsdZlSNaNZJT-GVTUZmjGe8N2l_UkQSs,22147
40
40
  elasticsearch/_async/client/searchable_snapshots.py,sha256=zxUq1aOmZGNsFXMAqcomzLzdoAFZwvGan4yI9OIA4jY,12706
41
41
  elasticsearch/_async/client/security.py,sha256=8RvAuVw_Qmghg2h5HtMm2vPN01jp3mO9yvmNhPoJRkQ,222456
42
- elasticsearch/_async/client/shutdown.py,sha256=yqabDXSmf0RCybvQ_7CedBYDJpHV7TRagAEDBfM9KSI,13252
42
+ elasticsearch/_async/client/shutdown.py,sha256=2ehuAQe6VHUrmt96dMaIQB4LuX7ec86hyUfxyWjG2ig,13007
43
43
  elasticsearch/_async/client/simulate.py,sha256=vM_HumLw00e6AIyvc7WgTU0kKVCSf3zie3rJ2x4GOTA,7348
44
44
  elasticsearch/_async/client/slm.py,sha256=I4Q08KAkHFa7xUSmiuqphP0MCEiGWY-MoT1c2peN2Sw,24359
45
45
  elasticsearch/_async/client/snapshot.py,sha256=k0Ym1t4vAIhkF6MrprKqeAzd4kjbAHzvyDDK2lEDZk4,79363
46
46
  elasticsearch/_async/client/sql.py,sha256=54F6NhNWijV5MxuENCA1SStQBxkk8cCYs8nDwnGYuxE,20108
47
47
  elasticsearch/_async/client/ssl.py,sha256=Z1uuKUwJ7TqLu9kFXU70TzL3DhOvWozVsZPMyujwo9E,3776
48
+ elasticsearch/_async/client/streams.py,sha256=heIzmUgSo8jQT-DrJVxpMjPV4dxisDvG_QA09zpJ3hk,7264
48
49
  elasticsearch/_async/client/synonyms.py,sha256=Jyr8k597KfJLv7BUnaUCYeS6Fca6Y4OwHG1bFvcyYrM,17552
49
50
  elasticsearch/_async/client/tasks.py,sha256=pZswnY0zwaq9lN5uXEw_yAfX3tFQbnyqrCpRJvP4HGQ,13671
50
51
  elasticsearch/_async/client/text_structure.py,sha256=pax0_I4x6CoHyW89FAP1stM2UWj-40DwYkesmZN6dVE,40665
51
52
  elasticsearch/_async/client/transform.py,sha256=vk9XcW0Z8Q7IA8SnD2LQ2eaymQpyWD0Z7TUnoBAC6Is,47065
52
53
  elasticsearch/_async/client/utils.py,sha256=h64qW1YcQZoJdEpDiYqkgnD3Q_0r2Y_ltUiNpNzpekI,1449
53
- elasticsearch/_async/client/watcher.py,sha256=PRIZWf2jz-rq5Iz4d7m1ETL2CnFftBXdgOGBl9Dq398,38316
54
+ elasticsearch/_async/client/watcher.py,sha256=qupDCyOF6RVngF0jW7NhQg38ODmh4woEC1Sea62wQck,38185
54
55
  elasticsearch/_async/client/xpack.py,sha256=prqyyZnzobd1g6XtdPCZBtTbDGXBwT8P_yWMGtcgvdM,5134
55
56
  elasticsearch/_sync/__init__.py,sha256=TZps9WjF-TaSNzBvW5wUCgXRcbHnvE_9xAynBHsMtSo,787
56
- elasticsearch/_sync/client/__init__.py,sha256=LRIC9NPNgI-i2kYzXA55GPDtfqgE9HFD1tyZSJgENB0,339935
57
+ elasticsearch/_sync/client/__init__.py,sha256=gnOp1OoRc3QbCEQGAWwfVms6r1RFuiGfWCha4Rdu6sQ,340013
57
58
  elasticsearch/_sync/client/_base.py,sha256=H3CZjE4sUUxVXCXSNsyIwBFuUJv8JS9Y5fujRqlqHjg,15424
58
59
  elasticsearch/_sync/client/async_search.py,sha256=oyUKE2V-yEVROwkidf9H_tBfNCraSkBkBRwseYBef2I,30540
59
60
  elasticsearch/_sync/client/autoscaling.py,sha256=dPvwTowyPCsG0KrQsOp-tfwDitYUSn_Nm7Ko3j6NYD4,11215
60
- elasticsearch/_sync/client/cat.py,sha256=T97BHHScCR-IL8-HzcMtkgU4d5ZRNwI4ToaCz9E48I8,177725
61
+ elasticsearch/_sync/client/cat.py,sha256=RQCaeIBd7vyKBGoF9zOUxqZHLo2T0t1OVqtUD9moKYA,210241
61
62
  elasticsearch/_sync/client/ccr.py,sha256=LeJ4_Zvl3nR5McrpGSbNSfQEb_ryp6b1S6ccwZ5dftM,49735
62
63
  elasticsearch/_sync/client/cluster.py,sha256=fphEwqQfAxS0TO04U8Zf3-i-izZ754wHGoKMNIaJcrQ,62176
63
- elasticsearch/_sync/client/connector.py,sha256=tER-YAwsO1BVjEHI6DMfi7lSy8qgNB2cPmJ9thSPfls,78705
64
+ elasticsearch/_sync/client/connector.py,sha256=U_q-bRf3DjffVdmQynGFdPjPJC5jJKiPZzFAQhKHANc,78660
64
65
  elasticsearch/_sync/client/dangling_indices.py,sha256=nUck_TwXxuEFSkSFP8x3pRpQ3VIpI-xF0sMJpyEINU4,8491
65
66
  elasticsearch/_sync/client/enrich.py,sha256=Xf00KGie3wo2Kot_sMl7_Eko7MAErUt5KfcB5s-LkbQ,11234
66
67
  elasticsearch/_sync/client/eql.py,sha256=0IrH3wX7ZleUIiyBeKscCnOO_1cRd3ZIWWKvQxu_piA,15884
@@ -69,54 +70,55 @@ elasticsearch/_sync/client/features.py,sha256=z0IxlRIBa_gOP5cn07n2e5n6oWAigEbGPc
69
70
  elasticsearch/_sync/client/fleet.py,sha256=g0YFuGY1E21sZCXTZ5ux0BKj9Mf_4qNDxdCyA9I88m4,31057
70
71
  elasticsearch/_sync/client/graph.py,sha256=n2w9YA81ZEdG5V9a6NJ4QuIvAjwrF6mzS-tFrfvj6KU,5124
71
72
  elasticsearch/_sync/client/ilm.py,sha256=s7z3K18eGiDTNtz5j45P8DHQ1zL2nJ5RwqkJqwwXBW8,28482
72
- elasticsearch/_sync/client/indices.py,sha256=liTy62mdZaz9yiNNuu9iwed_Z6AiaRiVxLB6Tce56oU,298586
73
- elasticsearch/_sync/client/inference.py,sha256=hUgZvZF2wnHae80jo2I-sFuFgDe2d401rdxex3Ebmek,124588
73
+ elasticsearch/_sync/client/indices.py,sha256=MgQL9yeHlo1JltfcR7FZs8jJDUZlNzoOs8j29HApz8M,299166
74
+ elasticsearch/_sync/client/inference.py,sha256=3qLfsaYNxgHuy5ciCX7l8S0v-SC-pYaNBRvRJMPtdhs,125353
74
75
  elasticsearch/_sync/client/ingest.py,sha256=xaQdq6gJ9VfxGWHEMRftE3HTv4qRkkr43h6b5Uupdk8,31849
75
76
  elasticsearch/_sync/client/license.py,sha256=YvKDhb5ZtdENeI4NUKsmg7XnFf0B_-vxLkchsr_IzjQ,16634
76
- elasticsearch/_sync/client/logstash.py,sha256=mKwAbRInhX6Mzf1hYbBBAYOa5PMkkUoSfdu1PSVrczc,6498
77
+ elasticsearch/_sync/client/logstash.py,sha256=szDbIGw2_Dsr_l5kWkxYYvIvGIdVti4yQgWuon6KhJc,6642
77
78
  elasticsearch/_sync/client/migration.py,sha256=Pftb0x18hNgrxkkXmmvZCx3Pec_HUYISGHi7EH9O7Gg,6374
78
79
  elasticsearch/_sync/client/ml.py,sha256=Cy8uoucLhJgJhUBRxtAxh5LGr7ES77_3eLAcSpRFJ-Y,266366
79
80
  elasticsearch/_sync/client/monitoring.py,sha256=w7C-z-QR4DhotNPPKEIhU50CsDnyPKC9RUj2US_YVg0,3837
80
- elasticsearch/_sync/client/nodes.py,sha256=BZKscFAblM-TRSAxvsA7Ig25D-Bo8mxq9OitEsAJ5-U,23946
81
+ elasticsearch/_sync/client/nodes.py,sha256=Ug4YEa3JsDNnESR2h7D4Why2-som0RowNKoktqtd7kk,23946
81
82
  elasticsearch/_sync/client/query_rules.py,sha256=a3F6nqQL4ZRlOxsf20t_9ub8iYCcHT-lPArzxz24yNU,19335
82
83
  elasticsearch/_sync/client/rollup.py,sha256=9PGi-jQVhkzgUNI2DXCegOkENgLpoNcb3amRjZFSWUA,27969
83
84
  elasticsearch/_sync/client/search_application.py,sha256=naI3xdbUOVYnVGspydHfXSvDIQ7KuoOPBhM7zWYo_OI,22027
84
85
  elasticsearch/_sync/client/searchable_snapshots.py,sha256=nopBp-_l1toLVLggUT2ok11u5k7q__Zitv1gjkfN-zw,12658
85
86
  elasticsearch/_sync/client/security.py,sha256=jLLzOCryWXG3w2aHmrSGA8mAXur6RJjyd4itLAxYJ0Q,221688
86
- elasticsearch/_sync/client/shutdown.py,sha256=v1fJ0s_WfZtNkEYOLzZLI4gmEuKIHOEPNtPynpct_o0,13216
87
+ elasticsearch/_sync/client/shutdown.py,sha256=UaDhJC5RHsORwB2m1NrgOh2EjlVx1LUCw7sh4dMu4_g,12971
87
88
  elasticsearch/_sync/client/simulate.py,sha256=e-AS5BwLhV2TAoS6DbE07uVeAVXw5YyTgEkuoprVRDI,7336
88
89
  elasticsearch/_sync/client/slm.py,sha256=cEda_BlFc6NmufShLSuKHW55fDo687xEe4LAEn_yBpQ,24251
89
90
  elasticsearch/_sync/client/snapshot.py,sha256=caaKqsst0zRFyVl_Fvpp6gOYOe8bWT6jcfeaJFE-04E,79207
90
91
  elasticsearch/_sync/client/sql.py,sha256=wyNAKfo16C0EVNh5WsIuVfkihH7mh7MFdFwrJ-0VqBU,20036
91
92
  elasticsearch/_sync/client/ssl.py,sha256=KuI_Fk766kF2P9DQLqXlf0ZZb_Q1isSzrZn1uccID7U,3764
93
+ elasticsearch/_sync/client/streams.py,sha256=bKmJL4BGGN-_PNjDFVe7XPT6nOuivl-WS6JhyEVaNUs,7228
92
94
  elasticsearch/_sync/client/synonyms.py,sha256=O9LgHAvlFg3THYjsPsGtBs-i0hgYRm7zrfr8Rbb_lS0,17468
93
95
  elasticsearch/_sync/client/tasks.py,sha256=ynS6dgCQ6d8DINsWFmBg-CbE5CbXqp_3-dsP1GCjknU,13635
94
96
  elasticsearch/_sync/client/text_structure.py,sha256=0rEDFVS-E96qIPppLvAgSs-YWe_Us3gwAdKCqlqVnxA,40617
95
97
  elasticsearch/_sync/client/transform.py,sha256=pNB5J3yYox7p6IWuxhkaTrKGCkR81AasJG0MkW7Z-r4,46921
96
98
  elasticsearch/_sync/client/utils.py,sha256=DxEShkaJzeycquaEVLbYXo00DmAqsVlBk8hyEtObxew,17187
97
- elasticsearch/_sync/client/watcher.py,sha256=2tq1Sur4OKo0rHyouItrziOj8JbQfFO3cmoIfy_QYGo,38160
99
+ elasticsearch/_sync/client/watcher.py,sha256=V8bNeUOuQF4-7ezKUMb72ZOS0o01gMNTdXMnb9FRslw,38029
98
100
  elasticsearch/_sync/client/xpack.py,sha256=nWtWSAoxj-Y-WH4M0nLVX1o2Kf6WI-DJSs7BuDiA7uE,5110
99
- elasticsearch/dsl/__init__.py,sha256=N6HvCFHD5RCdHu_Ni1uihfkmTgaX0t28TuJtgLO9t68,4308
100
- elasticsearch/dsl/aggs.py,sha256=VjB0tRTNiYX-X0C0vSMwmJM0sYC97XgHir7wIfo9jEk,132551
101
+ elasticsearch/dsl/__init__.py,sha256=LSGVLMindeqzaZZuz1uu6QjCLj8-xMyCHqCh3bTK7ak,4824
102
+ elasticsearch/dsl/aggs.py,sha256=q6kqFq9EOKVdS2VypRvxvXQAPdqINVB0fVsDz0g_Uno,136224
101
103
  elasticsearch/dsl/analysis.py,sha256=8-P6Cgh7CIgmbL6ZnhSl27NKVSjvqTcyn_VKnwZ6LDM,10308
102
104
  elasticsearch/dsl/async_connections.py,sha256=K57MB_Gbu6s4Bn_1pzy5iA32ur8imfKP7yC4XlSI11s,1451
103
105
  elasticsearch/dsl/connections.py,sha256=WxgUdq6PsQ6-ESG1pW6fab--VMm_IwlhH-J50XqeBZw,5176
104
106
  elasticsearch/dsl/document.py,sha256=VzUvFqntLx_uWxIhOlK9WwXXa63Bwrp0a_Ja4rCKOF8,957
105
- elasticsearch/dsl/document_base.py,sha256=Q1SvGYmlZsGAqqPz8jG5tCOYw_787MrGpbI705Vt_P8,24199
107
+ elasticsearch/dsl/document_base.py,sha256=2b4rkd92FU6tDtqZZ8VbtoyMWcjaNhHXl0_Kf_6McLg,24694
106
108
  elasticsearch/dsl/exceptions.py,sha256=bmQh4tjfFzSzlYr-Wtn5fdq6dTa3zcgtUEz3jlsYI38,1043
107
109
  elasticsearch/dsl/faceted_search.py,sha256=0NY9_yMlZ1FJWhmHtjx2I5eLlS8V0jBNAJdkp__ljg8,1094
108
110
  elasticsearch/dsl/faceted_search_base.py,sha256=BlZzt8jY3P4rrKe30Szw2aZE2q36OVtOWwyJZPghYao,15354
109
- elasticsearch/dsl/field.py,sha256=nVCdbYEyKuCCD2kpqUkaD1IIkqxghTH3O4eC0eSytLU,166607
111
+ elasticsearch/dsl/field.py,sha256=Kki1uug_t0IBny6-Cbtgz-fTfYd5Hu-Dd6q-U8CRgAw,167391
110
112
  elasticsearch/dsl/function.py,sha256=OavCMAUpDf1snQfVaaAL7wa_2HEQzhWVMo3Xuu-dV94,5127
111
113
  elasticsearch/dsl/index.py,sha256=r7qdWevIWAgXTEz2iIKdwhyRF1B3nFchVuNdguSXtUc,991
112
114
  elasticsearch/dsl/index_base.py,sha256=7YysvCWcAf0JEAFaZGsZPJML-CUG3QkqSd8D89PBOlE,6355
113
115
  elasticsearch/dsl/mapping.py,sha256=d5GU7ZZ89-aLO_PjXzHzmavUUZVBIvaC-hok06V-Ff0,892
114
116
  elasticsearch/dsl/mapping_base.py,sha256=uDhpyxxyORxcFkEju5DVq8nxrU57a_1pS_1A0C-iuh4,7480
115
- elasticsearch/dsl/query.py,sha256=Qro32neYPx3YsFcF1Bb5VApc4Zc48vJd3R6tC3qqwK0,104984
117
+ elasticsearch/dsl/query.py,sha256=4xKJ9ZHpUG-Ff2nT8eS24e42wrjkP7Co1D-5HoU2Lnk,105206
116
118
  elasticsearch/dsl/search.py,sha256=KzDfCPWWgSwMB79PQxyAHUhsL4lubfnCW9HpR0juDxs,991
117
119
  elasticsearch/dsl/search_base.py,sha256=ApVSfUAtU0gf0RjRdz2jVY97FeXj6rh_IDjaIYrSkBU,34963
118
120
  elasticsearch/dsl/serializer.py,sha256=hpo3aa94WhKY5iKyNyrE9TCe1A7JjF6tIiuyEBFhveE,1189
119
- elasticsearch/dsl/types.py,sha256=IbqwsAjXlD-bhKwT7VugeGuCoOimWWFUpYbyqjPkMRk,213410
121
+ elasticsearch/dsl/types.py,sha256=l2PTdqd5b32PavXP85PgRHJO4lYfTPUnAry0n3ecGSk,218093
120
122
  elasticsearch/dsl/update_by_query.py,sha256=adLSefH6YeGbdcmLMTC4IXqzqVFY63lSeEXsI45wj4Y,920
121
123
  elasticsearch/dsl/update_by_query_base.py,sha256=3jZROLNL3fLcaqeDLk82waBSNTdv7w6L38hxjQV-ybU,4939
122
124
  elasticsearch/dsl/utils.py,sha256=ejMAmxHlAy4HqEnzLEvdUghfJpU2c6u7aTs6UrL_dtg,23000
@@ -135,14 +137,14 @@ elasticsearch/dsl/_sync/index.py,sha256=DpUmWTUXDRqRlVHN9eeCMLvb0Xvx0-bGa4XHtb12
135
137
  elasticsearch/dsl/_sync/mapping.py,sha256=yRRE3lMj5DNkDson2fA2ZHVuotjNwZws7qcUoakKhlQ,1682
136
138
  elasticsearch/dsl/_sync/search.py,sha256=nAm5XPN8TBW1f-vqFyUTKf9dSvt9w708lxdgMSJJ9IU,7881
137
139
  elasticsearch/dsl/_sync/update_by_query.py,sha256=pUnHuLne_r2u3hh0OtZvM-TnP-Jf_UOuAmGwWopGPZU,1570
138
- elasticsearch/dsl/response/__init__.py,sha256=Y8g-nIpL0TGg1oewgg4K2PV3Rx_S2ZP1FnvnvuBuBr8,13774
140
+ elasticsearch/dsl/response/__init__.py,sha256=f_cM1GUOphPVa81SOLsdK92e5KKyQkvIF3uf_eVfVOw,13886
139
141
  elasticsearch/dsl/response/aggs.py,sha256=tf_9aRCQ8MwpGhMgyb5U4IUL5gksoaO7bpue0XJSDCQ,3368
140
142
  elasticsearch/dsl/response/hit.py,sha256=SCMeVQz4gsID4xgp3iGcpBw_XY5nbSDQ8B_RyDwgUnU,2111
141
143
  elasticsearch/esql/__init__.py,sha256=6Pm3Xma5qDWZpUXky1k96ptiICF79kYvTBA_-t3HV-A,886
142
144
  elasticsearch/esql/esql.py,sha256=obAg9lWAEhpXHGt56W4Rze4C0nls3Bs24xSLiZvNxrg,43449
143
145
  elasticsearch/esql/functions.py,sha256=NDAiRir3qbbTNeCXOcLctFGT2lXq_Y-H5Bl9zAJrBTI,67621
144
- elasticsearch/helpers/__init__.py,sha256=7X10XwdP_fP1QTHGcOxGbCvl2oBevkz_DjhjXCh_59I,1470
145
- elasticsearch/helpers/actions.py,sha256=A4IVl8TrCdqk2mnZ_KQggeMolDEHBaesk2qDygE8skE,32378
146
+ elasticsearch/helpers/__init__.py,sha256=lba3_h2_kYZ0IDGLTBQyDZLicmAYqxe_6HuI1n7GmHk,1533
147
+ elasticsearch/helpers/actions.py,sha256=dSPcnHuNLwJ3jxqRu6x14gdq9r2qiBPJkZLcJ23D9M4,35012
146
148
  elasticsearch/helpers/errors.py,sha256=5khkK4zbXsk4ry8HDmGfyzlmZI9KSKP-MivCgcPoO5U,1506
147
149
  elasticsearch/helpers/vectorstore/__init__.py,sha256=znQOANiaSZOJco_dkBf06wpFMKwK0OoDcNkkS8NMWKE,2192
148
150
  elasticsearch/helpers/vectorstore/_utils.py,sha256=xJwCFq7sqUBeq143tfnfm3i4e-ta88s85wKZmPZwJWg,3985
@@ -156,8 +158,8 @@ elasticsearch/helpers/vectorstore/_sync/_utils.py,sha256=5pdvNS5XC3wqShjliW9Njl9
156
158
  elasticsearch/helpers/vectorstore/_sync/embedding_service.py,sha256=sAw_WKUcmyqOOJRqnNesZCzn7ZyA91v4NvvQszHIWJ8,3582
157
159
  elasticsearch/helpers/vectorstore/_sync/strategies.py,sha256=3ngdKfLNatqiwCjpAW51dT3Bx6gfT97ALD-gDAy6kxE,16075
158
160
  elasticsearch/helpers/vectorstore/_sync/vectorstore.py,sha256=HZiEyrXL2i-3P5f9sYUPUYTcIDdEBTnATwQqtdfikZs,16523
159
- elasticsearch-9.1.1.dist-info/METADATA,sha256=DAxcphl8HtC4yTXA1zUM2a1ZjAr5PJn7wkpn3rOIcYU,8283
160
- elasticsearch-9.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
161
- elasticsearch-9.1.1.dist-info/licenses/LICENSE,sha256=XfKg2H1sVi8OoRxoisUlMqoo10TKvHmU_wU39ks7MyA,10143
162
- elasticsearch-9.1.1.dist-info/licenses/NOTICE,sha256=t4IjKAJ_G-0hYaL4AH16CVS_xDel8UXrJVK6x7JDaGA,61
163
- elasticsearch-9.1.1.dist-info/RECORD,,
161
+ elasticsearch-9.1.2.dist-info/METADATA,sha256=-aYBvbaRSmkoD43ZYLDruYECQOjB1wlySjMOpvsaQWw,8313
162
+ elasticsearch-9.1.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
163
+ elasticsearch-9.1.2.dist-info/licenses/LICENSE,sha256=XfKg2H1sVi8OoRxoisUlMqoo10TKvHmU_wU39ks7MyA,10143
164
+ elasticsearch-9.1.2.dist-info/licenses/NOTICE,sha256=t4IjKAJ_G-0hYaL4AH16CVS_xDel8UXrJVK6x7JDaGA,61
165
+ elasticsearch-9.1.2.dist-info/RECORD,,