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