From 5e6913dff22b6d7e2301dd1c3cbd182dc934d6b6 Mon Sep 17 00:00:00 2001 From: Frank Colson Date: Thu, 30 Nov 2023 16:23:34 -0700 Subject: [PATCH] Use poetry extras for proxy --- litellm/proxy/proxy_server.py | 23 +++-------------------- pyproject.toml | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index 20d39d817bb..45b5a1bbcaf 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -17,27 +17,10 @@ try: import yaml import rq except ImportError: - import sys - - subprocess.check_call( - [ - sys.executable, - "-m", - "pip", - "install", - "uvicorn", - "fastapi", - "appdirs", - "backoff", - "pyyaml", - "rq" - ] + raise ImportError( + "Running `litellm proxy` requires installing via `pip install litellm[proxy]`" ) - import uvicorn - import fastapi - import appdirs - import backoff - import yaml + import random diff --git a/pyproject.toml b/pyproject.toml index cc9f7a56dfc..e5d1bf575d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,6 +19,21 @@ certifi = "^2023.7.22" appdirs = "^1.4.4" aiohttp = "*" +uvicorn = {version = "^0.24.0.post1", optional = true} +fastapi = {version = "^0.104.1", optional = true} +backoff = {version = "*", optional = true} +yaml = {version = "*", optional = true} +rq = {version = "*", optional = true} + +[tool.poetry.extras] +proxy = [ + "uvicorn", + "fastapi", + "backoff", + "yaml", + "rq" +] + [tool.poetry.scripts] litellm = 'litellm:run_server'