1{ aiohttp
2, botocore
3, buildPythonPackage
4, certifi
5, fetchFromGitHub
6, lib
7, mock
8, pytest-asyncio
9, pytestCheckHook
10, pyyaml
11, requests
12, urllib3
13}:
14
15buildPythonPackage rec {
16 pname = "opensearch-py";
17 version = "2.2.0";
18 format = "setuptools";
19
20 src = fetchFromGitHub {
21 owner = "opensearch-project";
22 repo = "opensearch-py";
23 rev = "refs/tags/v${version}";
24 hash = "sha256-dMVwr0ghTH4Dm2HnfDHb0r/T3COcekeIjT4BBcmGLsc=";
25 };
26
27 propagatedBuildInputs = [
28 botocore
29 certifi
30 requests
31 urllib3
32 ];
33
34 nativeCheckInputs = [
35 mock
36 pytest-asyncio
37 pytestCheckHook
38 pyyaml
39 ] ++ passthru.optional-dependencies.async;
40
41 disabledTestPaths = [
42 # require network
43 "test_opensearchpy/test_async/test_connection.py"
44 "test_opensearchpy/test_async/test_server"
45 "test_opensearchpy/test_connection.py"
46 "test_opensearchpy/test_server"
47 "test_opensearchpy/test_server_secured"
48 ];
49
50 passthru.optional-dependencies.async = [ aiohttp ];
51
52 meta = {
53 description = "Python low-level client for OpenSearch";
54 homepage = "https://github.com/opensearch-project/opensearch-py";
55 changelog = "https://github.com/opensearch-project/opensearch-py/releases/tag/v${version}";
56 license = lib.licenses.asl20;
57 maintainers = with lib.maintainers; [ mcwitt ];
58 };
59}