1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 poetry-core,
8
9 # dependencies
10 boto3,
11 langchain-core,
12 numpy,
13
14 # tests
15 langchain-standard-tests,
16 pytest-asyncio,
17 pytestCheckHook,
18}:
19
20buildPythonPackage rec {
21 pname = "langchain-aws";
22 version = "0.2.1";
23 pyproject = true;
24
25 src = fetchFromGitHub {
26 owner = "langchain-ai";
27 repo = "langchain-aws";
28 rev = "refs/tags/v${version}";
29 hash = "sha256-LHhyEkgu1sjOk4E4WMy4vYGyikqdVD3WvRPjoAP1CfA=";
30 };
31
32 postPatch = ''
33 substituteInPlace pyproject.toml \
34 --replace-fail "--snapshot-warn-unused" "" \
35 --replace-fail "--cov=langchain_aws" ""
36 '';
37
38 sourceRoot = "${src.name}/libs/aws";
39
40 build-system = [ poetry-core ];
41
42 dependencies = [
43 boto3
44 langchain-core
45 numpy
46 ];
47
48 pythonRelaxDeps = [
49 # Boto @ 1.35 has outstripped the version requirement
50 "boto3"
51 ];
52
53 nativeCheckInputs = [
54 langchain-standard-tests
55 pytest-asyncio
56 pytestCheckHook
57 ];
58
59 pytestFlagsArray = [ "tests/unit_tests" ];
60
61 pythonImportsCheck = [ "langchain_aws" ];
62
63 passthru = {
64 inherit (langchain-core) updateScript;
65 };
66
67 meta = {
68 changelog = "https://github.com/langchain-ai/langchain-aws/releases/tag/v${version}";
69 description = "Build LangChain application on AWS";
70 homepage = "https://github.com/langchain-ai/langchain-aws/";
71 license = lib.licenses.mit;
72 maintainers = with lib.maintainers; [
73 drupol
74 natsukium
75 ];
76 };
77}