elasticsearch 8.14.0__py3-none-any.whl → 8.15.0__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 (96) hide show
  1. elasticsearch/_async/client/__init__.py +196 -168
  2. elasticsearch/_async/client/async_search.py +35 -20
  3. elasticsearch/_async/client/autoscaling.py +4 -4
  4. elasticsearch/_async/client/cat.py +785 -180
  5. elasticsearch/_async/client/ccr.py +20 -32
  6. elasticsearch/_async/client/cluster.py +87 -79
  7. elasticsearch/_async/client/connector.py +1470 -0
  8. elasticsearch/_async/client/dangling_indices.py +7 -11
  9. elasticsearch/_async/client/enrich.py +8 -8
  10. elasticsearch/_async/client/eql.py +17 -16
  11. elasticsearch/_async/client/esql.py +2 -2
  12. elasticsearch/_async/client/features.py +2 -2
  13. elasticsearch/_async/client/fleet.py +18 -17
  14. elasticsearch/_async/client/graph.py +4 -4
  15. elasticsearch/_async/client/ilm.py +36 -44
  16. elasticsearch/_async/client/indices.py +282 -317
  17. elasticsearch/_async/client/inference.py +42 -33
  18. elasticsearch/_async/client/ingest.py +22 -23
  19. elasticsearch/_async/client/license.py +18 -10
  20. elasticsearch/_async/client/logstash.py +6 -6
  21. elasticsearch/_async/client/migration.py +3 -3
  22. elasticsearch/_async/client/ml.py +383 -176
  23. elasticsearch/_async/client/monitoring.py +2 -2
  24. elasticsearch/_async/client/nodes.py +32 -32
  25. elasticsearch/_async/client/query_rules.py +384 -0
  26. elasticsearch/_async/client/rollup.py +13 -13
  27. elasticsearch/_async/client/search_application.py +10 -10
  28. elasticsearch/_async/client/searchable_snapshots.py +9 -13
  29. elasticsearch/_async/client/security.py +577 -104
  30. elasticsearch/_async/client/shutdown.py +7 -7
  31. elasticsearch/_async/client/slm.py +11 -13
  32. elasticsearch/_async/client/snapshot.py +39 -52
  33. elasticsearch/_async/client/sql.py +12 -14
  34. elasticsearch/_async/client/ssl.py +1 -1
  35. elasticsearch/_async/client/synonyms.py +8 -8
  36. elasticsearch/_async/client/tasks.py +9 -10
  37. elasticsearch/_async/client/text_structure.py +3 -3
  38. elasticsearch/_async/client/transform.py +89 -34
  39. elasticsearch/_async/client/watcher.py +30 -15
  40. elasticsearch/_async/client/xpack.py +6 -7
  41. elasticsearch/_otel.py +2 -6
  42. elasticsearch/_sync/client/__init__.py +196 -168
  43. elasticsearch/_sync/client/async_search.py +35 -20
  44. elasticsearch/_sync/client/autoscaling.py +4 -4
  45. elasticsearch/_sync/client/cat.py +785 -180
  46. elasticsearch/_sync/client/ccr.py +20 -32
  47. elasticsearch/_sync/client/cluster.py +87 -79
  48. elasticsearch/_sync/client/connector.py +1470 -0
  49. elasticsearch/_sync/client/dangling_indices.py +7 -11
  50. elasticsearch/_sync/client/enrich.py +8 -8
  51. elasticsearch/_sync/client/eql.py +17 -16
  52. elasticsearch/_sync/client/esql.py +2 -2
  53. elasticsearch/_sync/client/features.py +2 -2
  54. elasticsearch/_sync/client/fleet.py +18 -17
  55. elasticsearch/_sync/client/graph.py +4 -4
  56. elasticsearch/_sync/client/ilm.py +36 -44
  57. elasticsearch/_sync/client/indices.py +282 -317
  58. elasticsearch/_sync/client/inference.py +42 -33
  59. elasticsearch/_sync/client/ingest.py +22 -23
  60. elasticsearch/_sync/client/license.py +18 -10
  61. elasticsearch/_sync/client/logstash.py +6 -6
  62. elasticsearch/_sync/client/migration.py +3 -3
  63. elasticsearch/_sync/client/ml.py +383 -176
  64. elasticsearch/_sync/client/monitoring.py +2 -2
  65. elasticsearch/_sync/client/nodes.py +32 -32
  66. elasticsearch/_sync/client/query_rules.py +384 -0
  67. elasticsearch/_sync/client/rollup.py +13 -13
  68. elasticsearch/_sync/client/search_application.py +10 -10
  69. elasticsearch/_sync/client/searchable_snapshots.py +9 -13
  70. elasticsearch/_sync/client/security.py +577 -104
  71. elasticsearch/_sync/client/shutdown.py +7 -7
  72. elasticsearch/_sync/client/slm.py +11 -13
  73. elasticsearch/_sync/client/snapshot.py +39 -52
  74. elasticsearch/_sync/client/sql.py +12 -14
  75. elasticsearch/_sync/client/ssl.py +1 -1
  76. elasticsearch/_sync/client/synonyms.py +8 -8
  77. elasticsearch/_sync/client/tasks.py +9 -10
  78. elasticsearch/_sync/client/text_structure.py +3 -3
  79. elasticsearch/_sync/client/transform.py +89 -34
  80. elasticsearch/_sync/client/watcher.py +30 -15
  81. elasticsearch/_sync/client/xpack.py +6 -7
  82. elasticsearch/_version.py +1 -1
  83. elasticsearch/client.py +3 -3
  84. elasticsearch/helpers/vectorstore/_async/vectorstore.py +36 -6
  85. elasticsearch/helpers/vectorstore/_sync/vectorstore.py +36 -6
  86. elasticsearch/serializer.py +34 -0
  87. elasticsearch-8.15.0.dist-info/METADATA +177 -0
  88. elasticsearch-8.15.0.dist-info/RECORD +117 -0
  89. {elasticsearch-8.14.0.dist-info → elasticsearch-8.15.0.dist-info}/WHEEL +1 -2
  90. elasticsearch/_async/client/query_ruleset.py +0 -205
  91. elasticsearch/_sync/client/query_ruleset.py +0 -205
  92. elasticsearch-8.14.0.dist-info/METADATA +0 -161
  93. elasticsearch-8.14.0.dist-info/RECORD +0 -116
  94. elasticsearch-8.14.0.dist-info/top_level.txt +0 -1
  95. {elasticsearch-8.14.0.dist-info → elasticsearch-8.15.0.dist-info/licenses}/LICENSE +0 -0
  96. {elasticsearch-8.14.0.dist-info → elasticsearch-8.15.0.dist-info/licenses}/NOTICE +0 -0
