Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at flake-libs 195 lines 3.3 kB view raw
1{ 2 lib, 3 aiofiles, 4 aiosqlite, 5 alembic, 6 asyncpg, 7 backoff, 8 brotli-asgi, 9 buildPythonPackage, 10 cleanlab, 11 datasets, 12 elasticsearch8, 13 evaluate, 14 factory-boy, 15 faiss, 16 fastapi, 17 fetchFromGitHub, 18 flyingsquid, 19 greenlet, 20 httpx, 21 huggingface-hub, 22 luqum, 23 monotonic, 24 numpy, 25 openai, 26 opensearch-py, 27 packaging, 28 pandas, 29 passlib, 30 pdm-backend, 31 peft, 32 pgmpy, 33 pillow, 34 plotly, 35 prodict, 36 psutil, 37 psycopg2, 38 pydantic, 39 pytest-asyncio, 40 pytest-mock, 41 pytestCheckHook, 42 python-jose, 43 python-multipart, 44 pythonOlder, 45 pyyaml, 46 rich, 47 schedule, 48 scikit-learn, 49 sentence-transformers, 50 seqeval, 51 smart-open, 52 snorkel, 53 spacy-transformers, 54 spacy, 55 sqlalchemy, 56 standardwebhooks, 57 tqdm, 58 transformers, 59 typer, 60 uvicorn, 61 wrapt, 62# , flair 63# , setfit 64# , spacy-huggingface-hub 65# , span_marker 66# , trl 67}: 68 69buildPythonPackage rec { 70 pname = "argilla"; 71 version = "2.8.0"; 72 pyproject = true; 73 74 disabled = pythonOlder "3.9"; 75 76 src = fetchFromGitHub { 77 owner = "argilla-io"; 78 repo = "argilla"; 79 tag = "v${version}"; 80 hash = "sha256-8j7/Gtn4FnAZA3oIV7dLxKwNtigqB7AweHtQ/kzLwm4="; 81 }; 82 83 sourceRoot = "${src.name}/${pname}"; 84 85 pythonRelaxDeps = [ 86 "httpx" 87 "numpy" 88 "rich" 89 "typer" 90 "wrapt" 91 ]; 92 93 build-system = [ pdm-backend ]; 94 95 dependencies = [ 96 httpx 97 datasets 98 packaging 99 pandas 100 pydantic 101 wrapt 102 numpy 103 tqdm 104 pillow 105 huggingface-hub 106 monotonic 107 rich 108 typer 109 standardwebhooks 110 ]; 111 112 optional-dependencies = { 113 server = 114 [ 115 aiofiles 116 aiosqlite 117 alembic 118 backoff 119 brotli-asgi 120 elasticsearch8 121 fastapi 122 greenlet 123 luqum 124 opensearch-py 125 passlib 126 psutil 127 python-jose 128 python-multipart 129 pyyaml 130 scikit-learn 131 smart-open 132 sqlalchemy 133 uvicorn 134 ] 135 ++ elasticsearch8.optional-dependencies.async 136 ++ uvicorn.optional-dependencies.standard 137 ++ python-jose.optional-dependencies.cryptography 138 ++ passlib.optional-dependencies.bcrypt; 139 postgresql = [ 140 asyncpg 141 psycopg2 142 ]; 143 listeners = [ 144 schedule 145 prodict 146 ]; 147 integrations = [ 148 cleanlab 149 evaluate 150 faiss 151 flyingsquid 152 openai 153 peft 154 pgmpy 155 plotly 156 pyyaml 157 sentence-transformers 158 seqeval 159 snorkel 160 spacy 161 spacy-transformers 162 transformers 163 # flair 164 # setfit 165 # span_marker 166 # trl 167 # spacy-huggingface-hub 168 ] ++ transformers.optional-dependencies.torch; 169 }; 170 171 # Still quite a bit of optional dependencies missing 172 doCheck = false; 173 174 preCheck = '' 175 export HOME=$(mktemp -d) 176 ''; 177 178 nativeCheckInputs = [ 179 pytestCheckHook 180 pytest-mock 181 pytest-asyncio 182 factory-boy 183 ] ++ lib.flatten (builtins.attrValues optional-dependencies); 184 185 disabledTestPaths = [ "tests/server/datasets/test_dao.py" ]; 186 187 meta = with lib; { 188 description = "Open-source data curation platform for LLMs"; 189 homepage = "https://github.com/argilla-io/argilla"; 190 changelog = "https://github.com/argilla-io/argilla/releases/tag/${src.tag}"; 191 license = licenses.asl20; 192 maintainers = with maintainers; [ happysalada ]; 193 mainProgram = "argilla"; 194 }; 195}