## START: Set by rpmautospec ## (rpmautospec version 0.8.4) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global extras caching,grpc,utils %global forge_url https://github.com/BerriAI/litellm Name: python-litellm Version: 1.84.0 Release: %autorelease Summary: Library to easily interface with LLM API providers License: MIT URL: https://litellm.ai # We are using the github tarball due to the lack of tests being present in the # pypi sources. Source: %{forge_url}/archive/v%{version}/litellm-%{version}.tar.gz BuildArch: noarch BuildRequires: tomcli # Test dependencies BuildRequires: python3-pytest ## For check import tests BuildRequires: python3-fastapi BuildRequires: python3-orjson BuildRequires: python3-backoff BuildRequires: python3-mcp BuildRequires: python3-boto3 BuildRequires: python3-opentelemetry-api BuildRequires: python3-cryptography BuildRequires: python3-dateutil BuildRequires: python3-pydantic+email BuildRequires: python3-websockets BuildRequires: python3-APScheduler %global _description %{expand: This is package 'litellm' generated automatically by pyp2spec.} %description %_description %package -n python3-litellm Summary: %{summary} %description -n python3-litellm %_description %pyproject_extras_subpkg -n python3-litellm %{extras} %prep %autosetup -p1 -n litellm-%{version} # Drop python constraint tomcli set pyproject.toml str "project.requires-python" ">=3.10" # Remove version constraint on uv-build tomcli set pyproject.toml arrays replace "build-system.requires" "uv_build==0.11.8" "uv_build" # Relax and downgrade dependencies tomcli set pyproject.toml arrays replace "project.optional-dependencies.grpc" "grpcio==1.78.0" "grpcio>=1.48" tomcli set pyproject.toml arrays replace "project.optional-dependencies.utils" "numpydoc==1.8.0" "numpydoc>=1.9" tomcli set pyproject.toml arrays replace "project.dependencies" "importlib-metadata>=8.0.0,<9.0" "importlib-metadata>=8" %generate_buildrequires %pyproject_buildrequires -x %{extras} %build %pyproject_wheel %install %pyproject_install %pyproject_save_files litellm %check %pyproject_check_import \ # Missing: a2a-sdk (TypeError: NoneType - optional base class not available) -e litellm.a2a_protocol \ -e litellm.a2a_protocol.card_resolver \ -e litellm.a2a_protocol.exception_mapping_utils \ -e litellm.a2a_protocol.litellm_completion_bridge \ -e litellm.a2a_protocol.litellm_completion_bridge.handler \ -e litellm.a2a_protocol.litellm_completion_bridge.transformation \ -e litellm.a2a_protocol.main \ -e litellm.a2a_protocol.providers \ -e litellm.a2a_protocol.providers.base \ -e litellm.a2a_protocol.providers.bedrock_agentcore \ -e litellm.a2a_protocol.providers.bedrock_agentcore.config \ -e litellm.a2a_protocol.providers.bedrock_agentcore.handler \ -e litellm.a2a_protocol.providers.bedrock_agentcore.transformation \ -e litellm.a2a_protocol.providers.config_manager \ -e litellm.a2a_protocol.providers.litellm_completion \ -e litellm.a2a_protocol.providers.litellm_completion.handler \ -e litellm.a2a_protocol.providers.litellm_completion.transformation \ -e litellm.a2a_protocol.providers.pydantic_ai_agents \ -e litellm.a2a_protocol.providers.pydantic_ai_agents.config \ -e litellm.a2a_protocol.providers.pydantic_ai_agents.handler \ -e litellm.a2a_protocol.providers.pydantic_ai_agents.transformation \ # Missing: polars -e litellm.integrations.cloudzero.cz_stream_api \ -e litellm.integrations.cloudzero.database \ -e litellm.integrations.cloudzero.transform \ -e litellm.integrations.focus.database \ -e litellm.integrations.focus.export_engine \ -e litellm.integrations.focus.schema \ -e litellm.integrations.focus.serializers \ -e litellm.integrations.focus.serializers.base \ -e litellm.integrations.focus.serializers.csv \ -e litellm.integrations.focus.serializers.parquet \ -e litellm.integrations.focus.transformer \ # Missing: fastapi_sso -e litellm.integrations.custom_sso_handler \ -e litellm.proxy.auth.login_utils \ -e litellm.proxy.custom_hooks.custom_ui_sso_hook \ -e litellm.proxy.custom_sso \ -e litellm.proxy.management_endpoints.sso \ -e litellm.proxy.management_endpoints.sso.custom_microsoft_sso \ -e litellm.proxy.management_endpoints.types \ -e litellm.proxy.management_endpoints.ui_sso \ # Missing: apscheduler # -e litellm.proxy.example_config_yaml.custom_callbacks1 \ # -e litellm.proxy.example_config_yaml.custom_guardrail \ # -e litellm.proxy.guardrails.guardrail_helpers \ # -e litellm.proxy.guardrails.guardrail_hooks.lakera_ai \ # -e litellm.proxy.prisma_migration \ # -e litellm.proxy.proxy_server \ # Missing: RestrictedPython -e litellm.proxy.guardrails.guardrail_endpoints \ -e litellm.proxy.guardrails.guardrail_hooks.custom_code \ -e litellm.proxy.guardrails.guardrail_hooks.custom_code.custom_code_guardrail \ -e litellm.proxy.guardrails.guardrail_hooks.custom_code.primitives \ -e litellm.proxy.guardrails.guardrail_hooks.custom_code.response_rejection_code \ -e litellm.proxy.guardrails.guardrail_hooks.custom_code.sandbox \ -e litellm.proxy.management_endpoints.policy_endpoints \ -e litellm.proxy.management_endpoints.policy_endpoints.ai_policy_suggester \ -e litellm.proxy.management_endpoints.policy_endpoints.endpoints \ # Missing: google (google-auth) -e litellm.llms.vertex_ai.aws_credentials_supplier \ # Missing: aiodynamo -e litellm.proxy.db.dynamo_db \ # Missing: semantic_router -e litellm.router_strategy.auto_router.litellm_encoder %pytest %files -n python3-litellm -f %{pyproject_files} %{_bindir}/litellm %{_bindir}/litellm-proxy %changelog ## START: Generated by rpmautospec * Thu May 14 2026 John Doe - 1.84.0-1 - Uncommitted changes ## END: Generated by rpmautospec