genesis-flow 1.0.0__py3-none-any.whl

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 (645) hide show
  1. genesis_flow-1.0.0.dist-info/METADATA +822 -0
  2. genesis_flow-1.0.0.dist-info/RECORD +645 -0
  3. genesis_flow-1.0.0.dist-info/WHEEL +5 -0
  4. genesis_flow-1.0.0.dist-info/entry_points.txt +19 -0
  5. genesis_flow-1.0.0.dist-info/licenses/LICENSE.txt +202 -0
  6. genesis_flow-1.0.0.dist-info/top_level.txt +1 -0
  7. mlflow/__init__.py +367 -0
  8. mlflow/__main__.py +3 -0
  9. mlflow/ag2/__init__.py +56 -0
  10. mlflow/ag2/ag2_logger.py +294 -0
  11. mlflow/anthropic/__init__.py +40 -0
  12. mlflow/anthropic/autolog.py +129 -0
  13. mlflow/anthropic/chat.py +144 -0
  14. mlflow/artifacts/__init__.py +268 -0
  15. mlflow/autogen/__init__.py +144 -0
  16. mlflow/autogen/chat.py +142 -0
  17. mlflow/azure/__init__.py +26 -0
  18. mlflow/azure/auth_handler.py +257 -0
  19. mlflow/azure/client.py +319 -0
  20. mlflow/azure/config.py +120 -0
  21. mlflow/azure/connection_factory.py +340 -0
  22. mlflow/azure/exceptions.py +27 -0
  23. mlflow/azure/stores.py +327 -0
  24. mlflow/azure/utils.py +183 -0
  25. mlflow/bedrock/__init__.py +45 -0
  26. mlflow/bedrock/_autolog.py +202 -0
  27. mlflow/bedrock/chat.py +122 -0
  28. mlflow/bedrock/stream.py +160 -0
  29. mlflow/bedrock/utils.py +43 -0
  30. mlflow/cli.py +707 -0
  31. mlflow/client.py +12 -0
  32. mlflow/config/__init__.py +56 -0
  33. mlflow/crewai/__init__.py +79 -0
  34. mlflow/crewai/autolog.py +253 -0
  35. mlflow/crewai/chat.py +29 -0
  36. mlflow/data/__init__.py +75 -0
  37. mlflow/data/artifact_dataset_sources.py +170 -0
  38. mlflow/data/code_dataset_source.py +40 -0
  39. mlflow/data/dataset.py +123 -0
  40. mlflow/data/dataset_registry.py +168 -0
  41. mlflow/data/dataset_source.py +110 -0
  42. mlflow/data/dataset_source_registry.py +219 -0
  43. mlflow/data/delta_dataset_source.py +167 -0
  44. mlflow/data/digest_utils.py +108 -0
  45. mlflow/data/evaluation_dataset.py +562 -0
  46. mlflow/data/filesystem_dataset_source.py +81 -0
  47. mlflow/data/http_dataset_source.py +145 -0
  48. mlflow/data/huggingface_dataset.py +258 -0
  49. mlflow/data/huggingface_dataset_source.py +118 -0
  50. mlflow/data/meta_dataset.py +104 -0
  51. mlflow/data/numpy_dataset.py +223 -0
  52. mlflow/data/pandas_dataset.py +231 -0
  53. mlflow/data/polars_dataset.py +352 -0
  54. mlflow/data/pyfunc_dataset_mixin.py +31 -0
  55. mlflow/data/schema.py +76 -0
  56. mlflow/data/sources.py +1 -0
  57. mlflow/data/spark_dataset.py +406 -0
  58. mlflow/data/spark_dataset_source.py +74 -0
  59. mlflow/data/spark_delta_utils.py +118 -0
  60. mlflow/data/tensorflow_dataset.py +350 -0
  61. mlflow/data/uc_volume_dataset_source.py +81 -0
  62. mlflow/db.py +27 -0
  63. mlflow/dspy/__init__.py +17 -0
  64. mlflow/dspy/autolog.py +197 -0
  65. mlflow/dspy/callback.py +398 -0
  66. mlflow/dspy/constant.py +1 -0
  67. mlflow/dspy/load.py +93 -0
  68. mlflow/dspy/save.py +393 -0
  69. mlflow/dspy/util.py +109 -0
  70. mlflow/dspy/wrapper.py +226 -0
  71. mlflow/entities/__init__.py +104 -0
  72. mlflow/entities/_mlflow_object.py +52 -0
  73. mlflow/entities/assessment.py +545 -0
  74. mlflow/entities/assessment_error.py +80 -0
  75. mlflow/entities/assessment_source.py +141 -0
  76. mlflow/entities/dataset.py +92 -0
  77. mlflow/entities/dataset_input.py +51 -0
  78. mlflow/entities/dataset_summary.py +62 -0
  79. mlflow/entities/document.py +48 -0
  80. mlflow/entities/experiment.py +109 -0
  81. mlflow/entities/experiment_tag.py +35 -0
  82. mlflow/entities/file_info.py +45 -0
  83. mlflow/entities/input_tag.py +35 -0
  84. mlflow/entities/lifecycle_stage.py +35 -0
  85. mlflow/entities/logged_model.py +228 -0
  86. mlflow/entities/logged_model_input.py +26 -0
  87. mlflow/entities/logged_model_output.py +32 -0
  88. mlflow/entities/logged_model_parameter.py +46 -0
  89. mlflow/entities/logged_model_status.py +74 -0
  90. mlflow/entities/logged_model_tag.py +33 -0
  91. mlflow/entities/metric.py +200 -0
  92. mlflow/entities/model_registry/__init__.py +29 -0
  93. mlflow/entities/model_registry/_model_registry_entity.py +13 -0
  94. mlflow/entities/model_registry/model_version.py +243 -0
  95. mlflow/entities/model_registry/model_version_deployment_job_run_state.py +44 -0
  96. mlflow/entities/model_registry/model_version_deployment_job_state.py +70 -0
  97. mlflow/entities/model_registry/model_version_search.py +25 -0
  98. mlflow/entities/model_registry/model_version_stages.py +25 -0
  99. mlflow/entities/model_registry/model_version_status.py +35 -0
  100. mlflow/entities/model_registry/model_version_tag.py +35 -0
  101. mlflow/entities/model_registry/prompt.py +73 -0
  102. mlflow/entities/model_registry/prompt_version.py +244 -0
  103. mlflow/entities/model_registry/registered_model.py +175 -0
  104. mlflow/entities/model_registry/registered_model_alias.py +35 -0
  105. mlflow/entities/model_registry/registered_model_deployment_job_state.py +39 -0
  106. mlflow/entities/model_registry/registered_model_search.py +25 -0
  107. mlflow/entities/model_registry/registered_model_tag.py +35 -0
  108. mlflow/entities/multipart_upload.py +74 -0
  109. mlflow/entities/param.py +49 -0
  110. mlflow/entities/run.py +97 -0
  111. mlflow/entities/run_data.py +84 -0
  112. mlflow/entities/run_info.py +188 -0
  113. mlflow/entities/run_inputs.py +59 -0
  114. mlflow/entities/run_outputs.py +43 -0
  115. mlflow/entities/run_status.py +41 -0
  116. mlflow/entities/run_tag.py +36 -0
  117. mlflow/entities/source_type.py +31 -0
  118. mlflow/entities/span.py +774 -0
  119. mlflow/entities/span_event.py +96 -0
  120. mlflow/entities/span_status.py +102 -0
  121. mlflow/entities/trace.py +317 -0
  122. mlflow/entities/trace_data.py +71 -0
  123. mlflow/entities/trace_info.py +220 -0
  124. mlflow/entities/trace_info_v2.py +162 -0
  125. mlflow/entities/trace_location.py +173 -0
  126. mlflow/entities/trace_state.py +39 -0
  127. mlflow/entities/trace_status.py +68 -0
  128. mlflow/entities/view_type.py +51 -0
  129. mlflow/environment_variables.py +866 -0
  130. mlflow/evaluation/__init__.py +16 -0
  131. mlflow/evaluation/assessment.py +369 -0
  132. mlflow/evaluation/evaluation.py +411 -0
  133. mlflow/evaluation/evaluation_tag.py +61 -0
  134. mlflow/evaluation/fluent.py +48 -0
  135. mlflow/evaluation/utils.py +201 -0
  136. mlflow/exceptions.py +213 -0
  137. mlflow/experiments.py +140 -0
  138. mlflow/gemini/__init__.py +81 -0
  139. mlflow/gemini/autolog.py +186 -0
  140. mlflow/gemini/chat.py +261 -0
  141. mlflow/genai/__init__.py +71 -0
  142. mlflow/genai/datasets/__init__.py +67 -0
  143. mlflow/genai/datasets/evaluation_dataset.py +131 -0
  144. mlflow/genai/evaluation/__init__.py +3 -0
  145. mlflow/genai/evaluation/base.py +411 -0
  146. mlflow/genai/evaluation/constant.py +23 -0
  147. mlflow/genai/evaluation/utils.py +244 -0
  148. mlflow/genai/judges/__init__.py +21 -0
  149. mlflow/genai/judges/databricks.py +404 -0
  150. mlflow/genai/label_schemas/__init__.py +153 -0
  151. mlflow/genai/label_schemas/label_schemas.py +209 -0
  152. mlflow/genai/labeling/__init__.py +159 -0
  153. mlflow/genai/labeling/labeling.py +250 -0
  154. mlflow/genai/optimize/__init__.py +13 -0
  155. mlflow/genai/optimize/base.py +198 -0
  156. mlflow/genai/optimize/optimizers/__init__.py +4 -0
  157. mlflow/genai/optimize/optimizers/base_optimizer.py +38 -0
  158. mlflow/genai/optimize/optimizers/dspy_mipro_optimizer.py +221 -0
  159. mlflow/genai/optimize/optimizers/dspy_optimizer.py +91 -0
  160. mlflow/genai/optimize/optimizers/utils/dspy_mipro_callback.py +76 -0
  161. mlflow/genai/optimize/optimizers/utils/dspy_mipro_utils.py +18 -0
  162. mlflow/genai/optimize/types.py +75 -0
  163. mlflow/genai/optimize/util.py +30 -0
  164. mlflow/genai/prompts/__init__.py +206 -0
  165. mlflow/genai/scheduled_scorers.py +431 -0
  166. mlflow/genai/scorers/__init__.py +26 -0
  167. mlflow/genai/scorers/base.py +492 -0
  168. mlflow/genai/scorers/builtin_scorers.py +765 -0
  169. mlflow/genai/scorers/scorer_utils.py +138 -0
  170. mlflow/genai/scorers/validation.py +165 -0
  171. mlflow/genai/utils/data_validation.py +146 -0
  172. mlflow/genai/utils/enum_utils.py +23 -0
  173. mlflow/genai/utils/trace_utils.py +211 -0
  174. mlflow/groq/__init__.py +42 -0
  175. mlflow/groq/_groq_autolog.py +74 -0
  176. mlflow/johnsnowlabs/__init__.py +888 -0
  177. mlflow/langchain/__init__.py +24 -0
  178. mlflow/langchain/api_request_parallel_processor.py +330 -0
  179. mlflow/langchain/autolog.py +147 -0
  180. mlflow/langchain/chat_agent_langgraph.py +340 -0
  181. mlflow/langchain/constant.py +1 -0
  182. mlflow/langchain/constants.py +1 -0
  183. mlflow/langchain/databricks_dependencies.py +444 -0
  184. mlflow/langchain/langchain_tracer.py +597 -0
  185. mlflow/langchain/model.py +919 -0
  186. mlflow/langchain/output_parsers.py +142 -0
  187. mlflow/langchain/retriever_chain.py +153 -0
  188. mlflow/langchain/runnables.py +527 -0
  189. mlflow/langchain/utils/chat.py +402 -0
  190. mlflow/langchain/utils/logging.py +671 -0
  191. mlflow/langchain/utils/serialization.py +36 -0
  192. mlflow/legacy_databricks_cli/__init__.py +0 -0
  193. mlflow/legacy_databricks_cli/configure/__init__.py +0 -0
  194. mlflow/legacy_databricks_cli/configure/provider.py +482 -0
  195. mlflow/litellm/__init__.py +175 -0
  196. mlflow/llama_index/__init__.py +22 -0
  197. mlflow/llama_index/autolog.py +55 -0
  198. mlflow/llama_index/chat.py +43 -0
  199. mlflow/llama_index/constant.py +1 -0
  200. mlflow/llama_index/model.py +577 -0
  201. mlflow/llama_index/pyfunc_wrapper.py +332 -0
  202. mlflow/llama_index/serialize_objects.py +188 -0
  203. mlflow/llama_index/tracer.py +561 -0
  204. mlflow/metrics/__init__.py +479 -0
  205. mlflow/metrics/base.py +39 -0
  206. mlflow/metrics/genai/__init__.py +25 -0
  207. mlflow/metrics/genai/base.py +101 -0
  208. mlflow/metrics/genai/genai_metric.py +771 -0
  209. mlflow/metrics/genai/metric_definitions.py +450 -0
  210. mlflow/metrics/genai/model_utils.py +371 -0
  211. mlflow/metrics/genai/prompt_template.py +68 -0
  212. mlflow/metrics/genai/prompts/__init__.py +0 -0
  213. mlflow/metrics/genai/prompts/v1.py +422 -0
  214. mlflow/metrics/genai/utils.py +6 -0
  215. mlflow/metrics/metric_definitions.py +619 -0
  216. mlflow/mismatch.py +34 -0
  217. mlflow/mistral/__init__.py +34 -0
  218. mlflow/mistral/autolog.py +71 -0
  219. mlflow/mistral/chat.py +135 -0
  220. mlflow/ml_package_versions.py +452 -0
  221. mlflow/models/__init__.py +97 -0
  222. mlflow/models/auth_policy.py +83 -0
  223. mlflow/models/cli.py +354 -0
  224. mlflow/models/container/__init__.py +294 -0
  225. mlflow/models/container/scoring_server/__init__.py +0 -0
  226. mlflow/models/container/scoring_server/nginx.conf +39 -0
  227. mlflow/models/dependencies_schemas.py +287 -0
  228. mlflow/models/display_utils.py +158 -0
  229. mlflow/models/docker_utils.py +211 -0
  230. mlflow/models/evaluation/__init__.py +23 -0
  231. mlflow/models/evaluation/_shap_patch.py +64 -0
  232. mlflow/models/evaluation/artifacts.py +194 -0
  233. mlflow/models/evaluation/base.py +1811 -0
  234. mlflow/models/evaluation/calibration_curve.py +109 -0
  235. mlflow/models/evaluation/default_evaluator.py +996 -0
  236. mlflow/models/evaluation/deprecated.py +23 -0
  237. mlflow/models/evaluation/evaluator_registry.py +80 -0
  238. mlflow/models/evaluation/evaluators/classifier.py +704 -0
  239. mlflow/models/evaluation/evaluators/default.py +233 -0
  240. mlflow/models/evaluation/evaluators/regressor.py +96 -0
  241. mlflow/models/evaluation/evaluators/shap.py +296 -0
  242. mlflow/models/evaluation/lift_curve.py +178 -0
  243. mlflow/models/evaluation/utils/metric.py +123 -0
  244. mlflow/models/evaluation/utils/trace.py +179 -0
  245. mlflow/models/evaluation/validation.py +434 -0
  246. mlflow/models/flavor_backend.py +93 -0
  247. mlflow/models/flavor_backend_registry.py +53 -0
  248. mlflow/models/model.py +1639 -0
  249. mlflow/models/model_config.py +150 -0
  250. mlflow/models/notebook_resources/agent_evaluation_template.html +235 -0
  251. mlflow/models/notebook_resources/eval_with_dataset_example.py +22 -0
  252. mlflow/models/notebook_resources/eval_with_synthetic_example.py +22 -0
  253. mlflow/models/python_api.py +369 -0
  254. mlflow/models/rag_signatures.py +128 -0
  255. mlflow/models/resources.py +321 -0
  256. mlflow/models/signature.py +662 -0
  257. mlflow/models/utils.py +2054 -0
  258. mlflow/models/wheeled_model.py +280 -0
  259. mlflow/openai/__init__.py +57 -0
  260. mlflow/openai/_agent_tracer.py +364 -0
  261. mlflow/openai/api_request_parallel_processor.py +131 -0
  262. mlflow/openai/autolog.py +509 -0
  263. mlflow/openai/constant.py +1 -0
  264. mlflow/openai/model.py +824 -0
  265. mlflow/openai/utils/chat_schema.py +367 -0
  266. mlflow/optuna/__init__.py +3 -0
  267. mlflow/optuna/storage.py +646 -0
  268. mlflow/plugins/__init__.py +72 -0
  269. mlflow/plugins/base.py +358 -0
  270. mlflow/plugins/builtin/__init__.py +24 -0
  271. mlflow/plugins/builtin/pytorch_plugin.py +150 -0
  272. mlflow/plugins/builtin/sklearn_plugin.py +158 -0
  273. mlflow/plugins/builtin/transformers_plugin.py +187 -0
  274. mlflow/plugins/cli.py +321 -0
  275. mlflow/plugins/discovery.py +340 -0
  276. mlflow/plugins/manager.py +465 -0
  277. mlflow/plugins/registry.py +316 -0
  278. mlflow/plugins/templates/framework_plugin_template.py +329 -0
  279. mlflow/prompt/constants.py +20 -0
  280. mlflow/prompt/promptlab_model.py +197 -0
  281. mlflow/prompt/registry_utils.py +248 -0
  282. mlflow/promptflow/__init__.py +495 -0
  283. mlflow/protos/__init__.py +0 -0
  284. mlflow/protos/assessments_pb2.py +174 -0
  285. mlflow/protos/databricks_artifacts_pb2.py +489 -0
  286. mlflow/protos/databricks_filesystem_service_pb2.py +196 -0
  287. mlflow/protos/databricks_managed_catalog_messages_pb2.py +95 -0
  288. mlflow/protos/databricks_managed_catalog_service_pb2.py +86 -0
  289. mlflow/protos/databricks_pb2.py +267 -0
  290. mlflow/protos/databricks_trace_server_pb2.py +374 -0
  291. mlflow/protos/databricks_uc_registry_messages_pb2.py +1249 -0
  292. mlflow/protos/databricks_uc_registry_service_pb2.py +170 -0
  293. mlflow/protos/facet_feature_statistics_pb2.py +296 -0
  294. mlflow/protos/internal_pb2.py +77 -0
  295. mlflow/protos/mlflow_artifacts_pb2.py +336 -0
  296. mlflow/protos/model_registry_pb2.py +1073 -0
  297. mlflow/protos/scalapb/__init__.py +0 -0
  298. mlflow/protos/scalapb/scalapb_pb2.py +104 -0
  299. mlflow/protos/service_pb2.py +2600 -0
  300. mlflow/protos/unity_catalog_oss_messages_pb2.py +457 -0
  301. mlflow/protos/unity_catalog_oss_service_pb2.py +130 -0
  302. mlflow/protos/unity_catalog_prompt_messages_pb2.py +447 -0
  303. mlflow/protos/unity_catalog_prompt_messages_pb2_grpc.py +24 -0
  304. mlflow/protos/unity_catalog_prompt_service_pb2.py +164 -0
  305. mlflow/protos/unity_catalog_prompt_service_pb2_grpc.py +785 -0
  306. mlflow/py.typed +0 -0
  307. mlflow/pydantic_ai/__init__.py +57 -0
  308. mlflow/pydantic_ai/autolog.py +173 -0
  309. mlflow/pyfunc/__init__.py +3844 -0
  310. mlflow/pyfunc/_mlflow_pyfunc_backend_predict.py +61 -0
  311. mlflow/pyfunc/backend.py +523 -0
  312. mlflow/pyfunc/context.py +78 -0
  313. mlflow/pyfunc/dbconnect_artifact_cache.py +144 -0
  314. mlflow/pyfunc/loaders/__init__.py +7 -0
  315. mlflow/pyfunc/loaders/chat_agent.py +117 -0
  316. mlflow/pyfunc/loaders/chat_model.py +125 -0
  317. mlflow/pyfunc/loaders/code_model.py +31 -0
  318. mlflow/pyfunc/loaders/responses_agent.py +112 -0
  319. mlflow/pyfunc/mlserver.py +46 -0
  320. mlflow/pyfunc/model.py +1473 -0
  321. mlflow/pyfunc/scoring_server/__init__.py +604 -0
  322. mlflow/pyfunc/scoring_server/app.py +7 -0
  323. mlflow/pyfunc/scoring_server/client.py +146 -0
  324. mlflow/pyfunc/spark_model_cache.py +48 -0
  325. mlflow/pyfunc/stdin_server.py +44 -0
  326. mlflow/pyfunc/utils/__init__.py +3 -0
  327. mlflow/pyfunc/utils/data_validation.py +224 -0
  328. mlflow/pyfunc/utils/environment.py +22 -0
  329. mlflow/pyfunc/utils/input_converter.py +47 -0
  330. mlflow/pyfunc/utils/serving_data_parser.py +11 -0
  331. mlflow/pytorch/__init__.py +1171 -0
  332. mlflow/pytorch/_lightning_autolog.py +580 -0
  333. mlflow/pytorch/_pytorch_autolog.py +50 -0
  334. mlflow/pytorch/pickle_module.py +35 -0
  335. mlflow/rfunc/__init__.py +42 -0
  336. mlflow/rfunc/backend.py +134 -0
  337. mlflow/runs.py +89 -0
  338. mlflow/server/__init__.py +302 -0
  339. mlflow/server/auth/__init__.py +1224 -0
  340. mlflow/server/auth/__main__.py +4 -0
  341. mlflow/server/auth/basic_auth.ini +6 -0
  342. mlflow/server/auth/cli.py +11 -0
  343. mlflow/server/auth/client.py +537 -0
  344. mlflow/server/auth/config.py +34 -0
  345. mlflow/server/auth/db/__init__.py +0 -0
  346. mlflow/server/auth/db/cli.py +18 -0
  347. mlflow/server/auth/db/migrations/__init__.py +0 -0
  348. mlflow/server/auth/db/migrations/alembic.ini +110 -0
  349. mlflow/server/auth/db/migrations/env.py +76 -0
  350. mlflow/server/auth/db/migrations/versions/8606fa83a998_initial_migration.py +51 -0
  351. mlflow/server/auth/db/migrations/versions/__init__.py +0 -0
  352. mlflow/server/auth/db/models.py +67 -0
  353. mlflow/server/auth/db/utils.py +37 -0
  354. mlflow/server/auth/entities.py +165 -0
  355. mlflow/server/auth/logo.py +14 -0
  356. mlflow/server/auth/permissions.py +65 -0
  357. mlflow/server/auth/routes.py +18 -0
  358. mlflow/server/auth/sqlalchemy_store.py +263 -0
  359. mlflow/server/graphql/__init__.py +0 -0
  360. mlflow/server/graphql/autogenerated_graphql_schema.py +353 -0
  361. mlflow/server/graphql/graphql_custom_scalars.py +24 -0
  362. mlflow/server/graphql/graphql_errors.py +15 -0
  363. mlflow/server/graphql/graphql_no_batching.py +89 -0
  364. mlflow/server/graphql/graphql_schema_extensions.py +74 -0
  365. mlflow/server/handlers.py +3217 -0
  366. mlflow/server/prometheus_exporter.py +17 -0
  367. mlflow/server/validation.py +30 -0
  368. mlflow/shap/__init__.py +691 -0
  369. mlflow/sklearn/__init__.py +1994 -0
  370. mlflow/sklearn/utils.py +1041 -0
  371. mlflow/smolagents/__init__.py +66 -0
  372. mlflow/smolagents/autolog.py +139 -0
  373. mlflow/smolagents/chat.py +29 -0
  374. mlflow/store/__init__.py +10 -0
  375. mlflow/store/_unity_catalog/__init__.py +1 -0
  376. mlflow/store/_unity_catalog/lineage/__init__.py +1 -0
  377. mlflow/store/_unity_catalog/lineage/constants.py +2 -0
  378. mlflow/store/_unity_catalog/registry/__init__.py +6 -0
  379. mlflow/store/_unity_catalog/registry/prompt_info.py +75 -0
  380. mlflow/store/_unity_catalog/registry/rest_store.py +1740 -0
  381. mlflow/store/_unity_catalog/registry/uc_oss_rest_store.py +507 -0
  382. mlflow/store/_unity_catalog/registry/utils.py +121 -0
  383. mlflow/store/artifact/__init__.py +0 -0
  384. mlflow/store/artifact/artifact_repo.py +472 -0
  385. mlflow/store/artifact/artifact_repository_registry.py +154 -0
  386. mlflow/store/artifact/azure_blob_artifact_repo.py +275 -0
  387. mlflow/store/artifact/azure_data_lake_artifact_repo.py +295 -0
  388. mlflow/store/artifact/cli.py +141 -0
  389. mlflow/store/artifact/cloud_artifact_repo.py +332 -0
  390. mlflow/store/artifact/databricks_artifact_repo.py +729 -0
  391. mlflow/store/artifact/databricks_artifact_repo_resources.py +301 -0
  392. mlflow/store/artifact/databricks_logged_model_artifact_repo.py +93 -0
  393. mlflow/store/artifact/databricks_models_artifact_repo.py +216 -0
  394. mlflow/store/artifact/databricks_sdk_artifact_repo.py +134 -0
  395. mlflow/store/artifact/databricks_sdk_models_artifact_repo.py +97 -0
  396. mlflow/store/artifact/dbfs_artifact_repo.py +240 -0
  397. mlflow/store/artifact/ftp_artifact_repo.py +132 -0
  398. mlflow/store/artifact/gcs_artifact_repo.py +296 -0
  399. mlflow/store/artifact/hdfs_artifact_repo.py +209 -0
  400. mlflow/store/artifact/http_artifact_repo.py +218 -0
  401. mlflow/store/artifact/local_artifact_repo.py +142 -0
  402. mlflow/store/artifact/mlflow_artifacts_repo.py +94 -0
  403. mlflow/store/artifact/models_artifact_repo.py +259 -0
  404. mlflow/store/artifact/optimized_s3_artifact_repo.py +356 -0
  405. mlflow/store/artifact/presigned_url_artifact_repo.py +173 -0
  406. mlflow/store/artifact/r2_artifact_repo.py +70 -0
  407. mlflow/store/artifact/runs_artifact_repo.py +265 -0
  408. mlflow/store/artifact/s3_artifact_repo.py +330 -0
  409. mlflow/store/artifact/sftp_artifact_repo.py +141 -0
  410. mlflow/store/artifact/uc_volume_artifact_repo.py +76 -0
  411. mlflow/store/artifact/unity_catalog_models_artifact_repo.py +168 -0
  412. mlflow/store/artifact/unity_catalog_oss_models_artifact_repo.py +168 -0
  413. mlflow/store/artifact/utils/__init__.py +0 -0
  414. mlflow/store/artifact/utils/models.py +148 -0
  415. mlflow/store/db/__init__.py +0 -0
  416. mlflow/store/db/base_sql_model.py +3 -0
  417. mlflow/store/db/db_types.py +10 -0
  418. mlflow/store/db/utils.py +314 -0
  419. mlflow/store/db_migrations/__init__.py +0 -0
  420. mlflow/store/db_migrations/alembic.ini +74 -0
  421. mlflow/store/db_migrations/env.py +84 -0
  422. mlflow/store/db_migrations/versions/0584bdc529eb_add_cascading_deletion_to_datasets_from_experiments.py +88 -0
  423. mlflow/store/db_migrations/versions/0a8213491aaa_drop_duplicate_killed_constraint.py +49 -0
  424. mlflow/store/db_migrations/versions/0c779009ac13_add_deleted_time_field_to_runs_table.py +24 -0
  425. mlflow/store/db_migrations/versions/181f10493468_allow_nulls_for_metric_values.py +35 -0
  426. mlflow/store/db_migrations/versions/27a6a02d2cf1_add_model_version_tags_table.py +38 -0
  427. mlflow/store/db_migrations/versions/2b4d017a5e9b_add_model_registry_tables_to_db.py +77 -0
  428. mlflow/store/db_migrations/versions/2d6e25af4d3e_increase_max_param_val_length.py +33 -0
  429. mlflow/store/db_migrations/versions/3500859a5d39_add_model_aliases_table.py +50 -0
  430. mlflow/store/db_migrations/versions/39d1c3be5f05_add_is_nan_constraint_for_metrics_tables_if_necessary.py +41 -0
  431. mlflow/store/db_migrations/versions/400f98739977_add_logged_model_tables.py +123 -0
  432. mlflow/store/db_migrations/versions/4465047574b1_increase_max_dataset_schema_size.py +38 -0
  433. mlflow/store/db_migrations/versions/451aebb31d03_add_metric_step.py +35 -0
  434. mlflow/store/db_migrations/versions/5b0e9adcef9c_add_cascade_deletion_to_trace_tables_fk.py +40 -0
  435. mlflow/store/db_migrations/versions/6953534de441_add_step_to_inputs_table.py +25 -0
  436. mlflow/store/db_migrations/versions/728d730b5ebd_add_registered_model_tags_table.py +38 -0
  437. mlflow/store/db_migrations/versions/7ac759974ad8_update_run_tags_with_larger_limit.py +36 -0
  438. mlflow/store/db_migrations/versions/7f2a7d5fae7d_add_datasets_inputs_input_tags_tables.py +82 -0
  439. mlflow/store/db_migrations/versions/84291f40a231_add_run_link_to_model_version.py +26 -0
  440. mlflow/store/db_migrations/versions/867495a8f9d4_add_trace_tables.py +90 -0
  441. mlflow/store/db_migrations/versions/89d4b8295536_create_latest_metrics_table.py +169 -0
  442. mlflow/store/db_migrations/versions/90e64c465722_migrate_user_column_to_tags.py +64 -0
  443. mlflow/store/db_migrations/versions/97727af70f4d_creation_time_last_update_time_experiments.py +25 -0
  444. mlflow/store/db_migrations/versions/__init__.py +0 -0
  445. mlflow/store/db_migrations/versions/a8c4a736bde6_allow_nulls_for_run_id.py +27 -0
  446. mlflow/store/db_migrations/versions/acf3f17fdcc7_add_storage_location_field_to_model_.py +29 -0
  447. mlflow/store/db_migrations/versions/bd07f7e963c5_create_index_on_run_uuid.py +26 -0
  448. mlflow/store/db_migrations/versions/bda7b8c39065_increase_model_version_tag_value_limit.py +38 -0
  449. mlflow/store/db_migrations/versions/c48cb773bb87_reset_default_value_for_is_nan_in_metrics_table_for_mysql.py +41 -0
  450. mlflow/store/db_migrations/versions/cbc13b556ace_add_v3_trace_schema_columns.py +31 -0
  451. mlflow/store/db_migrations/versions/cc1f77228345_change_param_value_length_to_500.py +34 -0
  452. mlflow/store/db_migrations/versions/cfd24bdc0731_update_run_status_constraint_with_killed.py +78 -0
  453. mlflow/store/db_migrations/versions/df50e92ffc5e_add_experiment_tags_table.py +38 -0
  454. mlflow/store/db_migrations/versions/f5a4f2784254_increase_run_tag_value_limit.py +36 -0
  455. mlflow/store/entities/__init__.py +3 -0
  456. mlflow/store/entities/paged_list.py +18 -0
  457. mlflow/store/model_registry/__init__.py +10 -0
  458. mlflow/store/model_registry/abstract_store.py +1081 -0
  459. mlflow/store/model_registry/base_rest_store.py +44 -0
  460. mlflow/store/model_registry/databricks_workspace_model_registry_rest_store.py +37 -0
  461. mlflow/store/model_registry/dbmodels/__init__.py +0 -0
  462. mlflow/store/model_registry/dbmodels/models.py +206 -0
  463. mlflow/store/model_registry/file_store.py +1091 -0
  464. mlflow/store/model_registry/rest_store.py +481 -0
  465. mlflow/store/model_registry/sqlalchemy_store.py +1286 -0
  466. mlflow/store/tracking/__init__.py +23 -0
  467. mlflow/store/tracking/abstract_store.py +816 -0
  468. mlflow/store/tracking/dbmodels/__init__.py +0 -0
  469. mlflow/store/tracking/dbmodels/initial_models.py +243 -0
  470. mlflow/store/tracking/dbmodels/models.py +1073 -0
  471. mlflow/store/tracking/file_store.py +2438 -0
  472. mlflow/store/tracking/postgres_managed_identity.py +146 -0
  473. mlflow/store/tracking/rest_store.py +1131 -0
  474. mlflow/store/tracking/sqlalchemy_store.py +2785 -0
  475. mlflow/system_metrics/__init__.py +61 -0
  476. mlflow/system_metrics/metrics/__init__.py +0 -0
  477. mlflow/system_metrics/metrics/base_metrics_monitor.py +32 -0
  478. mlflow/system_metrics/metrics/cpu_monitor.py +23 -0
  479. mlflow/system_metrics/metrics/disk_monitor.py +21 -0
  480. mlflow/system_metrics/metrics/gpu_monitor.py +71 -0
  481. mlflow/system_metrics/metrics/network_monitor.py +34 -0
  482. mlflow/system_metrics/metrics/rocm_monitor.py +123 -0
  483. mlflow/system_metrics/system_metrics_monitor.py +198 -0
  484. mlflow/tracing/__init__.py +16 -0
  485. mlflow/tracing/assessment.py +356 -0
  486. mlflow/tracing/client.py +531 -0
  487. mlflow/tracing/config.py +125 -0
  488. mlflow/tracing/constant.py +105 -0
  489. mlflow/tracing/destination.py +81 -0
  490. mlflow/tracing/display/__init__.py +40 -0
  491. mlflow/tracing/display/display_handler.py +196 -0
  492. mlflow/tracing/export/async_export_queue.py +186 -0
  493. mlflow/tracing/export/inference_table.py +138 -0
  494. mlflow/tracing/export/mlflow_v3.py +137 -0
  495. mlflow/tracing/export/utils.py +70 -0
  496. mlflow/tracing/fluent.py +1417 -0
  497. mlflow/tracing/processor/base_mlflow.py +199 -0
  498. mlflow/tracing/processor/inference_table.py +175 -0
  499. mlflow/tracing/processor/mlflow_v3.py +47 -0
  500. mlflow/tracing/processor/otel.py +73 -0
  501. mlflow/tracing/provider.py +487 -0
  502. mlflow/tracing/trace_manager.py +200 -0
  503. mlflow/tracing/utils/__init__.py +616 -0
  504. mlflow/tracing/utils/artifact_utils.py +28 -0
  505. mlflow/tracing/utils/copy.py +55 -0
  506. mlflow/tracing/utils/environment.py +55 -0
  507. mlflow/tracing/utils/exception.py +21 -0
  508. mlflow/tracing/utils/once.py +35 -0
  509. mlflow/tracing/utils/otlp.py +63 -0
  510. mlflow/tracing/utils/processor.py +54 -0
  511. mlflow/tracing/utils/search.py +292 -0
  512. mlflow/tracing/utils/timeout.py +250 -0
  513. mlflow/tracing/utils/token.py +19 -0
  514. mlflow/tracing/utils/truncation.py +124 -0
  515. mlflow/tracing/utils/warning.py +76 -0
  516. mlflow/tracking/__init__.py +39 -0
  517. mlflow/tracking/_model_registry/__init__.py +1 -0
  518. mlflow/tracking/_model_registry/client.py +764 -0
  519. mlflow/tracking/_model_registry/fluent.py +853 -0
  520. mlflow/tracking/_model_registry/registry.py +67 -0
  521. mlflow/tracking/_model_registry/utils.py +251 -0
  522. mlflow/tracking/_tracking_service/__init__.py +0 -0
  523. mlflow/tracking/_tracking_service/client.py +883 -0
  524. mlflow/tracking/_tracking_service/registry.py +56 -0
  525. mlflow/tracking/_tracking_service/utils.py +275 -0
  526. mlflow/tracking/artifact_utils.py +179 -0
  527. mlflow/tracking/client.py +5900 -0
  528. mlflow/tracking/context/__init__.py +0 -0
  529. mlflow/tracking/context/abstract_context.py +35 -0
  530. mlflow/tracking/context/databricks_cluster_context.py +15 -0
  531. mlflow/tracking/context/databricks_command_context.py +15 -0
  532. mlflow/tracking/context/databricks_job_context.py +49 -0
  533. mlflow/tracking/context/databricks_notebook_context.py +41 -0
  534. mlflow/tracking/context/databricks_repo_context.py +43 -0
  535. mlflow/tracking/context/default_context.py +51 -0
  536. mlflow/tracking/context/git_context.py +32 -0
  537. mlflow/tracking/context/registry.py +98 -0
  538. mlflow/tracking/context/system_environment_context.py +15 -0
  539. mlflow/tracking/default_experiment/__init__.py +1 -0
  540. mlflow/tracking/default_experiment/abstract_context.py +43 -0
  541. mlflow/tracking/default_experiment/databricks_notebook_experiment_provider.py +44 -0
  542. mlflow/tracking/default_experiment/registry.py +75 -0
  543. mlflow/tracking/fluent.py +3595 -0
  544. mlflow/tracking/metric_value_conversion_utils.py +93 -0
  545. mlflow/tracking/multimedia.py +206 -0
  546. mlflow/tracking/registry.py +86 -0
  547. mlflow/tracking/request_auth/__init__.py +0 -0
  548. mlflow/tracking/request_auth/abstract_request_auth_provider.py +34 -0
  549. mlflow/tracking/request_auth/registry.py +60 -0
  550. mlflow/tracking/request_header/__init__.py +0 -0
  551. mlflow/tracking/request_header/abstract_request_header_provider.py +36 -0
  552. mlflow/tracking/request_header/databricks_request_header_provider.py +38 -0
  553. mlflow/tracking/request_header/default_request_header_provider.py +17 -0
  554. mlflow/tracking/request_header/registry.py +79 -0
  555. mlflow/transformers/__init__.py +2982 -0
  556. mlflow/transformers/flavor_config.py +258 -0
  557. mlflow/transformers/hub_utils.py +83 -0
  558. mlflow/transformers/llm_inference_utils.py +468 -0
  559. mlflow/transformers/model_io.py +301 -0
  560. mlflow/transformers/peft.py +51 -0
  561. mlflow/transformers/signature.py +183 -0
  562. mlflow/transformers/torch_utils.py +55 -0
  563. mlflow/types/__init__.py +21 -0
  564. mlflow/types/agent.py +270 -0
  565. mlflow/types/chat.py +240 -0
  566. mlflow/types/llm.py +935 -0
  567. mlflow/types/responses.py +139 -0
  568. mlflow/types/responses_helpers.py +416 -0
  569. mlflow/types/schema.py +1505 -0
  570. mlflow/types/type_hints.py +647 -0
  571. mlflow/types/utils.py +753 -0
  572. mlflow/utils/__init__.py +283 -0
  573. mlflow/utils/_capture_modules.py +256 -0
  574. mlflow/utils/_capture_transformers_modules.py +75 -0
  575. mlflow/utils/_spark_utils.py +201 -0
  576. mlflow/utils/_unity_catalog_oss_utils.py +97 -0
  577. mlflow/utils/_unity_catalog_utils.py +479 -0
  578. mlflow/utils/annotations.py +218 -0
  579. mlflow/utils/arguments_utils.py +16 -0
  580. mlflow/utils/async_logging/__init__.py +1 -0
  581. mlflow/utils/async_logging/async_artifacts_logging_queue.py +258 -0
  582. mlflow/utils/async_logging/async_logging_queue.py +366 -0
  583. mlflow/utils/async_logging/run_artifact.py +38 -0
  584. mlflow/utils/async_logging/run_batch.py +58 -0
  585. mlflow/utils/async_logging/run_operations.py +49 -0
  586. mlflow/utils/autologging_utils/__init__.py +737 -0
  587. mlflow/utils/autologging_utils/client.py +432 -0
  588. mlflow/utils/autologging_utils/config.py +33 -0
  589. mlflow/utils/autologging_utils/events.py +294 -0
  590. mlflow/utils/autologging_utils/logging_and_warnings.py +328 -0
  591. mlflow/utils/autologging_utils/metrics_queue.py +71 -0
  592. mlflow/utils/autologging_utils/safety.py +1104 -0
  593. mlflow/utils/autologging_utils/versioning.py +95 -0
  594. mlflow/utils/checkpoint_utils.py +206 -0
  595. mlflow/utils/class_utils.py +6 -0
  596. mlflow/utils/cli_args.py +257 -0
  597. mlflow/utils/conda.py +354 -0
  598. mlflow/utils/credentials.py +231 -0
  599. mlflow/utils/data_utils.py +17 -0
  600. mlflow/utils/databricks_utils.py +1436 -0
  601. mlflow/utils/docstring_utils.py +477 -0
  602. mlflow/utils/doctor.py +133 -0
  603. mlflow/utils/download_cloud_file_chunk.py +43 -0
  604. mlflow/utils/env_manager.py +16 -0
  605. mlflow/utils/env_pack.py +131 -0
  606. mlflow/utils/environment.py +1009 -0
  607. mlflow/utils/exception_utils.py +14 -0
  608. mlflow/utils/file_utils.py +978 -0
  609. mlflow/utils/git_utils.py +77 -0
  610. mlflow/utils/gorilla.py +797 -0
  611. mlflow/utils/import_hooks/__init__.py +363 -0
  612. mlflow/utils/lazy_load.py +51 -0
  613. mlflow/utils/logging_utils.py +168 -0
  614. mlflow/utils/mime_type_utils.py +58 -0
  615. mlflow/utils/mlflow_tags.py +103 -0
  616. mlflow/utils/model_utils.py +486 -0
  617. mlflow/utils/name_utils.py +346 -0
  618. mlflow/utils/nfs_on_spark.py +62 -0
  619. mlflow/utils/openai_utils.py +164 -0
  620. mlflow/utils/os.py +12 -0
  621. mlflow/utils/oss_registry_utils.py +29 -0
  622. mlflow/utils/plugins.py +17 -0
  623. mlflow/utils/process.py +182 -0
  624. mlflow/utils/promptlab_utils.py +146 -0
  625. mlflow/utils/proto_json_utils.py +743 -0
  626. mlflow/utils/pydantic_utils.py +54 -0
  627. mlflow/utils/request_utils.py +279 -0
  628. mlflow/utils/requirements_utils.py +704 -0
  629. mlflow/utils/rest_utils.py +673 -0
  630. mlflow/utils/search_logged_model_utils.py +127 -0
  631. mlflow/utils/search_utils.py +2111 -0
  632. mlflow/utils/secure_loading.py +221 -0
  633. mlflow/utils/security_validation.py +384 -0
  634. mlflow/utils/server_cli_utils.py +61 -0
  635. mlflow/utils/spark_utils.py +15 -0
  636. mlflow/utils/string_utils.py +138 -0
  637. mlflow/utils/thread_utils.py +63 -0
  638. mlflow/utils/time.py +54 -0
  639. mlflow/utils/timeout.py +42 -0
  640. mlflow/utils/uri.py +572 -0
  641. mlflow/utils/validation.py +662 -0
  642. mlflow/utils/virtualenv.py +458 -0
  643. mlflow/utils/warnings_utils.py +25 -0
  644. mlflow/utils/yaml_utils.py +179 -0
  645. mlflow/version.py +24 -0
