Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 91 lines 1.7 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 # build-system 7 setuptools, 8 9 # dependencies 10 numpy, 11 12 # tests 13 asyncpg, 14 django, 15 peewee, 16 pg8000, 17 postgresql, 18 postgresqlTestHook, 19 psycopg-pool, 20 psycopg, 21 psycopg2, 22 pytest-asyncio, 23 pytestCheckHook, 24 scipy, 25 sqlalchemy, 26 sqlmodel, 27}: 28 29buildPythonPackage rec { 30 pname = "pgvector"; 31 version = "0.4.1"; 32 pyproject = true; 33 34 src = fetchFromGitHub { 35 owner = "pgvector"; 36 repo = "pgvector-python"; 37 tag = "v${version}"; 38 hash = "sha256-QbNzEQctKgxdH1cpMmf2Yg05Q3KOT9tGtK4YSr9GiC4="; 39 }; 40 41 build-system = [ setuptools ]; 42 43 dependencies = [ numpy ]; 44 45 # Temporarily disabled until the following is solved: 46 # https://github.com/NixOS/nixpkgs/pull/425384 47 doCheck = false; 48 49 nativeCheckInputs = [ 50 asyncpg 51 django 52 peewee 53 pg8000 54 psycopg 55 psycopg.pool 56 psycopg2 57 psycopg-pool 58 (postgresql.withPackages (p: with p; [ pgvector ])) 59 postgresqlTestHook 60 pytest-asyncio 61 pytestCheckHook 62 scipy 63 sqlalchemy 64 sqlmodel 65 ]; 66 67 env = { 68 PGDATABASE = "pgvector_python_test"; 69 postgresqlEnableTCP = 1; 70 postgresqlTestUserOptions = "LOGIN SUPERUSER"; 71 USER = "test_user"; 72 }; 73 74 disabledTestPaths = [ 75 # DB error 76 "tests/test_pg8000.py" 77 "tests/test_sqlalchemy.py" 78 ]; 79 80 pythonImportsCheck = [ "pgvector" ]; 81 82 __darwinAllowLocalNetworking = true; 83 84 meta = { 85 description = "Pgvector support for Python"; 86 homepage = "https://github.com/pgvector/pgvector-python"; 87 changelog = "https://github.com/pgvector/pgvector-python/blob/${src.rev}/CHANGELOG.md"; 88 license = lib.licenses.mit; 89 maintainers = with lib.maintainers; [ natsukium ]; 90 }; 91}