at master 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 aiofiles 115 aiosqlite 116 alembic 117 backoff 118 brotli-asgi 119 elasticsearch8 120 fastapi 121 greenlet 122 luqum 123 opensearch-py 124 passlib 125 psutil 126 python-jose 127 python-multipart 128 pyyaml 129 scikit-learn 130 smart-open 131 sqlalchemy 132 uvicorn 133 ] 134 ++ elasticsearch8.optional-dependencies.async 135 ++ uvicorn.optional-dependencies.standard 136 ++ python-jose.optional-dependencies.cryptography 137 ++ passlib.optional-dependencies.bcrypt; 138 postgresql = [ 139 asyncpg 140 psycopg2 141 ]; 142 listeners = [ 143 schedule 144 prodict 145 ]; 146 integrations = [ 147 cleanlab 148 evaluate 149 faiss 150 flyingsquid 151 openai 152 peft 153 pgmpy 154 plotly 155 pyyaml 156 sentence-transformers 157 seqeval 158 snorkel 159 spacy 160 spacy-transformers 161 transformers 162 # flair 163 # setfit 164 # span_marker 165 # trl 166 # spacy-huggingface-hub 167 ] 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 ] 184 ++ lib.flatten (builtins.attrValues optional-dependencies); 185 186 disabledTestPaths = [ "tests/server/datasets/test_dao.py" ]; 187 188 meta = with lib; { 189 description = "Open-source data curation platform for LLMs"; 190 homepage = "https://github.com/argilla-io/argilla"; 191 changelog = "https://github.com/argilla-io/argilla/releases/tag/${src.tag}"; 192 license = licenses.asl20; 193 maintainers = with maintainers; [ happysalada ]; 194 mainProgram = "argilla"; 195 }; 196}