@@ -0,0 +1,866 @@
1
+ """
2
+ This module defines environment variables used in MLflow.
3
+ MLflow's environment variables adhere to the following naming conventions:
4
+ - Public variables: environment variable names begin with `MLFLOW_`
5
+ - Internal-use variables: For variables used only internally, names start with `_MLFLOW_`
6
+ """
7
+
8
+ import os
9
+ import warnings
10
+ from pathlib import Path
11
+
12
+
13
+ class _EnvironmentVariable:
14
+ """
15
+ Represents an environment variable.
16
+ """
17
+
18
+ def __init__(self, name, type_, default):
19
+ self.name = name
20
+ self.type = type_
21
+ self.default = default
22
+
23
+ @property
24
+ def defined(self):
25
+ return self.name in os.environ
26
+
27
+ def get_raw(self):
28
+ return os.getenv(self.name)
29
+
30
+ def set(self, value):
31
+ os.environ[self.name] = str(value)
32
+
33
+ def unset(self):
34
+ os.environ.pop(self.name, None)
35
+
36
+ def is_set(self):
37
+ return self.name in os.environ
38
+
39
+ def get(self):
40
+ """
41
+ Reads the value of the environment variable if it exists and converts it to the desired
42
+ type. Otherwise, returns the default value.
43
+ """
44
+ if (val := self.get_raw()) is not None:
45
+ try:
46
+ return self.type(val)
47
+ except Exception as e:
48
+ raise ValueError(f"Failed to convert {val!r} to {self.type} for {self.name}: {e}")
49
+ return self.default
50
+
51
+ def __str__(self):
52
+ return f"{self.name} (default: {self.default}, type: {self.type.__name__})"
53
+
54
+ def __repr__(self):
55
+ return repr(self.name)
56
+
57
+ def __format__(self, format_spec: str) -> str:
58
+ return self.name.__format__(format_spec)
59
+
60
+
61
+ class _BooleanEnvironmentVariable(_EnvironmentVariable):
62
+ """
63
+ Represents a boolean environment variable.
64
+ """
65
+
66
+ def __init__(self, name, default):
67
+ # `default not in [True, False, None]` doesn't work because `1 in [True]`
68
+ # (or `0 in [False]`) returns True.
69
+ if not (default is True or default is False or default is None):
70
+ raise ValueError(f"{name} default value must be one of [True, False, None]")
71
+ super().__init__(name, bool, default)
72
+
73
+ def get(self):
74
+ # TODO: Remove this block in MLflow 3.2.0
75
+ if self.name == MLFLOW_CONFIGURE_LOGGING.name and (
76
+ val := os.getenv("MLFLOW_LOGGING_CONFIGURE_LOGGING")
77
+ ):
78
+ warnings.warn(
79
+ "Environment variable MLFLOW_LOGGING_CONFIGURE_LOGGING is deprecated and will be "
80
+ f"removed in a future release. Please use {MLFLOW_CONFIGURE_LOGGING.name} instead.",
81
+ FutureWarning,
82
+ stacklevel=2,
83
+ )
84
+ return val.lower() in ["true", "1"]
85
+
86
+ if not self.defined:
87
+ return self.default
88
+
89
+ val = os.getenv(self.name)
90
+ lowercased = val.lower()
91
+ if lowercased not in ["true", "false", "1", "0"]:
92
+ raise ValueError(
93
+ f"{self.name} value must be one of ['true', 'false', '1', '0'] (case-insensitive), "
94
+ f"but got {val}"
95
+ )
96
+ return lowercased in ["true", "1"]
97
+
98
+
99
+ #: Specifies the tracking URI.
100
+ #: (default: ``None``)
101
+ MLFLOW_TRACKING_URI = _EnvironmentVariable("MLFLOW_TRACKING_URI", str, None)
102
+
103
+ #: Specifies the registry URI.
104
+ #: (default: ``None``)
105
+ MLFLOW_REGISTRY_URI = _EnvironmentVariable("MLFLOW_REGISTRY_URI", str, None)
106
+
107
+ #: Specifies the ``dfs_tmpdir`` parameter to use for ``mlflow.spark.save_model``,
108
+ #: ``mlflow.spark.log_model`` and ``mlflow.spark.load_model``. See
109
+ #: https://www.mlflow.org/docs/latest/python_api/mlflow.spark.html#mlflow.spark.save_model
110
+ #: for more information.
111
+ #: (default: ``/tmp/mlflow``)
112
+ MLFLOW_DFS_TMP = _EnvironmentVariable("MLFLOW_DFS_TMP", str, "/tmp/mlflow")
113
+
114
+ #: Specifies the maximum number of retries with exponential backoff for MLflow HTTP requests
115
+ #: (default: ``7``)
116
+ MLFLOW_HTTP_REQUEST_MAX_RETRIES = _EnvironmentVariable(
117
+ "MLFLOW_HTTP_REQUEST_MAX_RETRIES",
118
+ int,
119
+ # Important: It's common for MLflow backends to rate limit requests for more than 1 minute.
120
+ # To remain resilient to rate limiting, the MLflow client needs to retry for more than 1
121
+ # minute. Assuming 2 seconds per retry, 7 retries with backoff will take ~ 4 minutes,
122
+ # which is appropriate for most rate limiting scenarios
123
+ 7,
124
+ )
125
+
126
+ #: Specifies the backoff increase factor between MLflow HTTP request failures
127
+ #: (default: ``2``)
128
+ MLFLOW_HTTP_REQUEST_BACKOFF_FACTOR = _EnvironmentVariable(
129
+ "MLFLOW_HTTP_REQUEST_BACKOFF_FACTOR", int, 2
130
+ )
131
+
132
+ #: Specifies the backoff jitter between MLflow HTTP request failures
133
+ #: (default: ``1.0``)
134
+ MLFLOW_HTTP_REQUEST_BACKOFF_JITTER = _EnvironmentVariable(
135
+ "MLFLOW_HTTP_REQUEST_BACKOFF_JITTER", float, 1.0
136
+ )
137
+
138
+ #: Specifies the timeout in seconds for MLflow HTTP requests
139
+ #: (default: ``120``)
140
+ MLFLOW_HTTP_REQUEST_TIMEOUT = _EnvironmentVariable("MLFLOW_HTTP_REQUEST_TIMEOUT", int, 120)
141
+
142
+ #: Specifies whether to respect Retry-After header on status codes defined as
143
+ #: Retry.RETRY_AFTER_STATUS_CODES or not for MLflow HTTP request
144
+ #: (default: ``True``)
145
+ MLFLOW_HTTP_RESPECT_RETRY_AFTER_HEADER = _BooleanEnvironmentVariable(
146
+ "MLFLOW_HTTP_RESPECT_RETRY_AFTER_HEADER", True
147
+ )
148
+
149
+ #: Internal-only configuration that sets an upper bound to the allowable maximum
150
+ #: retries for HTTP requests
151
+ #: (default: ``10``)
152
+ _MLFLOW_HTTP_REQUEST_MAX_RETRIES_LIMIT = _EnvironmentVariable(
153
+ "_MLFLOW_HTTP_REQUEST_MAX_RETRIES_LIMIT", int, 10
154
+ )
155
+
156
+ #: Internal-only configuration that sets the upper bound for an HTTP backoff_factor
157
+ #: (default: ``120``)
158
+ _MLFLOW_HTTP_REQUEST_MAX_BACKOFF_FACTOR_LIMIT = _EnvironmentVariable(
159
+ "_MLFLOW_HTTP_REQUEST_MAX_BACKOFF_FACTOR_LIMIT", int, 120
160
+ )
161
+
162
+ #: Specifies whether MLflow HTTP requests should be signed using AWS signature V4. It will overwrite
163
+ #: (default: ``False``). When set, it will overwrite the "Authorization" HTTP header.
164
+ #: See https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html for more information.
165
+ MLFLOW_TRACKING_AWS_SIGV4 = _BooleanEnvironmentVariable("MLFLOW_TRACKING_AWS_SIGV4", False)
166
+
167
+ #: Specifies the auth provider to sign the MLflow HTTP request
168
+ #: (default: ``None``). When set, it will overwrite the "Authorization" HTTP header.
169
+ MLFLOW_TRACKING_AUTH = _EnvironmentVariable("MLFLOW_TRACKING_AUTH", str, None)
170
+
171
+ #: Specifies the chunk size to use when downloading a file from GCS
172
+ #: (default: ``None``). If None, the chunk size is automatically determined by the
173
+ #: ``google-cloud-storage`` package.
174
+ MLFLOW_GCS_DOWNLOAD_CHUNK_SIZE = _EnvironmentVariable("MLFLOW_GCS_DOWNLOAD_CHUNK_SIZE", int, None)
175
+
176
+ #: Specifies the chunk size to use when uploading a file to GCS.
177
+ #: (default: ``None``). If None, the chunk size is automatically determined by the
178
+ #: ``google-cloud-storage`` package.
179
+ MLFLOW_GCS_UPLOAD_CHUNK_SIZE = _EnvironmentVariable("MLFLOW_GCS_UPLOAD_CHUNK_SIZE", int, None)
180
+
181
+ #: Specifies whether to disable model logging and loading via mlflowdbfs.
182
+ #: (default: ``None``)
183
+ _DISABLE_MLFLOWDBFS = _EnvironmentVariable("DISABLE_MLFLOWDBFS", str, None)
184
+
185
+ #: Specifies the S3 endpoint URL to use for S3 artifact operations.
186
+ #: (default: ``None``)
187
+ MLFLOW_S3_ENDPOINT_URL = _EnvironmentVariable("MLFLOW_S3_ENDPOINT_URL", str, None)
188
+
189
+ #: Specifies whether or not to skip TLS certificate verification for S3 artifact operations.
190
+ #: (default: ``False``)
191
+ MLFLOW_S3_IGNORE_TLS = _BooleanEnvironmentVariable("MLFLOW_S3_IGNORE_TLS", False)
192
+
193
+ #: Specifies extra arguments for S3 artifact uploads.
194
+ #: (default: ``None``)
195
+ MLFLOW_S3_UPLOAD_EXTRA_ARGS = _EnvironmentVariable("MLFLOW_S3_UPLOAD_EXTRA_ARGS", str, None)
196
+
197
+ #: Specifies the location of a Kerberos ticket cache to use for HDFS artifact operations.
198
+ #: (default: ``None``)
199
+ MLFLOW_KERBEROS_TICKET_CACHE = _EnvironmentVariable("MLFLOW_KERBEROS_TICKET_CACHE", str, None)
200
+
201
+ #: Specifies a Kerberos user for HDFS artifact operations.
202
+ #: (default: ``None``)
203
+ MLFLOW_KERBEROS_USER = _EnvironmentVariable("MLFLOW_KERBEROS_USER", str, None)
204
+
205
+ #: Specifies extra pyarrow configurations for HDFS artifact operations.
206
+ #: (default: ``None``)
207
+ MLFLOW_PYARROW_EXTRA_CONF = _EnvironmentVariable("MLFLOW_PYARROW_EXTRA_CONF", str, None)
208
+
209
+ #: Specifies the default artifact location for all experiments.
210
+ #: This is used when creating new experiments without specifying an artifact location.
211
+ #: (default: ``None``)
212
+ MLFLOW_ARTIFACT_LOCATION = _EnvironmentVariable("MLFLOW_ARTIFACT_LOCATION", str, None)
213
+
214
+ #: Specifies the ``pool_size`` parameter to use for ``sqlalchemy.create_engine`` in the SQLAlchemy
215
+ #: tracking store. See https://docs.sqlalchemy.org/en/14/core/engines.html#sqlalchemy.create_engine.params.pool_size
216
+ #: for more information.
217
+ #: (default: ``None``)
218
+ MLFLOW_SQLALCHEMYSTORE_POOL_SIZE = _EnvironmentVariable(
219
+ "MLFLOW_SQLALCHEMYSTORE_POOL_SIZE", int, None
220
+ )
221
+
222
+ #: Specifies the ``pool_recycle`` parameter to use for ``sqlalchemy.create_engine`` in the
223
+ #: SQLAlchemy tracking store. See https://docs.sqlalchemy.org/en/14/core/engines.html#sqlalchemy.create_engine.params.pool_recycle
224
+ #: for more information.
225
+ #: (default: ``None``)
226
+ MLFLOW_SQLALCHEMYSTORE_POOL_RECYCLE = _EnvironmentVariable(
227
+ "MLFLOW_SQLALCHEMYSTORE_POOL_RECYCLE", int, None
228
+ )
229
+
230
+ #: Specifies the ``max_overflow`` parameter to use for ``sqlalchemy.create_engine`` in the
231
+ #: SQLAlchemy tracking store. See https://docs.sqlalchemy.org/en/14/core/engines.html#sqlalchemy.create_engine.params.max_overflow
232
+ #: for more information.
233
+ #: (default: ``None``)
234
+ MLFLOW_SQLALCHEMYSTORE_MAX_OVERFLOW = _EnvironmentVariable(
235
+ "MLFLOW_SQLALCHEMYSTORE_MAX_OVERFLOW", int, None
236
+ )
237
+
238
+ #: Specifies the ``echo`` parameter to use for ``sqlalchemy.create_engine`` in the
239
+ #: SQLAlchemy tracking store. See https://docs.sqlalchemy.org/en/14/core/engines.html#sqlalchemy.create_engine.params.echo
240
+ #: for more information.
241
+ #: (default: ``False``)
242
+ MLFLOW_SQLALCHEMYSTORE_ECHO = _BooleanEnvironmentVariable("MLFLOW_SQLALCHEMYSTORE_ECHO", False)
243
+
244
+ #: Specifies whether or not to print a warning when `--env-manager=conda` is specified.
245
+ #: (default: ``False``)
246
+ MLFLOW_DISABLE_ENV_MANAGER_CONDA_WARNING = _BooleanEnvironmentVariable(
247
+ "MLFLOW_DISABLE_ENV_MANAGER_CONDA_WARNING", False
248
+ )
249
+ #: Specifies the ``poolclass`` parameter to use for ``sqlalchemy.create_engine`` in the
250
+ #: SQLAlchemy tracking store. See https://docs.sqlalchemy.org/en/14/core/engines.html#sqlalchemy.create_engine.params.poolclass
251
+ #: for more information.
252
+ #: (default: ``None``)
253
+ MLFLOW_SQLALCHEMYSTORE_POOLCLASS = _EnvironmentVariable(
254
+ "MLFLOW_SQLALCHEMYSTORE_POOLCLASS", str, None
255
+ )
256
+
257
+ #: Specifies the ``timeout_seconds`` for MLflow Model dependency inference operations.
258
+ #: (default: ``120``)
259
+ MLFLOW_REQUIREMENTS_INFERENCE_TIMEOUT = _EnvironmentVariable(
260
+ "MLFLOW_REQUIREMENTS_INFERENCE_TIMEOUT", int, 120
261
+ )
262
+
263
+ #: Specifies the MLflow Model Scoring server request timeout in seconds
264
+ #: (default: ``60``)
265
+ MLFLOW_SCORING_SERVER_REQUEST_TIMEOUT = _EnvironmentVariable(
266
+ "MLFLOW_SCORING_SERVER_REQUEST_TIMEOUT", int, 60
267
+ )
268
+
269
+ #: (Experimental, may be changed or removed)
270
+ #: Specifies the timeout to use when uploading or downloading a file
271
+ #: (default: ``None``). If None, individual artifact stores will choose defaults.
272
+ MLFLOW_ARTIFACT_UPLOAD_DOWNLOAD_TIMEOUT = _EnvironmentVariable(
273
+ "MLFLOW_ARTIFACT_UPLOAD_DOWNLOAD_TIMEOUT", int, None
274
+ )
275
+
276
+ #: Specifies the timeout for model inference with input example(s) when logging/saving a model.
277
+ #: MLflow runs a few inference requests against the model to infer model signature and pip
278
+ #: requirements. Sometimes the prediction hangs for a long time, especially for a large model.
279
+ #: This timeout limits the allowable time for performing a prediction for signature inference
280
+ #: and will abort the prediction, falling back to the default signature and pip requirements.
281
+ MLFLOW_INPUT_EXAMPLE_INFERENCE_TIMEOUT = _EnvironmentVariable(
282
+ "MLFLOW_INPUT_EXAMPLE_INFERENCE_TIMEOUT", int, 180
283
+ )
284
+
285
+
286
+ #: Specifies the device intended for use in the predict function - can be used
287
+ #: to override behavior where the GPU is used by default when available by
288
+ #: setting this environment variable to be ``cpu``. Currently, this
289
+ #: variable is only supported for the MLflow PyTorch and HuggingFace flavors.
290
+ #: For the HuggingFace flavor, note that device must be parseable as an integer.
291
+ MLFLOW_DEFAULT_PREDICTION_DEVICE = _EnvironmentVariable(
292
+ "MLFLOW_DEFAULT_PREDICTION_DEVICE", str, None
293
+ )
294
+
295
+ #: Specifies to Huggingface whether to use the automatic device placement logic of
296
+ # HuggingFace accelerate. If it's set to false, the low_cpu_mem_usage flag will not be
297
+ # set to True and device_map will not be set to "auto".
298
+ MLFLOW_HUGGINGFACE_DISABLE_ACCELERATE_FEATURES = _BooleanEnvironmentVariable(
299
+ "MLFLOW_DISABLE_HUGGINGFACE_ACCELERATE_FEATURES", False
300
+ )
301
+
302
+ #: Specifies to Huggingface whether to use the automatic device placement logic of
303
+ # HuggingFace accelerate. If it's set to false, the low_cpu_mem_usage flag will not be
304
+ # set to True and device_map will not be set to "auto". Default to False.
305
+ MLFLOW_HUGGINGFACE_USE_DEVICE_MAP = _BooleanEnvironmentVariable(
306
+ "MLFLOW_HUGGINGFACE_USE_DEVICE_MAP", False
307
+ )
308
+
309
+ #: Specifies to Huggingface to use the automatic device placement logic of HuggingFace accelerate.
310
+ #: This can be set to values supported by the version of HuggingFace Accelerate being installed.
311
+ MLFLOW_HUGGINGFACE_DEVICE_MAP_STRATEGY = _EnvironmentVariable(
312
+ "MLFLOW_HUGGINGFACE_DEVICE_MAP_STRATEGY", str, "auto"
313
+ )
314
+
315
+ #: Specifies to Huggingface to use the low_cpu_mem_usage flag powered by HuggingFace accelerate.
316
+ #: If it's set to false, the low_cpu_mem_usage flag will be set to False.
317
+ MLFLOW_HUGGINGFACE_USE_LOW_CPU_MEM_USAGE = _BooleanEnvironmentVariable(
318
+ "MLFLOW_HUGGINGFACE_USE_LOW_CPU_MEM_USAGE", True
319
+ )
320
+
321
+ #: Specifies the max_shard_size to use when mlflow transformers flavor saves the model checkpoint.
322
+ #: This can be set to override the 500MB default.
323
+ MLFLOW_HUGGINGFACE_MODEL_MAX_SHARD_SIZE = _EnvironmentVariable(
324
+ "MLFLOW_HUGGINGFACE_MODEL_MAX_SHARD_SIZE", str, "500MB"
325
+ )
326
+
327
+ #: Specifies the name of the Databricks secret scope to use for storing OpenAI API keys.
328
+ MLFLOW_OPENAI_SECRET_SCOPE = _EnvironmentVariable("MLFLOW_OPENAI_SECRET_SCOPE", str, None)
329
+
330
+ #: (Experimental, may be changed or removed)
331
+ #: Specifies the download options to be used by pip wheel when `add_libraries_to_model` is used to
332
+ #: create and log model dependencies as model artifacts. The default behavior only uses dependency
333
+ #: binaries and no source packages.
334
+ #: (default: ``--only-binary=:all:``).
335
+ MLFLOW_WHEELED_MODEL_PIP_DOWNLOAD_OPTIONS = _EnvironmentVariable(
336
+ "MLFLOW_WHEELED_MODEL_PIP_DOWNLOAD_OPTIONS", str, "--only-binary=:all:"
337
+ )
338
+
339
+ # Specifies whether or not to use multipart download when downloading a large file on Databricks.
340
+ MLFLOW_ENABLE_MULTIPART_DOWNLOAD = _BooleanEnvironmentVariable(
341
+ "MLFLOW_ENABLE_MULTIPART_DOWNLOAD", True
342
+ )
343
+
344
+ # Specifies whether or not to use multipart upload when uploading large artifacts.
345
+ MLFLOW_ENABLE_MULTIPART_UPLOAD = _BooleanEnvironmentVariable("MLFLOW_ENABLE_MULTIPART_UPLOAD", True)
346
+
347
+ #: Specifies whether or not to use multipart upload for proxied artifact access.
348
+ #: (default: ``False``)
349
+ MLFLOW_ENABLE_PROXY_MULTIPART_UPLOAD = _BooleanEnvironmentVariable(
350
+ "MLFLOW_ENABLE_PROXY_MULTIPART_UPLOAD", False
351
+ )
352
+
353
+ #: Private environment variable that's set to ``True`` while running tests.
354
+ _MLFLOW_TESTING = _BooleanEnvironmentVariable("MLFLOW_TESTING", False)
355
+
356
+ #: Specifies the username used to authenticate with a tracking server.
357
+ #: (default: ``None``)
358
+ MLFLOW_TRACKING_USERNAME = _EnvironmentVariable("MLFLOW_TRACKING_USERNAME", str, None)
359
+
360
+ #: Specifies the password used to authenticate with a tracking server.
361
+ #: (default: ``None``)
362
+ MLFLOW_TRACKING_PASSWORD = _EnvironmentVariable("MLFLOW_TRACKING_PASSWORD", str, None)
363
+
364
+ #: Specifies and takes precedence for setting the basic/bearer auth on http requests.
365
+ #: (default: ``None``)
366
+ MLFLOW_TRACKING_TOKEN = _EnvironmentVariable("MLFLOW_TRACKING_TOKEN", str, None)
367
+
368
+ #: Specifies whether to verify TLS connection in ``requests.request`` function,
369
+ #: see https://requests.readthedocs.io/en/master/api/
370
+ #: (default: ``False``).
371
+ MLFLOW_TRACKING_INSECURE_TLS = _BooleanEnvironmentVariable("MLFLOW_TRACKING_INSECURE_TLS", False)
372
+
373
+ #: Sets the ``verify`` param in ``requests.request`` function,
374
+ #: see https://requests.readthedocs.io/en/master/api/
375
+ #: (default: ``None``)
376
+ MLFLOW_TRACKING_SERVER_CERT_PATH = _EnvironmentVariable(
377
+ "MLFLOW_TRACKING_SERVER_CERT_PATH", str, None
378
+ )
379
+
380
+ #: Sets the ``cert`` param in ``requests.request`` function,
381
+ #: see https://requests.readthedocs.io/en/master/api/
382
+ #: (default: ``None``)
383
+ MLFLOW_TRACKING_CLIENT_CERT_PATH = _EnvironmentVariable(
384
+ "MLFLOW_TRACKING_CLIENT_CERT_PATH", str, None
385
+ )
386
+
387
+ #: Specified the ID of the run to log data to.
388
+ #: (default: ``None``)
389
+ MLFLOW_RUN_ID = _EnvironmentVariable("MLFLOW_RUN_ID", str, None)
390
+
391
+ #: Specifies the default root directory for tracking `FileStore`.
392
+ #: (default: ``None``)
393
+ MLFLOW_TRACKING_DIR = _EnvironmentVariable("MLFLOW_TRACKING_DIR", str, None)
394
+
395
+ #: Specifies the default root directory for registry `FileStore`.
396
+ #: (default: ``None``)
397
+ MLFLOW_REGISTRY_DIR = _EnvironmentVariable("MLFLOW_REGISTRY_DIR", str, None)
398
+
399
+ #: Specifies the default experiment ID to create run to.
400
+ #: (default: ``None``)
401
+ MLFLOW_EXPERIMENT_ID = _EnvironmentVariable("MLFLOW_EXPERIMENT_ID", str, None)
402
+
403
+ #: Specifies the default experiment name to create run to.
404
+ #: (default: ``None``)
405
+ MLFLOW_EXPERIMENT_NAME = _EnvironmentVariable("MLFLOW_EXPERIMENT_NAME", str, None)
406
+
407
+ #: Specified the path to the configuration file for MLflow Authentication.
408
+ #: (default: ``None``)
409
+ MLFLOW_AUTH_CONFIG_PATH = _EnvironmentVariable("MLFLOW_AUTH_CONFIG_PATH", str, None)
410
+
411
+ #: Specifies and takes precedence for setting the UC OSS basic/bearer auth on http requests.
412
+ #: (default: ``None``)
413
+ MLFLOW_UC_OSS_TOKEN = _EnvironmentVariable("MLFLOW_UC_OSS_TOKEN", str, None)
414
+
415
+ #: Specifies the root directory to create Python virtual environments in.
416
+ #: (default: ``~/.mlflow/envs``)
417
+ MLFLOW_ENV_ROOT = _EnvironmentVariable(
418
+ "MLFLOW_ENV_ROOT", str, str(Path.home().joinpath(".mlflow", "envs"))
419
+ )
420
+
421
+ #: Specifies whether or not to use DBFS FUSE mount to store artifacts on Databricks
422
+ #: (default: ``False``)
423
+ MLFLOW_ENABLE_DBFS_FUSE_ARTIFACT_REPO = _BooleanEnvironmentVariable(
424
+ "MLFLOW_ENABLE_DBFS_FUSE_ARTIFACT_REPO", True
425
+ )
426
+
427
+ #: Specifies whether or not to use UC Volume FUSE mount to store artifacts on Databricks
428
+ #: (default: ``True``)
429
+ MLFLOW_ENABLE_UC_VOLUME_FUSE_ARTIFACT_REPO = _BooleanEnvironmentVariable(
430
+ "MLFLOW_ENABLE_UC_VOLUME_FUSE_ARTIFACT_REPO", True
431
+ )
432
+
433
+ #: Private environment variable that should be set to ``True`` when running autologging tests.
434
+ #: (default: ``False``)
435
+ _MLFLOW_AUTOLOGGING_TESTING = _BooleanEnvironmentVariable("MLFLOW_AUTOLOGGING_TESTING", False)
436
+
437
+ #: (Experimental, may be changed or removed)
438
+ #: Specifies the uri of a MLflow Gateway Server instance to be used with the Gateway Client APIs
439
+ #: (default: ``None``)
440
+ MLFLOW_GATEWAY_URI = _EnvironmentVariable("MLFLOW_GATEWAY_URI", str, None)
441
+
442
+ #: (Experimental, may be changed or removed)
443
+ #: Specifies the uri of an MLflow AI Gateway instance to be used with the Deployments
444
+ #: Client APIs
445
+ #: (default: ``None``)
446
+ MLFLOW_DEPLOYMENTS_TARGET = _EnvironmentVariable("MLFLOW_DEPLOYMENTS_TARGET", str, None)
447
+
448
+ #: Specifies the path of the config file for MLflow AI Gateway.
449
+ #: (default: ``None``)
450
+ MLFLOW_GATEWAY_CONFIG = _EnvironmentVariable("MLFLOW_GATEWAY_CONFIG", str, None)
451
+
452
+ #: Specifies the path of the config file for MLflow AI Gateway.
453
+ #: (default: ``None``)
454
+ MLFLOW_DEPLOYMENTS_CONFIG = _EnvironmentVariable("MLFLOW_DEPLOYMENTS_CONFIG", str, None)
455
+
456
+ #: Specifies whether to display the progress bar when uploading/downloading artifacts.
457
+ #: (default: ``True``)
458
+ MLFLOW_ENABLE_ARTIFACTS_PROGRESS_BAR = _BooleanEnvironmentVariable(
459
+ "MLFLOW_ENABLE_ARTIFACTS_PROGRESS_BAR", True
460
+ )
461
+
462
+ #: Specifies the conda home directory to use.
463
+ #: (default: ``conda``)
464
+ MLFLOW_CONDA_HOME = _EnvironmentVariable("MLFLOW_CONDA_HOME", str, None)
465
+
466
+ #: Specifies the name of the command to use when creating the environments.
467
+ #: For example, let's say we want to use mamba (https://github.com/mamba-org/mamba)
468
+ #: instead of conda to create environments.
469
+ #: Then: > conda install mamba -n base -c conda-forge
470
+ #: If not set, use the same as conda_path
471
+ #: (default: ``conda``)
472
+ MLFLOW_CONDA_CREATE_ENV_CMD = _EnvironmentVariable("MLFLOW_CONDA_CREATE_ENV_CMD", str, "conda")
473
+
474
+ #: Specifies the flavor to serve in the scoring server.
475
+ #: (default ``None``)
476
+ MLFLOW_DEPLOYMENT_FLAVOR_NAME = _EnvironmentVariable("MLFLOW_DEPLOYMENT_FLAVOR_NAME", str, None)
477
+
478
+ #: Specifies the MLflow Run context
479
+ #: (default: ``None``)
480
+ MLFLOW_RUN_CONTEXT = _EnvironmentVariable("MLFLOW_RUN_CONTEXT", str, None)
481
+
482
+ #: Specifies the URL of the ECR-hosted Docker image a model is deployed into for SageMaker.
483
+ # (default: ``None``)
484
+ MLFLOW_SAGEMAKER_DEPLOY_IMG_URL = _EnvironmentVariable("MLFLOW_SAGEMAKER_DEPLOY_IMG_URL", str, None)
485
+
486
+ #: Specifies whether to disable creating a new conda environment for `mlflow models build-docker`.
487
+ #: (default: ``False``)
488
+ MLFLOW_DISABLE_ENV_CREATION = _BooleanEnvironmentVariable("MLFLOW_DISABLE_ENV_CREATION", False)
489
+
490
+ #: Specifies the timeout value for downloading chunks of mlflow artifacts.
491
+ #: (default: ``300``)
492
+ MLFLOW_DOWNLOAD_CHUNK_TIMEOUT = _EnvironmentVariable("MLFLOW_DOWNLOAD_CHUNK_TIMEOUT", int, 300)
493
+
494
+ #: Specifies if system metrics logging should be enabled.
495
+ MLFLOW_ENABLE_SYSTEM_METRICS_LOGGING = _BooleanEnvironmentVariable(
496
+ "MLFLOW_ENABLE_SYSTEM_METRICS_LOGGING", False
497
+ )
498
+
499
+ #: Specifies the sampling interval for system metrics logging.
500
+ MLFLOW_SYSTEM_METRICS_SAMPLING_INTERVAL = _EnvironmentVariable(
501
+ "MLFLOW_SYSTEM_METRICS_SAMPLING_INTERVAL", float, None
502
+ )
503
+
504
+ #: Specifies the number of samples before logging system metrics.
505
+ MLFLOW_SYSTEM_METRICS_SAMPLES_BEFORE_LOGGING = _EnvironmentVariable(
506
+ "MLFLOW_SYSTEM_METRICS_SAMPLES_BEFORE_LOGGING", int, None
507
+ )
508
+
509
+ #: Specifies the node id of system metrics logging. This is useful in multi-node (distributed
510
+ #: training) setup.
511
+ MLFLOW_SYSTEM_METRICS_NODE_ID = _EnvironmentVariable("MLFLOW_SYSTEM_METRICS_NODE_ID", str, None)
512
+
513
+
514
+ # Private environment variable to specify the number of chunk download retries for multipart
515
+ # download.
516
+ _MLFLOW_MPD_NUM_RETRIES = _EnvironmentVariable("_MLFLOW_MPD_NUM_RETRIES", int, 3)
517
+
518
+ # Private environment variable to specify the interval between chunk download retries for multipart
519
+ # download.
520
+ _MLFLOW_MPD_RETRY_INTERVAL_SECONDS = _EnvironmentVariable(
521
+ "_MLFLOW_MPD_RETRY_INTERVAL_SECONDS", int, 1
522
+ )
523
+
524
+ #: Specifies the minimum file size in bytes to use multipart upload when logging artifacts
525
+ #: (default: ``524_288_000`` (500 MB))
526
+ MLFLOW_MULTIPART_UPLOAD_MINIMUM_FILE_SIZE = _EnvironmentVariable(
527
+ "MLFLOW_MULTIPART_UPLOAD_MINIMUM_FILE_SIZE", int, 500 * 1024**2
528
+ )
529
+
530
+ #: Specifies the minimum file size in bytes to use multipart download when downloading artifacts
531
+ #: (default: ``524_288_000`` (500 MB))
532
+ MLFLOW_MULTIPART_DOWNLOAD_MINIMUM_FILE_SIZE = _EnvironmentVariable(
533
+ "MLFLOW_MULTIPART_DOWNLOAD_MINIMUM_FILE_SIZE", int, 500 * 1024**2
534
+ )
535
+
536
+ #: Specifies the chunk size in bytes to use when performing multipart upload
537
+ #: (default: ``104_857_60`` (10 MB))
538
+ MLFLOW_MULTIPART_UPLOAD_CHUNK_SIZE = _EnvironmentVariable(
539
+ "MLFLOW_MULTIPART_UPLOAD_CHUNK_SIZE", int, 10 * 1024**2
540
+ )
541
+
542
+ #: Specifies the chunk size in bytes to use when performing multipart download
543
+ #: (default: ``104_857_600`` (100 MB))
544
+ MLFLOW_MULTIPART_DOWNLOAD_CHUNK_SIZE = _EnvironmentVariable(
545
+ "MLFLOW_MULTIPART_DOWNLOAD_CHUNK_SIZE", int, 100 * 1024**2
546
+ )
547
+
548
+ #: Specifies whether or not to allow the MLflow server to follow redirects when
549
+ #: making HTTP requests. If set to False, the server will throw an exception if it
550
+ #: encounters a redirect response.
551
+ #: (default: ``True``)
552
+ MLFLOW_ALLOW_HTTP_REDIRECTS = _BooleanEnvironmentVariable("MLFLOW_ALLOW_HTTP_REDIRECTS", True)
553
+
554
+ #: Specifies the client-based timeout (in seconds) when making an HTTP request to a deployment
555
+ #: target. Used within the `predict` and `predict_stream` APIs.
556
+ #: (default: ``120``)
557
+ MLFLOW_DEPLOYMENT_PREDICT_TIMEOUT = _EnvironmentVariable(
558
+ "MLFLOW_DEPLOYMENT_PREDICT_TIMEOUT", int, 120
559
+ )
560
+
561
+ MLFLOW_GATEWAY_RATE_LIMITS_STORAGE_URI = _EnvironmentVariable(
562
+ "MLFLOW_GATEWAY_RATE_LIMITS_STORAGE_URI", str, None
563
+ )
564
+
565
+ #: If True, MLflow fluent logging APIs, e.g., `mlflow.log_metric` will log asynchronously.
566
+ MLFLOW_ENABLE_ASYNC_LOGGING = _BooleanEnvironmentVariable("MLFLOW_ENABLE_ASYNC_LOGGING", False)
567
+
568
+ #: Number of workers in the thread pool used for asynchronous logging, defaults to 10.
569
+ MLFLOW_ASYNC_LOGGING_THREADPOOL_SIZE = _EnvironmentVariable(
570
+ "MLFLOW_ASYNC_LOGGING_THREADPOOL_SIZE", int, 10
571
+ )
572
+
573
+ #: Specifies whether or not to have mlflow configure logging on import.
574
+ #: If set to True, mlflow will configure ``mlflow.<module_name>`` loggers with
575
+ #: logging handlers and formatters.
576
+ #: (default: ``True``)
577
+ MLFLOW_CONFIGURE_LOGGING = _BooleanEnvironmentVariable("MLFLOW_CONFIGURE_LOGGING", True)
578
+
579
+ #: If set to True, the following entities will be truncated to their maximum length:
580
+ #: - Param value
581
+ #: - Tag value
582
+ #: If set to False, an exception will be raised if the length of the entity exceeds the maximum
583
+ #: length.
584
+ #: (default: ``True``)
585
+ MLFLOW_TRUNCATE_LONG_VALUES = _BooleanEnvironmentVariable("MLFLOW_TRUNCATE_LONG_VALUES", True)
586
+
587
+ # Whether to run slow tests with pytest. Default to False in normal runs,
588
+ # but set to True in the weekly slow test jobs.
589
+ _MLFLOW_RUN_SLOW_TESTS = _BooleanEnvironmentVariable("MLFLOW_RUN_SLOW_TESTS", False)
590
+
591
+ #: The OpenJDK version to install in the Docker image used for MLflow models.
592
+ #: (default: ``11``)
593
+ MLFLOW_DOCKER_OPENJDK_VERSION = _EnvironmentVariable("MLFLOW_DOCKER_OPENJDK_VERSION", str, "11")
594
+
595
+
596
+ #: How long a trace can be "in-progress". When this is set to a positive value and a trace is
597
+ #: not completed within this time, it will be automatically halted and exported to the specified
598
+ #: backend destination with status "ERROR".
599
+ MLFLOW_TRACE_TIMEOUT_SECONDS = _EnvironmentVariable("MLFLOW_TRACE_TIMEOUT_SECONDS", int, None)
600
+
601
+ #: How frequently to check for timed-out traces. For example, if this is set to 10, MLflow will
602
+ #: check for timed-out traces every 10 seconds (in a background worker) and halt any traces that
603
+ #: have exceeded the timeout. This is only effective if MLFLOW_TRACE_TIMEOUT_SECONDS is set to a
604
+ #: positive value.
605
+ MLFLOW_TRACE_TIMEOUT_CHECK_INTERVAL_SECONDS = _EnvironmentVariable(
606
+ "MLFLOW_TRACE_TIMEOUT_CHECK_INTERVAL_SECONDS", int, 1
607
+ )
608
+
609
+ # How long a trace can be buffered in-memory at client side before being abandoned.
610
+ MLFLOW_TRACE_BUFFER_TTL_SECONDS = _EnvironmentVariable("MLFLOW_TRACE_BUFFER_TTL_SECONDS", int, 3600)
611
+
612
+ # How many traces to be buffered in-memory at client side before being abandoned.
613
+ MLFLOW_TRACE_BUFFER_MAX_SIZE = _EnvironmentVariable("MLFLOW_TRACE_BUFFER_MAX_SIZE", int, 1000)
614
+
615
+ #: Maximum number of prompt versions to cache in the LRU cache for _load_prompt_version_cached.
616
+ #: This cache improves performance by avoiding repeated network calls for the same prompt version.
617
+ #: (default: ``128``)
618
+ MLFLOW_PROMPT_CACHE_MAX_SIZE = _EnvironmentVariable("MLFLOW_PROMPT_CACHE_MAX_SIZE", int, 128)
619
+
620
+ #: Private configuration option.
621
+ #: Enables the ability to catch exceptions within MLflow evaluate for classification models
622
+ #: where a class imbalance due to a missing target class would raise an error in the
623
+ #: underlying metrology modules (scikit-learn). If set to True, specific exceptions will be
624
+ #: caught, alerted via the warnings module, and evaluation will resume.
625
+ #: (default: ``False``)
626
+ _MLFLOW_EVALUATE_SUPPRESS_CLASSIFICATION_ERRORS = _BooleanEnvironmentVariable(
627
+ "_MLFLOW_EVALUATE_SUPPRESS_CLASSIFICATION_ERRORS", False
628
+ )
629
+
630
+ #: Whether to warn (default) or raise (opt-in) for unresolvable requirements inference for
631
+ #: a model's dependency inference. If set to True, an exception will be raised if requirements
632
+ #: inference or the process of capturing imported modules encounters any errors.
633
+ MLFLOW_REQUIREMENTS_INFERENCE_RAISE_ERRORS = _BooleanEnvironmentVariable(
634
+ "MLFLOW_REQUIREMENTS_INFERENCE_RAISE_ERRORS", False
635
+ )
636
+
637
+ # How many traces to display in Databricks Notebooks
638
+ MLFLOW_MAX_TRACES_TO_DISPLAY_IN_NOTEBOOK = _EnvironmentVariable(
639
+ "MLFLOW_MAX_TRACES_TO_DISPLAY_IN_NOTEBOOK", int, 10
640
+ )
641
+
642
+ #: Whether to writing trace to the MLflow backend from a model running in a Databricks
643
+ #: model serving endpoint. If true, the trace will be written to both the MLflow backend
644
+ #: and the Inference Table.
645
+ _MLFLOW_ENABLE_TRACE_DUAL_WRITE_IN_MODEL_SERVING = _EnvironmentVariable(
646
+ "MLFLOW_ENABLE_TRACE_DUAL_WRITE_IN_MODEL_SERVING", bool, False
647
+ )
648
+
649
+ # Default addressing style to use for boto client
650
+ MLFLOW_BOTO_CLIENT_ADDRESSING_STYLE = _EnvironmentVariable(
651
+ "MLFLOW_BOTO_CLIENT_ADDRESSING_STYLE", str, "auto"
652
+ )
653
+
654
+ #: Specify the timeout in seconds for Databricks endpoint HTTP request retries.
655
+ MLFLOW_DATABRICKS_ENDPOINT_HTTP_RETRY_TIMEOUT = _EnvironmentVariable(
656
+ "MLFLOW_DATABRICKS_ENDPOINT_HTTP_RETRY_TIMEOUT", int, 500
657
+ )
658
+
659
+ #: Specifies the number of connection pools to cache in urllib3. This environment variable sets the
660
+ #: `pool_connections` parameter in the `requests.adapters.HTTPAdapter` constructor. By adjusting
661
+ #: this variable, users can enhance the concurrency of HTTP requests made by MLflow.
662
+ MLFLOW_HTTP_POOL_CONNECTIONS = _EnvironmentVariable("MLFLOW_HTTP_POOL_CONNECTIONS", int, 10)
663
+
664
+ #: Specifies the maximum number of connections to keep in the HTTP connection pool. This environment
665
+ #: variable sets the `pool_maxsize` parameter in the `requests.adapters.HTTPAdapter` constructor.
666
+ #: By adjusting this variable, users can enhance the concurrency of HTTP requests made by MLflow.
667
+ MLFLOW_HTTP_POOL_MAXSIZE = _EnvironmentVariable("MLFLOW_HTTP_POOL_MAXSIZE", int, 10)
668
+
669
+ #: Enable Unity Catalog integration for MLflow AI Gateway.
670
+ #: (default: ``False``)
671
+ MLFLOW_ENABLE_UC_FUNCTIONS = _BooleanEnvironmentVariable("MLFLOW_ENABLE_UC_FUNCTIONS", False)
672
+
673
+ #: Specifies the length of time in seconds for the asynchronous logging thread to wait before
674
+ #: logging a batch.
675
+ MLFLOW_ASYNC_LOGGING_BUFFERING_SECONDS = _EnvironmentVariable(
676
+ "MLFLOW_ASYNC_LOGGING_BUFFERING_SECONDS", int, None
677
+ )
678
+
679
+ #: Whether to enable Databricks SDK. If true, MLflow uses databricks-sdk to send HTTP requests
680
+ #: to Databricks endpoint, otherwise MLflow uses ``requests`` library to send HTTP requests
681
+ #: to Databricks endpoint. Note that if you want to use OAuth authentication, you have to
682
+ #: set this environment variable to true.
683
+ #: (default: ``True``)
684
+ MLFLOW_ENABLE_DB_SDK = _BooleanEnvironmentVariable("MLFLOW_ENABLE_DB_SDK", True)
685
+
686
+ #: A flag that's set to 'true' in the child process for capturing modules.
687
+ _MLFLOW_IN_CAPTURE_MODULE_PROCESS = _BooleanEnvironmentVariable(
688
+ "MLFLOW_IN_CAPTURE_MODULE_PROCESS", False
689
+ )
690
+
691
+ #: Use DatabricksSDKModelsArtifactRepository when registering and loading models to and from
692
+ #: Databricks UC. This is required for SEG(Secure Egress Gateway) enabled workspaces and helps
693
+ #: eliminate models exfiltration risk associated with temporary scoped token generation used in
694
+ #: existing model artifact repo classes.
695
+ MLFLOW_USE_DATABRICKS_SDK_MODEL_ARTIFACTS_REPO_FOR_UC = _BooleanEnvironmentVariable(
696
+ "MLFLOW_USE_DATABRICKS_SDK_MODEL_ARTIFACTS_REPO_FOR_UC", False
697
+ )
698
+
699
+ # Specifies the model environment archive file downloading path when using
700
+ # ``mlflow.pyfunc.spark_udf``. (default: ``None``)
701
+ MLFLOW_MODEL_ENV_DOWNLOADING_TEMP_DIR = _EnvironmentVariable(
702
+ "MLFLOW_MODEL_ENV_DOWNLOADING_TEMP_DIR", str, None
703
+ )
704
+
705
+ # Specifies whether to log environment variable names used during model logging.
706
+ MLFLOW_RECORD_ENV_VARS_IN_MODEL_LOGGING = _BooleanEnvironmentVariable(
707
+ "MLFLOW_RECORD_ENV_VARS_IN_MODEL_LOGGING", True
708
+ )
709
+
710
+ #: Specifies the artifact compression method used when logging a model
711
+ #: allowed values are "lzma", "bzip2" and "gzip"
712
+ #: (default: ``None``, indicating no compression)
713
+ MLFLOW_LOG_MODEL_COMPRESSION = _EnvironmentVariable("MLFLOW_LOG_MODEL_COMPRESSION", str, None)
714
+
715
+
716
+ # Specifies whether to convert a {"messages": [{"role": "...", "content": "..."}]} input
717
+ # to a List[BaseMessage] object when invoking a PyFunc model saved with langchain flavor.
718
+ # This takes precedence over the default behavior of trying such conversion if the model
719
+ # is not an AgentExecutor and the input schema doesn't contain a 'messages' field.
720
+ MLFLOW_CONVERT_MESSAGES_DICT_FOR_LANGCHAIN = _BooleanEnvironmentVariable(
721
+ "MLFLOW_CONVERT_MESSAGES_DICT_FOR_LANGCHAIN", None
722
+ )
723
+
724
+ #: A boolean flag which enables additional functionality in Python tests for GO backend.
725
+ _MLFLOW_GO_STORE_TESTING = _BooleanEnvironmentVariable("MLFLOW_GO_STORE_TESTING", False)
726
+
727
+ # Specifies whether the current environment is a serving environment.
728
+ # This should only be used internally by MLflow to add some additional logic when running in a
729
+ # serving environment.
730
+ _MLFLOW_IS_IN_SERVING_ENVIRONMENT = _BooleanEnvironmentVariable(
731
+ "_MLFLOW_IS_IN_SERVING_ENVIRONMENT", None
732
+ )
733
+
734
+ #: Secret key for the Flask app. This is necessary for enabling CSRF protection
735
+ #: in the UI signup page when running the app with basic authentication enabled
736
+ MLFLOW_FLASK_SERVER_SECRET_KEY = _EnvironmentVariable("MLFLOW_FLASK_SERVER_SECRET_KEY", str, None)
737
+
738
+ #: Specifies the max length (in chars) of an experiment's artifact location.
739
+ #: The default is 2048.
740
+ MLFLOW_ARTIFACT_LOCATION_MAX_LENGTH = _EnvironmentVariable(
741
+ "MLFLOW_ARTIFACT_LOCATION_MAX_LENGTH", int, 2048
742
+ )
743
+
744
+ #: Path to SSL CA certificate file for MySQL connections
745
+ #: Used when creating a SQLAlchemy engine for MySQL
746
+ #: (default: ``None``)
747
+ MLFLOW_MYSQL_SSL_CA = _EnvironmentVariable("MLFLOW_MYSQL_SSL_CA", str, None)
748
+
749
+ #: Path to SSL certificate file for MySQL connections
750
+ #: Used when creating a SQLAlchemy engine for MySQL
751
+ #: (default: ``None``)
752
+ MLFLOW_MYSQL_SSL_CERT = _EnvironmentVariable("MLFLOW_MYSQL_SSL_CERT", str, None)
753
+
754
+ #: Path to SSL key file for MySQL connections
755
+ #: Used when creating a SQLAlchemy engine for MySQL
756
+ #: (default: ``None``)
757
+ MLFLOW_MYSQL_SSL_KEY = _EnvironmentVariable("MLFLOW_MYSQL_SSL_KEY", str, None)
758
+
759
+
760
+ #: Specifies whether to enable async trace logging to Databricks Tracing Server.
761
+ #: TODO: Update OSS MLflow Server to logging async by default
762
+ #: Default: ``True``.
763
+ MLFLOW_ENABLE_ASYNC_TRACE_LOGGING = _BooleanEnvironmentVariable(
764
+ "MLFLOW_ENABLE_ASYNC_TRACE_LOGGING", True
765
+ )
766
+
767
+ #: Maximum number of worker threads to use for async trace logging.
768
+ #: (default: ``10``)
769
+ MLFLOW_ASYNC_TRACE_LOGGING_MAX_WORKERS = _EnvironmentVariable(
770
+ "MLFLOW_ASYNC_TRACE_LOGGING_MAX_WORKERS", int, 10
771
+ )
772
+
773
+ #: Maximum number of export tasks to queue for async trace logging.
774
+ #: When the queue is full, new export tasks will be dropped.
775
+ #: (default: ``1000``)
776
+ MLFLOW_ASYNC_TRACE_LOGGING_MAX_QUEUE_SIZE = _EnvironmentVariable(
777
+ "MLFLOW_ASYNC_TRACE_LOGGING_MAX_QUEUE_SIZE", int, 1000
778
+ )
779
+
780
+
781
+ #: Timeout seconds for retrying trace logging.
782
+ #: (default: ``500``)
783
+ MLFLOW_ASYNC_TRACE_LOGGING_RETRY_TIMEOUT = _EnvironmentVariable(
784
+ "MLFLOW_ASYNC_TRACE_LOGGING_RETRY_TIMEOUT", int, 500
785
+ )
786
+
787
+ #: The default active LoggedModel ID. Traces created while this variable is set (unless overridden,
788
+ #: e.g., by the `set_active_model()` API) will be associated with this LoggedModel ID.
789
+ #: (default: ``None``)
790
+ MLFLOW_ACTIVE_MODEL_ID = _EnvironmentVariable("MLFLOW_ACTIVE_MODEL_ID", str, None)
791
+
792
+ #: Legacy environment variable for setting the default active LoggedModel ID.
793
+ #: This should only by used by MLflow internally. Users should use the
794
+ #: public `MLFLOW_ACTIVE_MODEL_ID` environment variable or the `set_active_model`
795
+ #: API to set the active LoggedModel, and should not set this environment variable directly.
796
+ #: (default: ``None``)
797
+ _MLFLOW_ACTIVE_MODEL_ID = _EnvironmentVariable("_MLFLOW_ACTIVE_MODEL_ID", str, None)
798
+
799
+ #: Maximum number of parameters to include in the initial CreateLoggedModel request.
800
+ #: Additional parameters will be logged in separate requests.
801
+ #: (default: ``100``)
802
+ _MLFLOW_CREATE_LOGGED_MODEL_PARAMS_BATCH_SIZE = _EnvironmentVariable(
803
+ "_MLFLOW_CREATE_LOGGED_MODEL_PARAMS_BATCH_SIZE", int, 100
804
+ )
805
+
806
+
807
+ #: Maximum number of parameters to include in each batch when logging parameters
808
+ #: for a logged model.
809
+ #: (default: ``100``)
810
+ _MLFLOW_LOG_LOGGED_MODEL_PARAMS_BATCH_SIZE = _EnvironmentVariable(
811
+ "_MLFLOW_LOG_LOGGED_MODEL_PARAMS_BATCH_SIZE", int, 100
812
+ )
813
+
814
+ #: A boolean flag that enables printing URLs for logged and registered models when
815
+ #: they are created.
816
+ #: (default: ``True``)
817
+ MLFLOW_PRINT_MODEL_URLS_ON_CREATION = _BooleanEnvironmentVariable(
818
+ "MLFLOW_PRINT_MODEL_URLS_ON_CREATION", True
819
+ )
820
+
821
+ #: Maximum number of threads to use when downloading traces during search operations.
822
+ #: (default: ``max(32, (# of system CPUs * 4)``)
823
+ MLFLOW_SEARCH_TRACES_MAX_THREADS = _EnvironmentVariable(
824
+ # Threads used to download traces during search are network IO-bound (waiting for downloads)
825
+ # rather than CPU-bound, so we want more threads than CPU cores
826
+ "MLFLOW_SEARCH_TRACES_MAX_THREADS",
827
+ int,
828
+ max(32, (os.cpu_count() or 1) * 4),
829
+ )
830
+
831
+ #: Specifies the logging level for MLflow. This can be set to any valid logging level
832
+ #: (e.g., "DEBUG", "INFO"). This environment must be set before importing mlflow to take
833
+ #: effect. To modify the logging level after importing mlflow, use `importlib.reload(mlflow)`.
834
+ #: (default: ``None``).
835
+ MLFLOW_LOGGING_LEVEL = _EnvironmentVariable("MLFLOW_LOGGING_LEVEL", str, None)
836
+
837
+ #: Avoid printing experiment and run url to stdout at run termination
838
+ #: (default: ``False``)
839
+ MLFLOW_SUPPRESS_PRINTING_URL_TO_STDOUT = _BooleanEnvironmentVariable(
840
+ "MLFLOW_SUPPRESS_PRINTING_URL_TO_STDOUT", False
841
+ )
842
+
843
+ #: If True, MLflow locks both direct and transitive model dependencies when logging a model.
844
+ #: (default: ``False``).
845
+ MLFLOW_LOCK_MODEL_DEPENDENCIES = _BooleanEnvironmentVariable(
846
+ "MLFLOW_LOCK_MODEL_DEPENDENCIES", False
847
+ )
848
+
849
+ #: If specified, tracking server rejects model `/mlflow/model-versions/create` requests with
850
+ #: a source that does not match the specified regular expression.
851
+ #: (default: ``None``).
852
+ MLFLOW_CREATE_MODEL_VERSION_SOURCE_VALIDATION_REGEX = _EnvironmentVariable(
853
+ "MLFLOW_CREATE_MODEL_VERSION_SOURCE_VALIDATION_REGEX", str, None
854
+ )
855
+
856
+ #: Maximum number of root fields to include in the MLflow server GraphQL request.
857
+ #: (default: ``10``)
858
+ MLFLOW_SERVER_GRAPHQL_MAX_ROOT_FIELDS = _EnvironmentVariable(
859
+ "MLFLOW_SERVER_GRAPHQL_MAX_ROOT_FIELDS", int, 10
860
+ )
861
+
862
+ #: Maximum number of aliases to include in the MLflow server GraphQL request.
863
+ #: (default: ``10``)
864
+ MLFLOW_SERVER_GRAPHQL_MAX_ALIASES = _EnvironmentVariable(
865
+ "MLFLOW_SERVER_GRAPHQL_MAX_ALIASES", int, 10
866
+ )