Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at flake-libs 85 lines 1.5 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 nativeCheckInputs = [ 46 asyncpg 47 django 48 peewee 49 pg8000 50 psycopg 51 psycopg2 52 psycopg-pool 53 (postgresql.withPackages (p: with p; [ pgvector ])) 54 postgresqlTestHook 55 pytest-asyncio 56 pytestCheckHook 57 scipy 58 sqlalchemy 59 sqlmodel 60 ]; 61 62 env = { 63 PGDATABASE = "pgvector_python_test"; 64 postgresqlEnableTCP = 1; 65 postgresqlTestUserOptions = "LOGIN SUPERUSER"; 66 }; 67 68 disabledTestPaths = [ 69 # DB error 70 "tests/test_pg8000.py" 71 "tests/test_sqlalchemy.py" 72 ]; 73 74 pythonImportsCheck = [ "pgvector" ]; 75 76 __darwinAllowLocalNetworking = true; 77 78 meta = { 79 description = "Pgvector support for Python"; 80 homepage = "https://github.com/pgvector/pgvector-python"; 81 changelog = "https://github.com/pgvector/pgvector-python/blob/${src.rev}/CHANGELOG.md"; 82 license = lib.licenses.mit; 83 maintainers = with lib.maintainers; [ natsukium ]; 84 }; 85}