1{ 2 lib, 3 buildPythonPackage, 4 fastembed, 5 fetchFromGitHub, 6 grpcio, 7 grpcio-tools, 8 httpx, 9 numpy, 10 poetry-core, 11 portalocker, 12 pydantic, 13 pytest-asyncio, 14 pytestCheckHook, 15 pythonOlder, 16 urllib3, 17}: 18 19buildPythonPackage rec { 20 pname = "qdrant-client"; 21 version = "1.15.1"; 22 pyproject = true; 23 24 disabled = pythonOlder "3.7"; 25 26 src = fetchFromGitHub { 27 owner = "qdrant"; 28 repo = "qdrant-client"; 29 tag = "v${version}"; 30 hash = "sha256-tZu6NeoStPwZ1f+AlVws8iS3UwpKikxE6Es7WKlFQfw="; 31 }; 32 33 build-system = [ poetry-core ]; 34 35 pythonRelaxDeps = [ 36 "portalocker" 37 ]; 38 39 dependencies = [ 40 grpcio 41 grpcio-tools 42 httpx 43 numpy 44 portalocker 45 pydantic 46 urllib3 47 ] 48 ++ httpx.optional-dependencies.http2; 49 50 pythonImportsCheck = [ "qdrant_client" ]; 51 52 nativeCheckInputs = [ 53 pytestCheckHook 54 pytest-asyncio 55 ]; 56 57 # Tests require network access 58 doCheck = false; 59 60 optional-dependencies = { 61 fastembed = [ fastembed ]; 62 }; 63 64 meta = with lib; { 65 description = "Python client for Qdrant vector search engine"; 66 homepage = "https://github.com/qdrant/qdrant-client"; 67 changelog = "https://github.com/qdrant/qdrant-client/releases/tag/${src.tag}"; 68 license = licenses.mit; 69 maintainers = with maintainers; [ happysalada ]; 70 }; 71}