1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 # build-system 7 poetry-core, 8 9 # dependencies 10 azure-identity, 11 langchain-core, 12 langchain-openai, 13 14 # tests 15 freezegun, 16 lark, 17 pandas, 18 pytest-asyncio, 19 pytest-mock, 20 pytest-socket, 21 pytestCheckHook, 22 requests-mock, 23 responses, 24 syrupy, 25 toml, 26 27 # passthru 28 gitUpdater, 29}: 30 31buildPythonPackage rec { 32 pname = "langchain-azure-dynamic-sessions"; 33 version = "0.2.0"; 34 pyproject = true; 35 36 src = fetchFromGitHub { 37 owner = "langchain-ai"; 38 repo = "langchain"; 39 tag = "langchain-azure-dynamic-sessions==${version}"; 40 hash = "sha256-tgvoOSr4tpi+tFBan+kw8FZUfUJHcQXv9e1nyeGP0so="; 41 }; 42 43 sourceRoot = "${src.name}/libs/partners/azure-dynamic-sessions"; 44 45 build-system = [ poetry-core ]; 46 47 pythonRelaxDeps = [ 48 # Each component release requests the exact latest core. 49 # That prevents us from updating individual components. 50 "langchain-core" 51 ]; 52 53 dependencies = [ 54 azure-identity 55 langchain-core 56 langchain-openai 57 ]; 58 59 nativeCheckInputs = [ 60 freezegun 61 lark 62 pandas 63 pytest-asyncio 64 pytest-mock 65 pytest-socket 66 pytestCheckHook 67 requests-mock 68 responses 69 syrupy 70 toml 71 ]; 72 73 enabledTestPaths = [ "tests/unit_tests" ]; 74 75 pythonImportsCheck = [ "langchain_azure_dynamic_sessions" ]; 76 77 passthru = { 78 # python updater script sets the wrong tag 79 skipBulkUpdate = true; 80 updateScript = gitUpdater { 81 rev-prefix = "langchain-azure-dynamic-sessions=="; 82 }; 83 }; 84 85 meta = { 86 description = "Integration package connecting Azure Container Apps dynamic sessions and LangChain"; 87 homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/azure-dynamic-sessions"; 88 changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}"; 89 license = lib.licenses.mit; 90 maintainers = with lib.maintainers; [ 91 natsukium 92 sarahec 93 ]; 94 }; 95}