litellm-enterprise 0.1.16__tar.gz → 0.1.18__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/PKG-INFO +3 -2
  2. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/llama_guard.py +1 -0
  3. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/llm_guard.py +1 -0
  4. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/pagerduty/pagerduty.py +1 -0
  5. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/integrations/prometheus.py +66 -10
  6. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/auth/route_checks.py +0 -1
  7. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/auth/user_api_key_auth.py +3 -1
  8. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/hooks/managed_files.py +1 -0
  9. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/pyproject.toml +2 -2
  10. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/LICENSE.md +0 -0
  11. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/README.md +0 -0
  12. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/__init__.py +0 -0
  13. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/callback_controls.py +0 -0
  14. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/example_logging_api.py +0 -0
  15. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/generic_api_callback.py +0 -0
  16. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secret_detection.py +0 -0
  17. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/__init__.py +0 -0
  18. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/adafruit.py +0 -0
  19. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/adobe.py +0 -0
  20. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/age_secret_key.py +0 -0
  21. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/airtable_api_key.py +0 -0
  22. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/algolia_api_key.py +0 -0
  23. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/alibaba.py +0 -0
  24. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/asana.py +0 -0
  25. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/atlassian_api_token.py +0 -0
  26. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/authress_access_key.py +0 -0
  27. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/beamer_api_token.py +0 -0
  28. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/bitbucket.py +0 -0
  29. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/bittrex.py +0 -0
  30. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/clojars_api_token.py +0 -0
  31. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/codecov_access_token.py +0 -0
  32. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/coinbase_access_token.py +0 -0
  33. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/confluent.py +0 -0
  34. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/contentful_api_token.py +0 -0
  35. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/databricks_api_token.py +0 -0
  36. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/datadog_access_token.py +0 -0
  37. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/defined_networking_api_token.py +0 -0
  38. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/digitalocean.py +0 -0
  39. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/discord.py +0 -0
  40. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/doppler_api_token.py +0 -0
  41. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/droneci_access_token.py +0 -0
  42. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/dropbox.py +0 -0
  43. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/duffel_api_token.py +0 -0
  44. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/dynatrace_api_token.py +0 -0
  45. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/easypost.py +0 -0
  46. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/etsy_access_token.py +0 -0
  47. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/facebook_access_token.py +0 -0
  48. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/fastly_api_token.py +0 -0
  49. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/finicity.py +0 -0
  50. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/finnhub_access_token.py +0 -0
  51. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/flickr_access_token.py +0 -0
  52. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/flutterwave.py +0 -0
  53. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/frameio_api_token.py +0 -0
  54. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/freshbooks_access_token.py +0 -0
  55. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/gcp_api_key.py +0 -0
  56. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/github_token.py +0 -0
  57. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/gitlab.py +0 -0
  58. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/gitter_access_token.py +0 -0
  59. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/gocardless_api_token.py +0 -0
  60. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/grafana.py +0 -0
  61. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/hashicorp_tf_api_token.py +0 -0
  62. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/heroku_api_key.py +0 -0
  63. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/hubspot_api_key.py +0 -0
  64. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/huggingface.py +0 -0
  65. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/intercom_api_key.py +0 -0
  66. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/jfrog.py +0 -0
  67. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/jwt.py +0 -0
  68. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/kraken_access_token.py +0 -0
  69. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/kucoin.py +0 -0
  70. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/launchdarkly_access_token.py +0 -0
  71. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/linear.py +0 -0
  72. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/linkedin.py +0 -0
  73. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/lob.py +0 -0
  74. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/mailgun.py +0 -0
  75. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/mapbox_api_token.py +0 -0
  76. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/mattermost_access_token.py +0 -0
  77. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/messagebird.py +0 -0
  78. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/microsoft_teams_webhook.py +0 -0
  79. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/netlify_access_token.py +0 -0
  80. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/new_relic.py +0 -0
  81. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/nytimes_access_token.py +0 -0
  82. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/okta_access_token.py +0 -0
  83. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/openai_api_key.py +0 -0
  84. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/planetscale.py +0 -0
  85. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/postman_api_token.py +0 -0
  86. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/prefect_api_token.py +0 -0
  87. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/pulumi_api_token.py +0 -0
  88. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/pypi_upload_token.py +0 -0
  89. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/rapidapi_access_token.py +0 -0
  90. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/readme_api_token.py +0 -0
  91. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/rubygems_api_token.py +0 -0
  92. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/scalingo_api_token.py +0 -0
  93. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/sendbird.py +0 -0
  94. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/sendgrid_api_token.py +0 -0
  95. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/sendinblue_api_token.py +0 -0
  96. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/sentry_access_token.py +0 -0
  97. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/shippo_api_token.py +0 -0
  98. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/shopify.py +0 -0
  99. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/slack.py +0 -0
  100. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/snyk_api_token.py +0 -0
  101. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/squarespace_access_token.py +0 -0
  102. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/sumologic.py +0 -0
  103. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/telegram_bot_api_token.py +0 -0
  104. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/travisci_access_token.py +0 -0
  105. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/twitch_api_token.py +0 -0
  106. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/twitter.py +0 -0
  107. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/typeform_api_token.py +0 -0
  108. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/vault.py +0 -0
  109. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/yandex.py +0 -0
  110. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/secrets_plugins/zendesk_secret_key.py +0 -0
  111. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/send_emails/base_email.py +0 -0
  112. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/send_emails/endpoints.py +0 -0
  113. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/send_emails/resend_email.py +0 -0
  114. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/send_emails/smtp_email.py +0 -0
  115. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/enterprise_callbacks/session_handler.py +0 -0
  116. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/integrations/custom_guardrail.py +0 -0
  117. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/litellm_core_utils/litellm_logging.py +0 -0
  118. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/audit_logging_endpoints.py +0 -0
  119. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/auth/__init__.py +0 -0
  120. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/auth/custom_sso_handler.py +0 -0
  121. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/common_utils/check_batch_cost.py +0 -0
  122. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/enterprise_routes.py +0 -0
  123. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/guardrails/endpoints.py +0 -0
  124. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/management_endpoints/__init__.py +0 -0
  125. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/management_endpoints/internal_user_endpoints.py +0 -0
  126. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/management_endpoints/key_management_endpoints.py +0 -0
  127. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/proxy_server.py +0 -0
  128. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/readme.md +0 -0
  129. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/utils.py +0 -0
  130. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/proxy/vector_stores/endpoints.py +0 -0
  131. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/types/enterprise_callbacks/send_emails.py +0 -0
  132. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/types/proxy/audit_logging_endpoints.py +0 -0
  133. {litellm_enterprise-0.1.16 → litellm_enterprise-0.1.18}/litellm_enterprise/types/proxy/proxy_server.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: litellm-enterprise
