diff --git a/litellm-proxy-extras/dist/litellm_proxy_extras-0.2.5-py3-none-any.whl b/litellm-proxy-extras/dist/litellm_proxy_extras-0.2.5-py3-none-any.whl new file mode 100644 index 00000000000..ec9728a9dc7 Binary files /dev/null and b/litellm-proxy-extras/dist/litellm_proxy_extras-0.2.5-py3-none-any.whl differ diff --git a/litellm-proxy-extras/dist/litellm_proxy_extras-0.2.5.tar.gz b/litellm-proxy-extras/dist/litellm_proxy_extras-0.2.5.tar.gz new file mode 100644 index 00000000000..2d07b68338d Binary files /dev/null and b/litellm-proxy-extras/dist/litellm_proxy_extras-0.2.5.tar.gz differ diff --git a/litellm-proxy-extras/litellm_proxy_extras/migrations/20250618225828_add_health_check_table/migration.sql b/litellm-proxy-extras/litellm_proxy_extras/migrations/20250618225828_add_health_check_table/migration.sql new file mode 100644 index 00000000000..da6f4c23c81 --- /dev/null +++ b/litellm-proxy-extras/litellm_proxy_extras/migrations/20250618225828_add_health_check_table/migration.sql @@ -0,0 +1,28 @@ +-- CreateTable +CREATE TABLE "LiteLLM_HealthCheckTable" ( + "health_check_id" TEXT NOT NULL, + "model_name" TEXT NOT NULL, + "model_id" TEXT, + "status" TEXT NOT NULL, + "healthy_count" INTEGER NOT NULL DEFAULT 0, + "unhealthy_count" INTEGER NOT NULL DEFAULT 0, + "error_message" TEXT, + "response_time_ms" DOUBLE PRECISION, + "details" JSONB, + "checked_by" TEXT, + "checked_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "LiteLLM_HealthCheckTable_pkey" PRIMARY KEY ("health_check_id") +); + +-- CreateIndex +CREATE INDEX "LiteLLM_HealthCheckTable_model_name_idx" ON "LiteLLM_HealthCheckTable"("model_name"); + +-- CreateIndex +CREATE INDEX "LiteLLM_HealthCheckTable_checked_at_idx" ON "LiteLLM_HealthCheckTable"("checked_at"); + +-- CreateIndex +CREATE INDEX "LiteLLM_HealthCheckTable_status_idx" ON "LiteLLM_HealthCheckTable"("status"); + diff --git a/litellm-proxy-extras/pyproject.toml b/litellm-proxy-extras/pyproject.toml index 66223836e2e..d608b552519 100644 --- a/litellm-proxy-extras/pyproject.toml +++ b/litellm-proxy-extras/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "litellm-proxy-extras" -version = "0.2.4" +version = "0.2.5" description = "Additional files for the LiteLLM Proxy. Reduces the size of the main litellm package." authors = ["BerriAI"] readme = "README.md" @@ -22,7 +22,7 @@ requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.commitizen] -version = "0.2.4" +version = "0.2.5" version_files = [ "pyproject.toml:version", "../requirements.txt:litellm-proxy-extras==", diff --git a/poetry.lock b/poetry.lock index 93ea1ba70a5..f2ff9ee31f1 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1738,13 +1738,13 @@ files = [ [[package]] name = "litellm-proxy-extras" -version = "0.2.4" +version = "0.2.5" description = "Additional files for the LiteLLM Proxy. Reduces the size of the main litellm package." optional = true python-versions = "!=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8" files = [ - {file = "litellm_proxy_extras-0.2.4-py3-none-any.whl", hash = "sha256:83aa61f53406bb9a968acbf6fe6e2b0b408c953bafecf095f1b395076a21b7e9"}, - {file = "litellm_proxy_extras-0.2.4.tar.gz", hash = "sha256:3729fd5e3fe106e088b476288960d5c3471e0240b9c31ae1ec9f58b82d6d0dc5"}, + {file = "litellm_proxy_extras-0.2.5-py3-none-any.whl", hash = "sha256:71a0f94695a6d6f21aa49f6e893a58743e763c68ccc04c314691ceeee7fc8275"}, + {file = "litellm_proxy_extras-0.2.5.tar.gz", hash = "sha256:19952c6a0747b350be2ba16a47448532996baa9363d0316a7f0eebb9dee2045e"}, ] [[package]] @@ -4713,4 +4713,4 @@ utils = ["numpydoc"] [metadata] lock-version = "2.0" python-versions = ">=3.8.1,<4.0, !=3.9.7" -content-hash = "f81982beec184dadbfc32017bf6ffd1ddeaaa6aab5762c90d532b5241ed891b8" +content-hash = "77355f7f880b647225c11dfd06b2b69defcf8349fc91dd3c73765a161973a7e6" diff --git a/pyproject.toml b/pyproject.toml index 5556463dd53..87293d7f12a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,7 +56,7 @@ websockets = {version = "^13.1.0", optional = true} boto3 = {version = "1.34.34", optional = true} redisvl = {version = "^0.4.1", optional = true, markers = "python_version >= '3.9' and python_version < '3.14'"} mcp = {version = "1.9.3", optional = true, python = ">=3.10"} -litellm-proxy-extras = {version = "0.2.4", optional = true} +litellm-proxy-extras = {version = "0.2.5", optional = true} rich = {version = "13.7.1", optional = true} litellm-enterprise = {version = "0.1.7", optional = true} diskcache = {version = "^5.6.1", optional = true} diff --git a/requirements.txt b/requirements.txt index b170dc05d81..a4612f04f98 100644 --- a/requirements.txt +++ b/requirements.txt @@ -37,7 +37,7 @@ sentry_sdk==2.21.0 # for sentry error handling detect-secrets==1.5.0 # Enterprise - secret detection / masking in LLM requests cryptography==43.0.1 tzdata==2025.1 # IANA time zone database -litellm-proxy-extras==0.2.4 # for proxy extras - e.g. prisma migrations +litellm-proxy-extras==0.2.5 # for proxy extras - e.g. prisma migrations ### LITELLM PACKAGE DEPENDENCIES python-dotenv==1.0.0 # for env tiktoken==0.8.0 # for calculating usage