From 41999288ff3cf98e780911cb98d4ce3d7c3dc8f7 Mon Sep 17 00:00:00 2001 From: rahul dhanawade Date: Wed, 18 Feb 2026 01:50:15 +0530 Subject: [PATCH] fix: use dynamic timestamps for /v1/models endpoint - Replace hardcoded DEFAULT_MODEL_CREATED_AT_TIME with int(time.time()) - Fixes Android Studio 2025.2.3 and Xcode 26.2 integration issues Fixes #21371 --- litellm/constants.py | 5 ++--- litellm/proxy/proxy_server.py | 1 - litellm/proxy/utils.py | 4 ++-- tests/proxy_unit_tests/test_models_fallback_endpoint.py | 9 +++------ 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/litellm/constants.py b/litellm/constants.py index a4a0e7882ea..5e67f01df65 100644 --- a/litellm/constants.py +++ b/litellm/constants.py @@ -1,6 +1,7 @@ import os import sys from typing import List, Literal +import time from litellm.litellm_core_utils.env_utils import get_env_int @@ -1336,9 +1337,7 @@ DEFAULT_SHARED_HEALTH_CHECK_LOCK_TTL = int( PROMETHEUS_FALLBACK_STATS_SEND_TIME_HOURS = int( os.getenv("PROMETHEUS_FALLBACK_STATS_SEND_TIME_HOURS", 9) ) -DEFAULT_MODEL_CREATED_AT_TIME = int( - os.getenv("DEFAULT_MODEL_CREATED_AT_TIME", 1677610602) -) # returns on `/models` endpoint +# returns on `/models` endpoint DEFAULT_SLACK_ALERTING_THRESHOLD = int( os.getenv("DEFAULT_SLACK_ALERTING_THRESHOLD", 300) ) diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index e332dd17637..b10fb604192 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -205,7 +205,6 @@ from litellm.constants import ( APSCHEDULER_REPLACE_EXISTING, DAYS_IN_A_MONTH, DEFAULT_HEALTH_CHECK_INTERVAL, - DEFAULT_MODEL_CREATED_AT_TIME, LITELLM_PROXY_ADMIN_NAME, PROMETHEUS_FALLBACK_STATS_SEND_TIME_HOURS, PROXY_BATCH_POLLING_INTERVAL, diff --git a/litellm/proxy/utils.py b/litellm/proxy/utils.py index 1c2a6d378fc..c03c78b3fc5 100644 --- a/litellm/proxy/utils.py +++ b/litellm/proxy/utils.py @@ -23,7 +23,7 @@ from typing import ( ) from litellm import _custom_logger_compatible_callbacks_literal -from litellm.constants import DEFAULT_MODEL_CREATED_AT_TIME, MAX_TEAM_LIST_LIMIT +from litellm.constants import MAX_TEAM_LIST_LIMIT from litellm.proxy._types import ( DB_CONNECTION_ERROR_TYPES, CommonProxyErrors, @@ -4695,7 +4695,7 @@ def create_model_info_response( model_info = { "id": model_id, "object": "model", - "created": DEFAULT_MODEL_CREATED_AT_TIME, + "created": int(time.time()), "owned_by": provider, } diff --git a/tests/proxy_unit_tests/test_models_fallback_endpoint.py b/tests/proxy_unit_tests/test_models_fallback_endpoint.py index fb73c5dece7..9d63ee6d49a 100644 --- a/tests/proxy_unit_tests/test_models_fallback_endpoint.py +++ b/tests/proxy_unit_tests/test_models_fallback_endpoint.py @@ -1,5 +1,6 @@ import pytest from unittest.mock import Mock, patch +import time def create_mock_user_api_key_auth(): @@ -88,11 +89,7 @@ def test_model_list_with_fallback_metadata( # The important thing is that our function signature and logic are correct # Import the constants we need - try: - from litellm.proxy.proxy_server import DEFAULT_MODEL_CREATED_AT_TIME - except ImportError: - DEFAULT_MODEL_CREATED_AT_TIME = 1640995200 # Default fallback - + TEST_MODEL_CREATED_TIME = 1640995200 # Default fallback # Test with include_metadata=True (should default to general fallbacks) all_models = ["claude-4-sonnet", "bedrock-claude-sonnet-4"] @@ -102,7 +99,7 @@ def test_model_list_with_fallback_metadata( model_info = { "id": model, "object": "model", - "created": DEFAULT_MODEL_CREATED_AT_TIME, + "created": TEST_MODEL_CREATED_TIME, "owned_by": "openai", }