{ lib, python3Packages, fetchFromGitHub, fetchurl, makeWrapper, }: let cerebras-cloud-sdk = python3Packages.buildPythonPackage rec { pname = "cerebras-cloud-sdk"; version = "1.91.0"; pyproject = true; src = fetchurl { url = "https://files.pythonhosted.org/packages/0c/98/767ab62618be157b5fb21bce980ad5c8ebe155e32aff38521e511054e5c3/cerebras_cloud_sdk-1.91.0.tar.gz"; hash = "sha256-b0GT/sCIkR/+gpzlaCUQ+GEgzTUyyvToVAvzO1n9t+s="; }; build-system = with python3Packages; [ hatchling hatch-fancy-pypi-readme ]; postPatch = '' sed -i 's/hatchling==[0-9.]*/hatchling/' pyproject.toml ''; dependencies = with python3Packages; [ anyio distro httpx pydantic sniffio typing-extensions ]; doCheck = false; meta = { description = "Python SDK for Cerebras AI platform"; homepage = "https://github.com/CerebrasAI/cerebras-cloud-sdk-python"; license = lib.licenses.asl20; }; }; pyDeps = with python3Packages; [ fastapi uvicorn google-genai cerebras-cloud-sdk groq mistralai requests python-dotenv pydantic httpx ]; in python3Packages.buildPythonApplication { pname = "relay-free-llm"; version = "0.1.0+unstable"; format = "other"; src = fetchFromGitHub { owner = "msmarkgu"; repo = "RelayFreeLLM"; rev = "96e6c48a552755bf250c3155b14176916c69d8d8"; hash = "sha256-SNux6hVOij+2kYFH/gUQQj8QLfxGzjcdakkZ48AIWPU="; }; nativeBuildInputs = [ makeWrapper ]; propagatedBuildInputs = pyDeps; installPhase = '' runHook preInstall mkdir -p $out/lib/relay-free-llm cp -r src $out/lib/relay-free-llm/ runHook postInstall ''; postInstall = '' makeWrapper ${python3Packages.python.interpreter} $out/bin/relay-free-llm \ --add-flags "-m src.server" \ --prefix PYTHONPATH : "$out/lib/relay-free-llm:$PYTHONPATH" ''; doCheck = false; passthru = { category = "AI LLM Gateway"; updateScript = [ "nix-update" "--flake" ".#relay-free-llm" "--version=branch=main" ]; }; meta = { description = "RESTful API to route user prompts to various AI model providers"; homepage = "https://github.com/msmarkgu/RelayFreeLLM"; license = lib.licenses.mit; mainProgram = "relay-free-llm"; platforms = lib.platforms.all; }; }