3
- Version: 0.1.16
3
+ Version: 0.1.18
4
4
  Summary: Package for LiteLLM Enterprise features
5
5
  Author: BerriAI
6
6
  Requires-Python: >=3.8, !=2.7.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*
@@ -9,6 +9,7 @@ Classifier: Programming Language :: Python :: 3.9
9
9
  Classifier: Programming Language :: Python :: 3.10
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: 3.13
12
13
  Project-URL: Documentation, https://docs.litellm.ai
13
14
  Project-URL: Homepage, https://litellm.ai
14
15
  Project-URL: Repository, https://github.com/BerriAI/litellm
@@ -105,6 +105,7 @@ class _ENTERPRISE_LlamaGuard(CustomLogger):
105
105
  "moderation",
106
106
  "audio_transcription",
107
107
  "responses",
108
+ "mcp_call",
108
109
  ],
109
110
  ):
110
111
  """
@@ -127,6 +127,7 @@ class _ENTERPRISE_LLMGuard(CustomLogger):
127
127
  "moderation",
128
128
  "audio_transcription",
129
129
  "responses",
130
+ "mcp_call",
130
131
  ],
131
132
  ):
132
133
  """
@@ -147,6 +147,7 @@ class PagerDutyAlerting(SlackAlerting):
147
147
  "audio_transcription",