@@ -1,205 +0,0 @@
1
- # Licensed to Elasticsearch B.V. under one or more contributor
2
- # license agreements. See the NOTICE file distributed with
3
- # this work for additional information regarding copyright
4
- # ownership. Elasticsearch B.V. licenses this file to you under
5
- # the Apache License, Version 2.0 (the "License"); you may
6
- # not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing,
12
- # software distributed under the License is distributed on an
13
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- # KIND, either express or implied. See the License for the
15
- # specific language governing permissions and limitations
16
- # under the License.
17
-
18
- import typing as t
19
-
20
- from elastic_transport import ObjectApiResponse
21
-
22
- from ._base import NamespacedClient
23
- from .utils import SKIP_IN_PATH, _quote, _rewrite_parameters
24
-
25
-
26
- class QueryRulesetClient(NamespacedClient):
27
-
28
- @_rewrite_parameters()
29
- async def delete(
30
- self,
31
- *,
32
- ruleset_id: str,
33
- error_trace: t.Optional[bool] = None,
34
- filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
35
- human: t.Optional[bool] = None,
36
- pretty: t.Optional[bool] = None,
37
- ) -> ObjectApiResponse[t.Any]:
38
- """
39
- Deletes a query ruleset.
40
-
41
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/delete-query-ruleset.html>`_
42
-
43
- :param ruleset_id: The unique identifier of the query ruleset to delete
44
- """
45
- if ruleset_id in SKIP_IN_PATH:
46
- raise ValueError("Empty value passed for parameter 'ruleset_id'")
47
- __path_parts: t.Dict[str, str] = {"ruleset_id": _quote(ruleset_id)}
48
- __path = f'/_query_rules/{__path_parts["ruleset_id"]}'
49
- __query: t.Dict[str, t.Any] = {}
50
- if error_trace is not None:
51
- __query["error_trace"] = error_trace
52
- if filter_path is not None:
53
- __query["filter_path"] = filter_path
54
- if human is not None:
55
- __query["human"] = human
56
- if pretty is not None:
57
- __query["pretty"] = pretty
58
- __headers = {"accept": "application/json"}
59
- return await self.perform_request( # type: ignore[return-value]
60
- "DELETE",
61
- __path,
62
- params=__query,
63
- headers=__headers,
64
- endpoint_id="query_ruleset.delete",
65
- path_parts=__path_parts,
66
- )
67
-
68
- @_rewrite_parameters()
69
- async def get(
70
- self,
71
- *,
72
- ruleset_id: str,
73
- error_trace: t.Optional[bool] = None,
74
- filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
75
- human: t.Optional[bool] = None,
76
- pretty: t.Optional[bool] = None,
77
- ) -> ObjectApiResponse[t.Any]:
78
- """
79
- Returns the details about a query ruleset.
80
-
81
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/get-query-ruleset.html>`_
82
-
83
- :param ruleset_id: The unique identifier of the query ruleset
84
- """
85
- if ruleset_id in SKIP_IN_PATH:
86
- raise ValueError("Empty value passed for parameter 'ruleset_id'")
87
- __path_parts: t.Dict[str, str] = {"ruleset_id": _quote(ruleset_id)}
88
- __path = f'/_query_rules/{__path_parts["ruleset_id"]}'
89
- __query: t.Dict[str, t.Any] = {}
90
- if error_trace is not None:
91
- __query["error_trace"] = error_trace
92
- if filter_path is not None:
93
- __query["filter_path"] = filter_path
94
- if human is not None:
95
- __query["human"] = human
96
- if pretty is not None:
97
- __query["pretty"] = pretty
98
- __headers = {"accept": "application/json"}
99
- return await self.perform_request( # type: ignore[return-value]
100
- "GET",
101
- __path,
102
- params=__query,
103
- headers=__headers,
104
- endpoint_id="query_ruleset.get",
105
- path_parts=__path_parts,
106
- )
107
-
108
- @_rewrite_parameters(
109
- parameter_aliases={"from": "from_"},
110
- )
111
- async def list(
112
- self,
113
- *,
114
- error_trace: t.Optional[bool] = None,
115
- filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
116
- from_: t.Optional[int] = None,
117
- human: t.Optional[bool] = None,
118
- pretty: t.Optional[bool] = None,
119
- size: t.Optional[int] = None,
120
- ) -> ObjectApiResponse[t.Any]:
121
- """
122
- Lists query rulesets.
123
-
124
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/list-query-rulesets.html>`_
125
-
126
- :param from_: Starting offset (default: 0)
127
- :param size: specifies a max number of results to get
128
- """
129
- __path_parts: t.Dict[str, str] = {}
130
- __path = "/_query_rules"
131
- __query: t.Dict[str, t.Any] = {}
132
- if error_trace is not None:
133
- __query["error_trace"] = error_trace
134
- if filter_path is not None:
135
- __query["filter_path"] = filter_path
136
- if from_ is not None:
137
- __query["from"] = from_
138
- if human is not None:
139
- __query["human"] = human
140
- if pretty is not None:
141
- __query["pretty"] = pretty
142
- if size is not None:
143
- __query["size"] = size
144
- __headers = {"accept": "application/json"}
145
- return await self.perform_request( # type: ignore[return-value]
146
- "GET",
147
- __path,
148
- params=__query,
149
- headers=__headers,
150
- endpoint_id="query_ruleset.list",
151
- path_parts=__path_parts,
152
- )
153
-
154
- @_rewrite_parameters(
155
- body_fields=("rules",),
156
- )
157
- async def put(
158
- self,
159
- *,
160
- ruleset_id: str,
161
- rules: t.Optional[t.Sequence[t.Mapping[str, t.Any]]] = None,
162
- error_trace: t.Optional[bool] = None,
163
- filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
164
- human: t.Optional[bool] = None,
165
- pretty: t.Optional[bool] = None,
166
- body: t.Optional[t.Dict[str, t.Any]] = None,
167
- ) -> ObjectApiResponse[t.Any]:
168
- """
169
- Creates or updates a query ruleset.
170
-
171
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/put-query-ruleset.html>`_
172
-
173
- :param ruleset_id: The unique identifier of the query ruleset to be created or
174
- updated
175
- :param rules:
176
- """
177
- if ruleset_id in SKIP_IN_PATH:
178
- raise ValueError("Empty value passed for parameter 'ruleset_id'")
179
- if rules is None and body is None:
180
- raise ValueError("Empty value passed for parameter 'rules'")
181
- __path_parts: t.Dict[str, str] = {"ruleset_id": _quote(ruleset_id)}
182
- __path = f'/_query_rules/{__path_parts["ruleset_id"]}'
183
- __query: t.Dict[str, t.Any] = {}
184
- __body: t.Dict[str, t.Any] = body if body is not None else {}
185
- if error_trace is not None:
186
- __query["error_trace"] = error_trace
187
- if filter_path is not None:
188
- __query["filter_path"] = filter_path
189
- if human is not None:
190
- __query["human"] = human
191
- if pretty is not None:
192
- __query["pretty"] = pretty
193
- if not __body:
194
- if rules is not None:
195
- __body["rules"] = rules
196
- __headers = {"accept": "application/json", "content-type": "application/json"}
197
- return await self.perform_request( # type: ignore[return-value]
198
- "PUT",
199
- __path,
200
- params=__query,
201
- headers=__headers,
202
- body=__body,
203
- endpoint_id="query_ruleset.put",
204
- path_parts=__path_parts,
205
- )
@@ -1,205 +0,0 @@
1
- # Licensed to Elasticsearch B.V. under one or more contributor
2
- # license agreements. See the NOTICE file distributed with
3
- # this work for additional information regarding copyright
4
- # ownership. Elasticsearch B.V. licenses this file to you under
5
- # the Apache License, Version 2.0 (the "License"); you may
6
- # not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing,
12
- # software distributed under the License is distributed on an
13
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- # KIND, either express or implied. See the License for the
15
- # specific language governing permissions and limitations
16
- # under the License.
17
-
18
- import typing as t
19
-
20
- from elastic_transport import ObjectApiResponse
21
-
22
- from ._base import NamespacedClient
23
- from .utils import SKIP_IN_PATH, _quote, _rewrite_parameters
24
-
25
-
26
- class QueryRulesetClient(NamespacedClient):
27
-
28
- @_rewrite_parameters()
29
- def delete(
30
- self,
31
- *,
32
- ruleset_id: str,
33
- error_trace: t.Optional[bool] = None,
34
- filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
35
- human: t.Optional[bool] = None,
36
- pretty: t.Optional[bool] = None,
37
- ) -> ObjectApiResponse[t.Any]:
38
- """
39
- Deletes a query ruleset.
40
-
41
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/delete-query-ruleset.html>`_
42
-
43
- :param ruleset_id: The unique identifier of the query ruleset to delete
44
- """
45
- if ruleset_id in SKIP_IN_PATH:
46
- raise ValueError("Empty value passed for parameter 'ruleset_id'")
47
- __path_parts: t.Dict[str, str] = {"ruleset_id": _quote(ruleset_id)}
48
- __path = f'/_query_rules/{__path_parts["ruleset_id"]}'
49
- __query: t.Dict[str, t.Any] = {}
50
- if error_trace is not None:
51
- __query["error_trace"] = error_trace
52
- if filter_path is not None:
53
- __query["filter_path"] = filter_path
54
- if human is not None:
55
- __query["human"] = human
56
- if pretty is not None:
57
- __query["pretty"] = pretty
58
- __headers = {"accept": "application/json"}
59
- return self.perform_request( # type: ignore[return-value]
60
- "DELETE",
61
- __path,
62
- params=__query,
63
- headers=__headers,
64
- endpoint_id="query_ruleset.delete",
65
- path_parts=__path_parts,
66
- )
67
-
68
- @_rewrite_parameters()
69
- def get(
70
- self,
71
- *,
72
- ruleset_id: str,
73
- error_trace: t.Optional[bool] = None,
74
- filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
75
- human: t.Optional[bool] = None,
76
- pretty: t.Optional[bool] = None,
77
- ) -> ObjectApiResponse[t.Any]:
78
- """
79
- Returns the details about a query ruleset.
80
-
81
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/get-query-ruleset.html>`_
82
-
83
- :param ruleset_id: The unique identifier of the query ruleset
84
- """
85
- if ruleset_id in SKIP_IN_PATH:
86
- raise ValueError("Empty value passed for parameter 'ruleset_id'")
87
- __path_parts: t.Dict[str, str] = {"ruleset_id": _quote(ruleset_id)}
88
- __path = f'/_query_rules/{__path_parts["ruleset_id"]}'
89
- __query: t.Dict[str, t.Any] = {}
90
- if error_trace is not None:
91
- __query["error_trace"] = error_trace
92
- if filter_path is not None:
93
- __query["filter_path"] = filter_path
94
- if human is not None:
95
- __query["human"] = human
96
- if pretty is not None:
97
- __query["pretty"] = pretty
98
- __headers = {"accept": "application/json"}
99
- return self.perform_request( # type: ignore[return-value]
100
- "GET",
101
- __path,
102
- params=__query,
103
- headers=__headers,
104
- endpoint_id="query_ruleset.get",
105
- path_parts=__path_parts,
106
- )
107
-
108
- @_rewrite_parameters(
109
- parameter_aliases={"from": "from_"},
110
- )
111
- def list(
112
- self,
113
- *,
114
- error_trace: t.Optional[bool] = None,
115
- filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
116
- from_: t.Optional[int] = None,
117
- human: t.Optional[bool] = None,
118
- pretty: t.Optional[bool] = None,
119
- size: t.Optional[int] = None,
120
- ) -> ObjectApiResponse[t.Any]:
121
- """
122
- Lists query rulesets.
123
-
124
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/list-query-rulesets.html>`_
125
-
126
- :param from_: Starting offset (default: 0)
127
- :param size: specifies a max number of results to get
128
- """
129
- __path_parts: t.Dict[str, str] = {}
130
- __path = "/_query_rules"
131
- __query: t.Dict[str, t.Any] = {}
132
- if error_trace is not None:
133
- __query["error_trace"] = error_trace
134
- if filter_path is not None:
135
- __query["filter_path"] = filter_path
136
- if from_ is not None:
137
- __query["from"] = from_
138
- if human is not None:
139
- __query["human"] = human
140
- if pretty is not None:
141
- __query["pretty"] = pretty
142
- if size is not None:
143
- __query["size"] = size
144
- __headers = {"accept": "application/json"}
145
- return self.perform_request( # type: ignore[return-value]
146
- "GET",
147
- __path,
148
- params=__query,
149
- headers=__headers,
150
- endpoint_id="query_ruleset.list",
151
- path_parts=__path_parts,
152
- )
153
-
154
- @_rewrite_parameters(
155
- body_fields=("rules",),
156
- )
157
- def put(
158
- self,
159
- *,
160
- ruleset_id: str,
161
- rules: t.Optional[t.Sequence[t.Mapping[str, t.Any]]] = None,
162
- error_trace: t.Optional[bool] = None,
163
- filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
164
- human: t.Optional[bool] = None,
165
- pretty: t.Optional[bool] = None,
166
- body: t.Optional[t.Dict[str, t.Any]] = None,
167
- ) -> ObjectApiResponse[t.Any]:
168
- """
169
- Creates or updates a query ruleset.
170
-
171
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/put-query-ruleset.html>`_
172
-
173
- :param ruleset_id: The unique identifier of the query ruleset to be created or
174
- updated
175
- :param rules:
176
- """
177
- if ruleset_id in SKIP_IN_PATH:
178
- raise ValueError("Empty value passed for parameter 'ruleset_id'")
179
- if rules is None and body is None:
180
- raise ValueError("Empty value passed for parameter 'rules'")
181
- __path_parts: t.Dict[str, str] = {"ruleset_id": _quote(ruleset_id)}
182
- __path = f'/_query_rules/{__path_parts["ruleset_id"]}'
183
- __query: t.Dict[str, t.Any] = {}
184
- __body: t.Dict[str, t.Any] = body if body is not None else {}
185
- if error_trace is not None:
186
- __query["error_trace"] = error_trace
187
- if filter_path is not None:
188
- __query["filter_path"] = filter_path
189
- if human is not None:
190
- __query["human"] = human
191
- if pretty is not None:
192
- __query["pretty"] = pretty
193
- if not __body:
194
- if rules is not None:
195
- __body["rules"] = rules
196
- __headers = {"accept": "application/json", "content-type": "application/json"}
197
- return self.perform_request( # type: ignore[return-value]
198
- "PUT",
199
- __path,
200
- params=__query,
201
- headers=__headers,
202
- body=__body,
203
- endpoint_id="query_ruleset.put",
204
- path_parts=__path_parts,
205
- )
@@ -1,161 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: elasticsearch
3
- Version: 8.14.0
4
- Summary: Python client for Elasticsearch
5
- Home-page: https://github.com/elastic/elasticsearch-py
6
- Author: Elastic Client Library Maintainers
7
- Author-email: client-libs@elastic.co
8
- License: Apache-2.0
9
- Project-URL: Documentation, https://elasticsearch-py.readthedocs.io
10
- Project-URL: Source Code, https://github.com/elastic/elasticsearch-py
11
- Project-URL: Issue Tracker, https://github.com/elastic/elasticsearch-py/issues
12
- Classifier: Development Status :: 5 - Production/Stable
13
- Classifier: License :: OSI Approved :: Apache Software License
14
- Classifier: Intended Audience :: Developers
15
- Classifier: Operating System :: OS Independent
16
- Classifier: Programming Language :: Python
17
- Classifier: Programming Language :: Python :: 3
18
- Classifier: Programming Language :: Python :: 3.7
19
- Classifier: Programming Language :: Python :: 3.8
20
- Classifier: Programming Language :: Python :: 3.9
21
- Classifier: Programming Language :: Python :: 3.10
22
- Classifier: Programming Language :: Python :: 3.11
23
- Classifier: Programming Language :: Python :: 3.12
24
- Classifier: Programming Language :: Python :: Implementation :: CPython
25
- Classifier: Programming Language :: Python :: Implementation :: PyPy
26
- Requires-Python: >=3.7
27
- Description-Content-Type: text/x-rst
28
- License-File: LICENSE
29
- License-File: NOTICE
30
- Requires-Dist: elastic-transport <9,>=8.13
31
- Provides-Extra: async
32
- Requires-Dist: aiohttp <4,>=3 ; extra == 'async'
33
- Provides-Extra: orjson
34
- Requires-Dist: orjson >=3 ; extra == 'orjson'
35
- Provides-Extra: requests
36
- Requires-Dist: requests !=2.32.2,<3.0.0,>=2.4.0 ; extra == 'requests'
37
- Provides-Extra: vectorstore_mmr
38
- Requires-Dist: numpy >=1 ; extra == 'vectorstore_mmr'
39
- Requires-Dist: simsimd >=3 ; extra == 'vectorstore_mmr'
40
-
41
-
42
- Elasticsearch Python Client
43
- ===========================
44
-
45
- .. image:: https://img.shields.io/pypi/v/elasticsearch
46
- :target: https://pypi.org/project/elasticsearch
47
-
48
- .. image:: https://img.shields.io/conda/vn/conda-forge/elasticsearch?color=blue
49
- :target: https://anaconda.org/conda-forge/elasticsearch
50
-
51
- .. image:: https://static.pepy.tech/badge/elasticsearch
52
- :target: https://pepy.tech/project/elasticsearch?versions=*
53
-
54
- .. image:: https://badge.buildkite.com/68e22afcb2ea8f6dcc20834e3a5b5ab4431beee33d3bd751f3.svg
55
- :target: https://buildkite.com/elastic/elasticsearch-py-integration-tests
56
-
57
- .. image:: https://readthedocs.org/projects/elasticsearch-py/badge/?version=latest&style=flat
58
- :target: https://elasticsearch-py.readthedocs.io
59
-
60
- *The official Python client for Elasticsearch.*
61
-
62
-
63
- Features
64
- --------
65
-
66
- * Translating basic Python data types to and from JSON
67
- * Configurable automatic discovery of cluster nodes
68
- * Persistent connections
69
- * Load balancing (with pluggable selection strategy) across available nodes
70
- * Failed connection penalization (time based - failed connections won't be
71
- retried until a timeout is reached)
72
- * Support for TLS and HTTP authentication
73
- * Thread safety across requests
74
- * Pluggable architecture
75
- * Helper functions for idiomatically using APIs together
76
-
77
-
78
- Installation
79
- ------------
80
-
81
- `Download the latest version of Elasticsearch <https://www.elastic.co/downloads/elasticsearch>`_
82
- or
83
- `sign-up <https://cloud.elastic.co/registration?elektra=en-ess-sign-up-page>`_
84
- for a free trial of Elastic Cloud.
85
-
86
- Refer to the `Installation section <https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_installation>`_
87
- of the getting started documentation.
88
-
89
-
90
- Connecting
91
- ----------
92
-
93
- Refer to the `Connecting section <https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_connecting>`_
94
- of the getting started documentation.
95
-
96
-
97
- Usage
98
- -----
99
-
100
- * `Creating an index <https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_creating_an_index>`_
101
- * `Indexing a document <https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_indexing_documents>`_
102
- * `Getting documents <https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_getting_documents>`_
103
- * `Searching documents <https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_searching_documents>`_
104
- * `Updating documents <https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_updating_documents>`_
105
- * `Deleting documents <https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_deleting_documents>`_
106
- * `Deleting an index <https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/getting-started-python.html#_deleting_an_index>`_
107
-
108
-
109
- Compatibility
110
- -------------
111
-
112
- Language clients are forward compatible; meaning that the clients support
113
- communicating with greater or equal minor versions of Elasticsearch without
114
- breaking. It does not mean that the clients automatically support new features
115
- of newer Elasticsearch versions; it is only possible after a release of a new
116
- client version. For example, a 8.12 client version won't automatically support
117
- the new features of the 8.13 version of Elasticsearch, the 8.13 client version
118
- is required for that. Elasticsearch language clients are only backwards
119
- compatible with default distributions and without guarantees made.
120
-
121
- +-----------------------+-------------------------+-----------+
122
- | Elasticsearch version | elasticsearch-py branch | Supported |
123
- +=======================+=========================+===========+
124
- | main | main | |
125
- +-----------------------+-------------------------+-----------+
126
- | 8.x | 8.x | 8.x |
127
- +-----------------------+-------------------------+-----------+
128
- | 7.x | 7.x | 7.17 |
129
- +-----------------------+-------------------------+-----------+
130
-
131
- If you have a need to have multiple versions installed at the same time older
132
- versions are also released as ``elasticsearch7`` and ``elasticsearch8``.
133
-
134
-
135
- Documentation
136
- -------------
137
-
138
- Documentation for the client is `available on elastic.co`_ and `Read the Docs`_.
139
-
140
- .. _available on elastic.co: https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html
141
- .. _Read the Docs: https://elasticsearch-py.readthedocs.io
142
-
143
-
144
- Feedback 🗣️
145
- -----------
146
-
147
- The engineering team here at Elastic is looking for developers to participate in
148
- research and feedback sessions to learn more about how you use our Python client and
149
- what improvements we can make to their design and your workflow. If you're interested in
150
- sharing your insights into developer experience and language client design, please fill
151
- out this `short form`_. Depending on the number of responses we get, we may either
152
- contact you for a 1:1 conversation or a focus group with other developers who use the
153
- same client. Thank you in advance - your feedback is crucial to improving the user
154
- experience for all Elasticsearch developers!
155
-
156
- .. _short form: https://forms.gle/bYZwDQXijfhfwshn9
157
-
158
- License
159
- -------
160
-
161
- Copyright 2023 Elasticsearch B.V. Licensed under the Apache License, Version 2.0.