Commit Graph
65 Commits
Author SHA1 Message Date
DJ CarrilloandGitHub db61b5943b Added fix for key error because of missing 'hits' key. (#616)
Updated CHANGELOG.md.



nox formatting applied.



Added new unit test for actions scan function.



Added type hints & nox formatting.



Added fix to async scan function & added matching unit tests for async.

Signed-off-by: Djcarrillo6 <[email protected]>
2023-12-04 09:26:25 -05:00
Samuel OrjiandGitHub 6f26eb3e8e remove unnecessary utf-8 header in .py files (#615)
* remove unnecessary utf-8 header in .py files

Signed-off-by: samuel orji <[email protected]>

* review feedback: add link to changelog

Signed-off-by: samuel orji <[email protected]>

---------

Signed-off-by: samuel orji <[email protected]>
2023-11-24 16:19:50 -05:00
Daniel (dB.) DoubrovkineandGitHub e92eac2c82 Enabled pylint:pointless-statement. (#611)
Signed-off-by: dblock <[email protected]>
2023-11-21 12:55:24 -08:00
Daniel (dB.) DoubrovkineandGitHub 1801ada270 Added pylint, enforce naming. (#590)
* Added pylint.

Signed-off-by: dblock <[email protected]>

* Enforce pylint:invalid-name.

Signed-off-by: dblock <[email protected]>

* Updated the generated code header to prevent broken links.

Signed-off-by: dblock <[email protected]>

* Swapped order of messages.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-11-21 10:04:39 -08:00
Daniel (dB.) DoubrovkineandGitHub 103bc89486 Fixes a suspicious setattr that should be taking an Any (#604)
* Fix invalid value type.

Signed-off-by: dblock <[email protected]>

* Workaround Incompatible types in assignment (expression has type float, variable has type Double)  [assignment]

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-11-17 16:54:54 -05:00
Daniel (dB.) DoubrovkineandGitHub 7509a15ef3 Fix Amazon OpenSearch Serverless integration with LangChain. (#603)
Signed-off-by: dblock <[email protected]>
2023-11-17 16:09:19 -05:00
Daniel (dB.) DoubrovkineandGitHub c66e1e37be Fix: TypeError on calling parallel_bulk. (#601)
* Fix: TypeError on calling parallel_bulk.

Signed-off-by: dblock <[email protected]>

* Added a sample that uses a bulk function generator.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-11-17 10:18:42 -08:00
Daniel (dB.) DoubrovkineandGitHub e68b9e762d Added client-level REST helpers. (#544)
* Added client-level REST helpers.

Signed-off-by: dblock <[email protected]>

* Move functions into an .http namespace.

Signed-off-by: dblock <[email protected]>

* Poetry update in samples.

Signed-off-by: dblock <[email protected]>

* Fix: typo.

Signed-off-by: dblock <[email protected]>

* Clarified what to use in which older versions.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-11-13 12:52:13 -08:00
Daniel (dB.) DoubrovkineandGitHub f02d6dee27 Avoid decoding request body unless it needs to be logged. (#571)
Signed-off-by: dblock <[email protected]>
Signed-off-by: Daniel (dB.) Doubrovkine <[email protected]>
2023-11-12 11:42:45 -08:00
Daniel (dB.) DoubrovkineandGitHub e079c00b48 Remove support for local client in testing. (#573)
Signed-off-by: dblock <[email protected]>
2023-11-12 08:35:06 -08:00
Daniel (dB.) DoubrovkineandGitHub f1d02376e4 Fix: assert deprecation. (#572)
Signed-off-by: dblock <[email protected]>
2023-11-10 10:26:10 -08:00
Daniel (dB.) DoubrovkineandGitHub 55d0e0d7ba Fix asyncio warnings/markers. (#574)
* Fix asyncio warnings/markers.

Signed-off-by: dblock <[email protected]>

* Allow some flexibility in codecov.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-11-10 10:20:26 -08:00
Daniel (dB.) DoubrovkineandGitHub 58b83d8c06 Added Windows CI. (#569)
Signed-off-by: dblock <[email protected]>
2023-11-09 17:41:37 -08:00
Daniel (dB.) DoubrovkineandGitHub 56c96d7c4f Expanded type coverage to benchmarks, samples and tests. (#566)
* Renamed json samples to fix duplicate module name.

Signed-off-by: dblock <[email protected]>

* Enabled mypy on all source files.

Signed-off-by: dblock <[email protected]>

* Added missing types.

Signed-off-by: dblock <[email protected]>

* Added CHANGELOG.

Signed-off-by: dblock <[email protected]>

* Move type: ignore to fix untyped decorator makes function untyped.

Signed-off-by: dblock <[email protected]>

* Fix nox -rs lint-3.7.

Signed-off-by: dblock <[email protected]>

* Fixed incorrect import.

Signed-off-by: dblock <[email protected]>

* Fix broken test.

Signed-off-by: dblock <[email protected]>

* Fixed TestBulk::test_bulk_works_with_bytestring_body.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-11-09 10:51:20 -05:00
Daniel (dB.) DoubrovkineandGitHub dcb79cc322 Merge .pyi type stubs inline (#563)
* Merged types into .py code.

Signed-off-by: dblock <[email protected]>

* Fix: nox -rs generate.

Signed-off-by: dblock <[email protected]>

* Updated CHANGELOG.

Signed-off-by: dblock <[email protected]>

* Use lowest common python version for lint.

Signed-off-by: dblock <[email protected]>

* Fix: don't typeshed.

Signed-off-by: dblock <[email protected]>

* Removed unneeded comment.

Signed-off-by: dblock <[email protected]>

* Simplify OPENSEARCH_URL.

Signed-off-by: dblock <[email protected]>

* Fix: positional ignore_status used as chunk_size.

Signed-off-by: dblock <[email protected]>

* Fix: parse version string.

Signed-off-by: dblock <[email protected]>

* Remove future annotations for Python 3.6.

Signed-off-by: dblock <[email protected]>

* Fix: types in documentation.

Signed-off-by: dblock <[email protected]>

* Improve CHANGELOG text.

Signed-off-by: dblock <[email protected]>

* Re-added missing separator.

Signed-off-by: dblock <[email protected]>

* Remove duplicate licenses.

Signed-off-by: dblock <[email protected]>

* Get rid of Optional[Any].

Signed-off-by: dblock <[email protected]>

* Fix docs with AsyncOpenSearch.

Signed-off-by: dblock <[email protected]>

* Fix: undo comment.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-11-06 10:08:19 -08:00
Daniel (dB.) DoubrovkineandGitHub bcfef113c4 Added samples, benchmarks and docs for nox format. (#556)
* Added samples for nox format.

Signed-off-by: dblock <[email protected]>

* Added space after #!/usr/bin/env python.

Signed-off-by: dblock <[email protected]>

* Added benchmarks and docs.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-10-26 19:55:50 -07:00
Daniel (dB.) DoubrovkineandGitHub 0da60b2623 Added a utf-8 header to all .py files (#557)
Signed-off-by: dblock <[email protected]>
2023-10-26 13:34:34 -04:00
Daniel (dB.) DoubrovkineandGitHub 5c7fe9dbde Fix: don't hardcode client class name. (#555)
Signed-off-by: dblock <[email protected]>
2023-10-26 09:30:23 -07:00
Sai Medhini Reddy MaryadaandGitHub fe4b6d754c added remote store client (#552)
Signed-off-by: saimedhi <[email protected]>
2023-10-26 10:59:07 -04:00
Daniel (dB.) DoubrovkineandGitHub 59072a67b8 Remove PY2. (#550)
Signed-off-by: dblock <[email protected]>
2023-10-25 08:41:50 -04:00
Daniel (dB.) DoubrovkineandGitHub 627e717534 Remove support for Python 2.x. (#548)
Signed-off-by: dblock <[email protected]>
2023-10-24 07:57:21 -07:00
Daniel (dB.) DoubrovkineandGitHub a1f942b6f9 Added support for AWS Sigv4 for UrlLib3. (#547)
* WIP: Added support for AWS Sigv4 for UrlLib3.

Signed-off-by: dblock <[email protected]>

* Refactored common implementation.

Signed-off-by: dblock <[email protected]>

* Added sigv4 samples.

Signed-off-by: dblock <[email protected]>

* Updated CHANGELOG.

Signed-off-by: dblock <[email protected]>

* Add documentation.

Signed-off-by: dblock <[email protected]>

* Use the correct class in tests.

Signed-off-by: dblock <[email protected]>

* Renamed samples.

Signed-off-by: dblock <[email protected]>

* Split up requests and urllib3 unit tests.

Signed-off-by: dblock <[email protected]>

* Rename AWSV4Signer.

Signed-off-by: dblock <[email protected]>

* Clarified documentation of when to use Urllib3AWSV4SignerAuth vs. RequestHttpConnection.

Signed-off-by: dblock <[email protected]>

* Move fetch_url inside the signer class.

Signed-off-by: dblock <[email protected]>

* Added unit test for Urllib3AWSV4SignerAuth adding headers.

Signed-off-by: dblock <[email protected]>

* Added unit test for signing to include query string.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-10-23 19:46:19 -04:00
Daniel (dB.) DoubrovkineandGitHub 7a638cdafc Align pool_maxsize for different connection pool implementations. (#535)
* Align pool_maxsize for different connection pool implementations.

Signed-off-by: dblock <[email protected]>

* Document connection classes and settings.

Signed-off-by: dblock <[email protected]>

* Undo change in async for backwards compatibility.

Signed-off-by: dblock <[email protected]>

* Fix: typo.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-10-12 18:55:31 -04:00
Daniel (dB.) DoubrovkineandGitHub 2bfc409177 Fix: typos. (#526)
* Fix: typo.

Signed-off-by: dblock <[email protected]>

* Fix: typo.

Signed-off-by: dblock <[email protected]>

* Fixed its.

Signed-off-by: dblock <[email protected]>

* Added Visual Code settings to .gitignore.

Signed-off-by: dblock <[email protected]>

* Added loop type for async client.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-10-09 10:45:18 -07:00
Sai Medhini Reddy MaryadaandGitHub c6c7df5461 Updated APIs to match other clients and opensearch openapi spec (#502)
Signed-off-by: saimedhi <[email protected]>
2023-09-26 12:46:18 -04:00
Logan AttwoodandGitHub fca8bd3d0e Fix race condition in AWS request signers (#470)
* Fix race condition in AWS request signers

Signed-off-by: Logan Attwood <[email protected]>

* Conditionally expose get_frozen_credentials on mock_session

Signed-off-by: Logan Attwood <[email protected]>

* Use inheritance to make tests cleaner

Signed-off-by: Logan Attwood <[email protected]>

---------

Signed-off-by: Logan Attwood <[email protected]>
2023-08-10 13:32:53 -04:00
Sai Medhini Reddy MaryadaandGitHub caeaa13250 Updated Security Client APIs (#450)
Signed-off-by: saimedhi <[email protected]>
2023-07-26 18:38:49 -04:00
87b402c16e Finish up #305, tests for AsyncTransport (#452)
* fix multihost connection of AsyncTransport for AIOHttpConnection as connection_class & ConnectionPool as connection_pool_class parameters with compatability legacy test cases

Signed-off-by: ARashitov <[email protected]>

* adding test cases for checking multihost connection pool init with specified connection_class object

Signed-off-by: ARashitov <[email protected]>

* remove introduced updates

Signed-off-by: ARashitov <[email protected]>

* fix test cases by adding _async_init() call to init the actual hosts

Signed-off-by: ARashitov <[email protected]>

* remove unneeded imports

Signed-off-by: ARashitov <[email protected]>

* fix test cases of multi hosts connection pool init & adding documentation

Signed-off-by: ARashitov <[email protected]>

* Addressed comments in #305.

Signed-off-by: dblock <[email protected]>

* Renamed file for consistency.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: ARashitov <[email protected]>
Signed-off-by: dblock <[email protected]>
Co-authored-by: ARashitov <[email protected]>
2023-07-26 10:45:52 -07:00
Daniel (dB.) DoubrovkineandGitHub e022932ed1 Add the ability to run test patterns. (#454)
Signed-off-by: dblock <[email protected]>
2023-07-26 10:18:45 -07:00
florianvazelleandGitHub 5866880c81 Add async tests for plugins (#425)
* test(plugins): add async tests for plugins

Signed-off-by: florian <[email protected]>

* chore(USER_GUIDE): remove **

Signed-off-by: florian <[email protected]>

* test(async): remove the event loop session scoped fixture

Signed-off-by: florian <[email protected]>

---------

Signed-off-by: florian <[email protected]>
2023-07-24 09:56:32 -04:00
Sai Medhini Reddy MaryadaandGitHub 5fa6d994bd Added support for latest OpenSearch versions 2.7.0, 2.8.0 (#445)
Signed-off-by: saimedhi <[email protected]>
2023-07-21 13:08:09 -04:00
Michael OliverandGitHub 4dba35deea Allow passing trust_env to aiohttp.ClientSession (#438)
Fixes #368

Signed-off-by: Michael Oliver <[email protected]>
2023-07-19 09:02:04 -04:00
12ebe82cba Fix string/tuple/no auth on AsyncHttpConnection class (#424)
* Fix string/tuple/no auth on AsyncHttpConnection class. Fixes #283

Signed-off-by: dannosaur <[email protected]>

* Update for PR comments. Add tests.

Signed-off-by: dannosaur <[email protected]>

* Moving tests to its own file.

Also had to install asynctest into the dev-requirements to get access to the context managers necessary to mock out aiohttp.

Signed-off-by: dannosaur <[email protected]>

* Update CHANGELOG

Signed-off-by: dannosaur <[email protected]>

* Linter fixes. Add license text to new file.

Signed-off-by: dannosaur <[email protected]>

* Move AsyncContextManagerMock to utils package for future re-use

Signed-off-by: dannosaur <[email protected]>

* Lint

Signed-off-by: dannosaur <[email protected]>

* Refactor async tests - remove asynctest package

Signed-off-by: dannosaur <[email protected]>

* Switch out to using aiounittest for async testing prior to py3.8

Signed-off-by: dannosaur <[email protected]>

* Use RequestContextManager from opensearchpy._asycn._extra_imports

Signed-off-by: dannosaur <[email protected]>

* Simplify test somewhat, move to `test_async` since all other async tests are ignored on runners <3.6

Signed-off-by: dannosaur <[email protected]>

* Lint

Signed-off-by: dannosaur <[email protected]>

---------

Signed-off-by: dannosaur <[email protected]>
Signed-off-by: Daniel (dB.) Doubrovkine <[email protected]>
Co-authored-by: Daniel (dB.) Doubrovkine <[email protected]>
2023-07-06 18:01:52 -04:00
florianvazelleandGitHub 2e8d5ce1a5 Index State Management support (#398)
* feat(plugins): add index management client plugin

Signed-off-by: florian <[email protected]>

* chore(CHANGELOG): added entry for ISM api support in changelog

Signed-off-by: florian <[email protected]>

* test(plugins): use assertEqual to compare call parameters

Signed-off-by: florian <[email protected]>

* test(plugins): edit policy to support older versions of opensearch

Signed-off-by: florian <[email protected]>

* test(plugins): ignore plugin tests when opensearch is unreleased

Signed-off-by: florian <[email protected]>

* test(plugins): move plugin tests into separate files

Signed-off-by: florian <[email protected]>

* test(plugins): fix import of OpenSearchTestCase

Signed-off-by: florian <[email protected]>

* chore(USER_GUIDE): add a index management plugin part

Signed-off-by: florian <[email protected]>

---------

Signed-off-by: florian <[email protected]>
2023-06-28 16:56:00 -04:00
florianvazelleandGitHub c60c259d96 Security plugin support (#399)
* feat(plugins): add security client plugin

Signed-off-by: florian <[email protected]>

* test(plugins): skip security plugin tests when disabled

Signed-off-by: florian <[email protected]>

* fix(security): remove non-ASCII character

Signed-off-by: florian <[email protected]>

* chore(CHANGELOG): added entry for security api support in changelog

Signed-off-by: florian <[email protected]>

* test(plugins): add asynchronous tests version

Signed-off-by: florian <[email protected]>

* test: remove some warnings

Signed-off-by: florian <[email protected]>

* chore(USER_GUIDE): add a security plugin part

Signed-off-by: florian <[email protected]>

* test(security): Split out security plugin tests in its own file

Signed-off-by: florian <[email protected]>

* chore: apply reviews

Signed-off-by: florian <[email protected]>

---------

Signed-off-by: florian <[email protected]>
2023-06-27 11:01:40 -04:00
db972e615b feat: Add a collapse method to opensearchpy.helpers.search.Search (#409)
Signed-off-by: Quentin Coumes <[email protected]>
Signed-off-by: Daniel (dB.) Doubrovkine <[email protected]>
Co-authored-by: Daniel (dB.) Doubrovkine <[email protected]>
2023-06-26 19:19:15 -04:00
Sai Medhini Reddy MaryadaandGitHub e5789c7b52 Enhanced the Yaml test runner to utilize the rest-api-spec YAML tests from OpenSearch repo as the input source (#414)
Signed-off-by: saimedhi <[email protected]>
2023-06-26 19:07:06 -04:00
Sai Medhini Reddy MaryadaandGitHub f1b5706ebd Added 'allow_redirects' parameter in perform_request function for RequestsHttpConnection (#401)
Signed-off-by: saimedhi <[email protected]>
2023-06-13 15:15:00 -04:00
Charles GreerandGitHub fe3b5a8922 [#387] Do not escape the "timeout" parameter. (#394)
* [#387] Do not escape the "timeout" parameter.

When the "timeout" parameter is escaped and turned into
a string, it does not pass validation checks.
This PR ensures that timeout is passed through as-is,
just like "request_timeout".
There's no explicit test for this parameter, but I included
it on some existing tests just to ensure that the code
is exercised.  Without the fix in place, one of the tests as modified will not pass.

Signed-off-by: Charles Greer <[email protected]>

* Unit test for timeout parameter

Revert original test modifications.

Signed-off-by: Charles Greer <[email protected]>

* Extend test and linter

Signed-off-by: Charles Greer <[email protected]>

---------

Signed-off-by: Charles Greer <[email protected]>
2023-05-23 18:12:29 -04:00
Sai Medhini Reddy MaryadaandGitHub 0395798d2b Fixed flaky CI tests by replacing httpbin with a simple http_server (#395)
Signed-off-by: saimedhi <[email protected]>
2023-05-23 18:07:47 -04:00
gg-kialoandGitHub 707373e369 Include parsed error info in TransportError in async connections (#226)
Passing the Content-Type to `_raise_errors` will cause the json body to
be parsed and included in the `TransportError`.

This matches the behaviour of the sync client.

Fixes #225

Signed-off-by: Gordon Govan <[email protected]>
2023-05-09 15:16:03 -04:00
Daniyar AuezkhanandGitHub 03b72c3c92 fix: added codecov to ci and made linter happy :) (#335)
Signed-off-by: bl1nkker <[email protected]>
2023-04-03 18:20:21 -07:00
Sai Medhini Reddy MaryadaandGitHub 2b9aee73a5 Added async support for helpers that are merged from opensearch-dsl-py (#329)
Signed-off-by: saimedhi <[email protected]>
2023-03-17 12:03:46 -07:00
aiudirogandGitHub 49ae7c76e0 Fix async helpers import cycle (#311)
* Import async helpers through public interface in tests

Signed-off-by: Roger Aiudi <[email protected]>

* Removed unused import of AsyncOpenSearch in async helpers that was causing an import cycle (fixes #310)

Signed-off-by: Roger Aiudi <[email protected]>

* Update CHANGELOG.md

Signed-off-by: Roger Aiudi <[email protected]>

* Change 2.2.1 in the changelog to Unreleased

Signed-off-by: Roger Aiudi <[email protected]>

* Separated changelog entries for 2.2.0 from 2.1.1

Signed-off-by: Roger Aiudi <[email protected]>

---------

Signed-off-by: Roger Aiudi <[email protected]>
2023-03-08 15:05:06 -05:00
Sai Medhini Reddy MaryadaandGitHub c58375aa7b Merging opensearch-dsl-py to opensearch-py (#287)
Signed-off-by: saimedhi <[email protected]>
2023-02-14 15:03:56 -08:00
Sai Medhini Reddy MaryadaandGitHub 93636399ec Removed 'out/opensearchpy' folder which was produced while generating pyi files for plugins (#288)
Signed-off-by: saimedhi <[email protected]>
2023-02-14 11:09:14 -08:00
Theo Nam TruongandGitHub 58aa041db3 Fixed Sigv4 Signing for Managed Service (#279)
Fixed SigV4 Signing for Async Requests with QueryStrings

Signed-off-by: Theo Truong <[email protected]>

Signed-off-by: Theo Truong <[email protected]>
2023-01-23 18:38:31 -08:00
Sai Medhini Reddy MaryadaandGitHub 176c78c58e Updated CI tests to make them work locally (#275)
Signed-off-by: saimedhi <[email protected]>

Signed-off-by: saimedhi <[email protected]>
2023-01-19 15:20:19 -08:00
Harsha Vamsi KalluriandGitHub 5c1c890f69 Abstract away service name (#268)
* Abstract away service name

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Compuute x-amz-content-256 header

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Fix async signing

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Adds types-six to dependencies

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Optionally remove Content-Length

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Fix dict typo

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Remove requirement for x-amz-content-sha256 header

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Remove deletion of content-length

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Fix capitalization

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Adding unit tests

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>
2023-01-18 18:06:59 -05:00
Harsha Vamsi KalluriandGitHub cfb2cf7b60 Adding async support for AWSSigV4 (#254)
* Adding async support for AWSSigV4

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Fix names for connection classes

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Update tests to async name space

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Add import exceptions to python < 3.6

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>
2023-01-02 17:25:48 -05:00