148
148
  "pass_through_endpoint",
149
149
  "rerank",
150
+ "mcp_call",
150
151
  ],
151
152
  ) -> Optional[Union[Exception, str, dict]]:
152
153
  """
@@ -122,19 +122,19 @@ class PrometheusLogger(CustomLogger):
122
122
 
123
123
  # Counter for total_output_tokens
124
124
  self.litellm_tokens_metric = self._counter_factory(
125
- "litellm_total_tokens",
125
+ "litellm_total_tokens_metric",
126
126
  "Total number of input + output tokens from LLM requests",
127
127
  labelnames=self.get_labels_for_metric("litellm_total_tokens_metric"),
128
128
  )
129
129
 
130
130
  self.litellm_input_tokens_metric = self._counter_factory(
131
- "litellm_input_tokens",
131
+ "litellm_input_tokens_metric",
132
132
  "Total number of input tokens from LLM requests",
133
133
  labelnames=self.get_labels_for_metric("litellm_input_tokens_metric"),
134
134
  )
135
135
 
136
136
  self.litellm_output_tokens_metric = self._counter_factory(
137
- "litellm_output_tokens",
137
+ "litellm_output_tokens_metric",
138
138
  "Total number of output tokens from LLM requests",
139
139
  labelnames=self.get_labels_for_metric("litellm_output_tokens_metric"),
140
140
  )
@@ -2293,10 +2293,60 @@ def get_custom_labels_from_metadata(metadata: dict) -> Dict[str, str]:
2293
2293
  return result
2294
2294
 
2295
2295
 
2296
+ def _tag_matches_wildcard_configured_pattern(tags: List[str], configured_tag: str) -> bool:
2297
+ """
2298
+ Check if any of the request tags matches a wildcard configured pattern
2299
+
2300
+ Args:
2301
+ tags: List[str] - The request tags
2302
+ configured_tag: str - The configured tag
2303
+
2304
+ Returns:
2305
+ bool - True if any of the request tags matches the configured tag, False otherwise
2306
+
2307
+ e.g.
2308
+ tags = ["User-Agent: curl/7.68.0", "User-Agent: python-requests/2.28.1", "prod"]
2309
+ configured_tag = "User-Agent: curl/*"
2310
+ _tag_matches_wildcard_configured_pattern(tags=tags, configured_tag=configured_tag) # True
2311
+
2312
+ configured_tag = "User-Agent: python-requests/*"
2313
+ _tag_matches_wildcard_configured_pattern(tags=tags, configured_tag=configured_tag) # True
2314
+
2315
+ configured_tag = "gm"
2316
+ _tag_matches_wildcard_configured_pattern(tags=tags, configured_tag=configured_tag) # False
2317
+ """
2318
+ import re
2319
+
2320
+ from litellm.router_utils.pattern_match_deployments import PatternMatchRouter
2321
+ pattern_router = PatternMatchRouter()
2322
+ regex_pattern = pattern_router._pattern_to_regex(configured_tag)
2323
+ return any(re.match(pattern=regex_pattern, string=tag) for tag in tags)
2324
+
2325
+
2296
2326
  def get_custom_labels_from_tags(tags: List[str]) -> Dict[str, str]:
2297
2327
  """
