diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index 92b12ed3c164..7ea5303f1e6e 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -46,6 +46,7 @@ , google-api-python-client , pypdf , networkx +, pgvector , psycopg2 , boto3 , pyowm @@ -196,7 +197,7 @@ buildPythonPackage rec { # nomic # aleph-alpha-client # deeplake - # pgvector + pgvector psycopg2 boto3 pyowm diff --git a/pkgs/development/python-modules/pgvector/default.nix b/pkgs/development/python-modules/pgvector/default.nix new file mode 100644 index 000000000000..9713669f159c --- /dev/null +++ b/pkgs/development/python-modules/pgvector/default.nix @@ -0,0 +1,62 @@ +{ lib +, asyncpg +, buildPythonPackage +, django +, fetchFromGitHub +, numpy +, postgresql +, postgresqlTestHook +, psycopg +, psycopg2 +, pytest-asyncio +, pytestCheckHook +, pythonOlder +, sqlalchemy +}: + +buildPythonPackage rec { + pname = "pgvector"; + version = "0.1.8"; + format = "setuptools"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "pgvector"; + repo = "pgvector-python"; + rev = "refs/tags/v${version}"; + hash = "sha256-+0daPPZGVkqfZw0gOZwIl+knL/zZki9fs5kA3dYqPpE="; + }; + + propagatedBuildInputs = [ + numpy + ]; + + nativeCheckInputs = [ + asyncpg + django + (postgresql.withPackages (p: with p; [ pgvector ])) + postgresqlTestHook + psycopg + psycopg2 + pytest-asyncio + pytestCheckHook + sqlalchemy + ]; + + env = { + PGDATABASE = "pgvector_python_test"; + postgresqlEnableTCP = 1; + postgresqlTestUserOptions = "LOGIN SUPERUSER"; + }; + + pythonImportsCheck = [ "pgvector" ]; + + meta = with lib; { + description = "Pgvector support for Python"; + homepage = "https://github.com/pgvector/pgvector-python"; + changelog = "https://github.com/pgvector/pgvector-python/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ natsukium ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 37ac3879d6b9..f05df7b87b36 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7628,6 +7628,8 @@ self: super: with self; { pgspecial = callPackage ../development/python-modules/pgspecial { }; + pgvector = callPackage ../development/python-modules/pgvector { }; + phe = callPackage ../development/python-modules/phe { }; phik = callPackage ../development/python-modules/phik { };