diff options
author | Alyssa Ross <hi@alyssa.is> | 2024-03-01 11:40:12 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2024-03-01 11:40:12 +0100 |
commit | bf6d657e5dbcb5e39fda280ef7e86b2a7794ca86 (patch) | |
tree | 8eb035cbab19794f6415cc460fac7226f7a58afc /nixpkgs/pkgs/development/python-modules/chromadb | |
parent | 66f707d69f1e423db5a35c2fe43b32781125a9af (diff) | |
parent | 09c1497ce5d4ed4a0edfdd44450d3048074cb300 (diff) | |
download | nixlib-bf6d657e5dbcb5e39fda280ef7e86b2a7794ca86.tar nixlib-bf6d657e5dbcb5e39fda280ef7e86b2a7794ca86.tar.gz nixlib-bf6d657e5dbcb5e39fda280ef7e86b2a7794ca86.tar.bz2 nixlib-bf6d657e5dbcb5e39fda280ef7e86b2a7794ca86.tar.lz nixlib-bf6d657e5dbcb5e39fda280ef7e86b2a7794ca86.tar.xz nixlib-bf6d657e5dbcb5e39fda280ef7e86b2a7794ca86.tar.zst nixlib-bf6d657e5dbcb5e39fda280ef7e86b2a7794ca86.zip |
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/chromadb')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/chromadb/default.nix | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/chromadb/default.nix b/nixpkgs/pkgs/development/python-modules/chromadb/default.nix new file mode 100644 index 000000000000..0cc5484332df --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/chromadb/default.nix @@ -0,0 +1,160 @@ +{ lib +, stdenv +, bcrypt +, build +, buildPythonPackage +, cargo +, chroma-hnswlib +, darwin +, fastapi +, fetchFromGitHub +, grpcio +, hypothesis +, importlib-resources +, kubernetes +, mmh3 +, numpy +, onnxruntime +, openssl +, opentelemetry-api +, opentelemetry-exporter-otlp-proto-grpc +, opentelemetry-instrumentation-fastapi +, opentelemetry-sdk +, orjson +, overrides +, pkg-config +, posthog +, protobuf +, pulsar-client +, pydantic +, pypika +, pytest-asyncio +, pytestCheckHook +, pythonOlder +, pythonRelaxDepsHook +, pyyaml +, requests +, rustc +, rustPlatform +, setuptools +, setuptools-scm +, tenacity +, tokenizers +, tqdm +, typer +, typing-extensions +, uvicorn +, zstd +}: + +buildPythonPackage rec { + pname = "chromadb"; + version = "0.4.23"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "chroma-core"; + repo = "chroma"; + rev = "refs/tags/${version}"; + hash = "sha256-5gI+FE2jx4G/qahATLcYsONfPZZkk1RFFYK5nrpE0Ug="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-glItbT8gg5SAySnfx3A9TaPyFmd1R46JpAB1JnjBE5M="; + }; + + pythonRelaxDeps = [ + "orjson" + ]; + + nativeBuildInputs = [ + cargo + pkg-config + protobuf + pythonRelaxDepsHook + rustc + rustPlatform.cargoSetupHook + setuptools + setuptools-scm + ]; + + buildInputs = [ + openssl + zstd + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + propagatedBuildInputs = [ + bcrypt + build + chroma-hnswlib + fastapi + grpcio + importlib-resources + kubernetes + mmh3 + numpy + onnxruntime + opentelemetry-api + opentelemetry-exporter-otlp-proto-grpc + opentelemetry-instrumentation-fastapi + opentelemetry-sdk + orjson + overrides + posthog + pulsar-client + pydantic + pypika + pyyaml + requests + tenacity + tokenizers + tqdm + typer + typing-extensions + uvicorn + ]; + + nativeCheckInputs = [ + hypothesis + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ + "chromadb" + ]; + + env = { + ZSTD_SYS_USE_PKG_CONFIG = true; + }; + + pytestFlagsArray = [ "-x" ]; + + preCheck = '' + export HOME=$(mktemp -d) + ''; + + disabledTestPaths = [ + # Tests require network access + "chromadb/test/property/test_cross_version_persist.py" + "chromadb/test/auth/test_simple_rbac_authz.py" + "chromadb/test/ef/test_default_ef.py" + "chromadb/test/test_api.py" + "chromadb/test/property/" + "chromadb/test/stress/" + ]; + + meta = with lib; { + description = "The AI-native open-source embedding database"; + homepage = "https://github.com/chroma-core/chroma"; + changelog = "https://github.com/chroma-core/chroma/releases/tag/${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} |