Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 aiohttp, 4 apscheduler, 5 azure-identity, 6 azure-keyvault-secrets, 7 backoff, 8 buildPythonPackage, 9 click, 10 cryptography, 11 fastapi, 12 fastapi-sso, 13 fetchFromGitHub, 14 google-cloud-kms, 15 gunicorn, 16 importlib-metadata, 17 jinja2, 18 jsonschema, 19 openai, 20 orjson, 21 poetry-core, 22 prisma, 23 pydantic, 24 pyjwt, 25 pynacl, 26 python-dotenv, 27 python-multipart, 28 pythonOlder, 29 pyyaml, 30 requests, 31 resend, 32 rq, 33 tiktoken, 34 tokenizers, 35 uvicorn, 36}: 37 38buildPythonPackage rec { 39 pname = "litellm"; 40 version = "1.41.28"; 41 pyproject = true; 42 43 disabled = pythonOlder "3.8"; 44 45 src = fetchFromGitHub { 46 owner = "BerriAI"; 47 repo = "litellm"; 48 rev = "refs/tags/v${version}"; 49 hash = "sha256-DNFzBl2K4liphEMVPRbLWMzzCxtIcvUgQxvppAnv/10="; 50 }; 51 52 build-system = [ poetry-core ]; 53 54 dependencies = [ 55 aiohttp 56 click 57 importlib-metadata 58 jinja2 59 jsonschema 60 openai 61 pydantic 62 python-dotenv 63 requests 64 tiktoken 65 tokenizers 66 ]; 67 68 passthru.optional-dependencies = { 69 proxy = [ 70 apscheduler 71 backoff 72 cryptography 73 fastapi 74 fastapi-sso 75 gunicorn 76 orjson 77 pyjwt 78 python-multipart 79 pyyaml 80 rq 81 uvicorn 82 ]; 83 extra_proxy = [ 84 azure-identity 85 azure-keyvault-secrets 86 google-cloud-kms 87 prisma 88 pynacl 89 resend 90 ]; 91 }; 92 93 pythonImportsCheck = [ "litellm" ]; 94 95 # access network 96 doCheck = false; 97 98 meta = with lib; { 99 description = "Use any LLM as a drop in replacement for gpt-3.5-turbo. Use Azure, OpenAI, Cohere, Anthropic, Ollama, VLLM, Sagemaker, HuggingFace, Replicate (100+ LLMs)"; 100 mainProgram = "litellm"; 101 homepage = "https://github.com/BerriAI/litellm"; 102 changelog = "https://github.com/BerriAI/litellm/releases/tag/v${version}"; 103 license = licenses.mit; 104 maintainers = with maintainers; [ happysalada ]; 105 }; 106}