2298
- Get custom labels from tags based on admin configuration
2328
+ Get custom labels from tags based on admin configuration.
2329
+
2330
+ Supports both exact matches and wildcard patterns:
2331
+ - Exact match: "prod" matches "prod" exactly
2332
+ - Wildcard pattern: "User-Agent: curl/*" matches "User-Agent: curl/7.68.0"
2333
+
2334
+ Reuses PatternMatchRouter for wildcard pattern matching.
2335
+
2336
+ Returns dict of label_name: "true" if the tag matches the configured tag, "false" otherwise
2337
+
2338
+ {
2339
+ "tag_User-Agent_curl": "true",
2340
+ "tag_User-Agent_python_requests": "false",
2341
+ "tag_Environment_prod": "true",
2342
+ "tag_Environment_dev": "false",
2343
+ "tag_Service_api_gateway_v2": "true",
2344
+ "tag_Service_web_app_v1": "false",
2345
+ }
2299
2346
  """
2347
+ import re
2348
+
2349
+ from litellm.router_utils.pattern_match_deployments import PatternMatchRouter
2300
2350
  from litellm.types.integrations.prometheus import _sanitize_prometheus_label_name
2301
2351
 
2302
2352
  configured_tags = litellm.custom_prometheus_tags
@@ -2304,16 +2354,22 @@ def get_custom_labels_from_tags(tags: List[str]) -> Dict[str, str]:
2304
2354
  return {}
2305
2355
 
2306
2356
  result: Dict[str, str] = {}
2357
+ pattern_router = PatternMatchRouter()
2307
2358
 
2308
- # Map each configured tag to its presence in the request tags
2309
2359
  for configured_tag in configured_tags:
2310
- # Create a safe prometheus label name
2311
2360
  label_name = _sanitize_prometheus_label_name(f"tag_{configured_tag}")
2312
-
2313
- # Check if this tag is present in the request tags
2361
+
2362
+ # Check for exact match first (backwards compatibility)
2314
2363
  if configured_tag in tags:
2315
2364
  result[label_name] = "true"
2316
- else:
2317
- result[label_name] = "false"
2365
+ continue
2366
+
2367
+ # Use PatternMatchRouter for wildcard pattern matching
2368
+ if "*" in configured_tag and _tag_matches_wildcard_configured_pattern(tags=tags, configured_tag=configured_tag):
2369
+ result[label_name] = "true"
2370
+ continue
2371
+
2372
+ # No match found
2373
+ result[label_name] = "false"
2318
2374
 
2319
2375
  return result
@@ -20,7 +20,6 @@ class EnterpriseRouteChecks:
20
20
  status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
21
21
  detail=f"🚨🚨🚨 DISABLING LLM API ENDPOINTS is an Enterprise feature\n🚨 {CommonProxyErrors.not_premium_user.value}",
22
22
  )
23
- return False
24
23
 
25
24
  return get_secret_bool("DISABLE_LLM_API_ENDPOINTS") is True
26
25
 
@@ -3,7 +3,7 @@ from typing import Any, Optional
3
3
  from fastapi import Request
4
4
 
5
5
  from litellm._logging import verbose_proxy_logger
6
- from litellm.proxy._types import UserAPIKeyAuth
6
+ from litellm.proxy._types import ProxyException, UserAPIKeyAuth
7
7
 
8
8
 
9
9
  async def enterprise_custom_auth(
@@ -24,6 +24,8 @@ async def enterprise_custom_auth(
24
24
  elif custom_auth_settings["mode"] == "auto":
25
25
  try:
26
26
  return await user_custom_auth(request, api_key)
27
+ except ProxyException as e:
28
+ raise e
27
29
  except Exception as e:
28
30
  verbose_proxy_logger.debug(
29
31
  f"Error in custom auth, checking litellm auth: {e}"
@@ -290,6 +290,7 @@ class _PROXY_LiteLLMManagedFiles(CustomLogger, BaseFileEndpoints):
290
290
  "aretrieve_fine_tuning_job",
291
291
  "alist_fine_tuning_jobs",
292
292
  "acancel_fine_tuning_job",
293
+ "mcp_call",
293
294
  ],
294
295
  ) -> Union[Exception, str, Dict, None]:
295
296
  """
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "litellm-enterprise"
3
- version = "0.1.16"
3
+ version = "0.1.18"
4
4
  description = "Package for LiteLLM Enterprise features"
5
5
  authors = ["BerriAI"]
6
6
  readme = "README.md"
@@ -22,7 +22,7 @@ requires = ["poetry-core"]
22
22
  build-backend = "poetry.core.masonry.api"
23
23
 
24
24
  [tool.commitizen]
25
- version = "0.1.16"
25
+ version = "0.1.18"
26
26
  version_files = [
27
27
  "pyproject.toml:version",
28
28
  "../requirements.txt:litellm-enterprise==",