1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 chromadb,
6 langchain-core,
7 numpy,
8 poetry-core,
9 pytestCheckHook,
10 nix-update-script,
11}:
12
13buildPythonPackage rec {
14 pname = "langchain-chroma";
15 version = "0.1.2";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "langchain-ai";
20 repo = "langchain";
21 rev = "refs/tags/langchain-chroma==${version}";
22 hash = "sha256-PQ3bepiAqzWhQdKofQSzQKxRrwI6dxBfSNV91462aJE=";
23 };
24
25 sourceRoot = "${src.name}/libs/partners/chroma";
26
27 build-system = [ poetry-core ];
28
29 dependencies = [
30 langchain-core
31 chromadb
32 numpy
33 ];
34
35 pythonImportsCheck = [ "langchain_chroma" ];
36
37 nativeCheckInputs = [ pytestCheckHook ];
38
39 passthru.updateScript = nix-update-script {
40 extraArgs = [
41 "--version-regex"
42 "langchain-chroma==(.*)"
43 ];
44 };
45
46 meta = {
47 changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-chroma==${version}";
48 description = "Integration package connecting Chroma and LangChain";
49 homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/chroma";
50 license = lib.licenses.mit;
51 maintainers = with lib.maintainers; [ natsukium ];
52 };
53}