workbench 0.8.225__tar.gz → 0.8.227__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.

Potentially problematic release.


This version of workbench might be problematic. Click here for more details.

Files changed (811) hide show
  1. {workbench-0.8.225 → workbench-0.8.227}/PKG-INFO +1 -1
  2. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/Dockerfile +1 -1
  3. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/models/callbacks.py +1 -3
  4. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/models/layout.py +3 -4
  5. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_full/app.py +1 -1
  6. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_lite/app.py +1 -1
  7. {workbench-0.8.225 → workbench-0.8.227}/docs/themes/details.md +17 -53
  8. {workbench-0.8.225 → workbench-0.8.227}/docs/themes/index.md +30 -0
  9. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/cached/cached_model.py +45 -7
  10. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/endpoint_core.py +12 -2
  11. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/themes/dark/plotly.json +5 -5
  12. workbench-0.8.227/src/workbench/themes/light/custom.css +258 -0
  13. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/themes/light/plotly.json +9 -9
  14. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/chem_utils/vis.py +2 -1
  15. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/markdown_utils.py +57 -0
  16. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/plot_utils.py +19 -12
  17. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/model_plot.py +2 -0
  18. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/confusion_matrix.py +3 -5
  19. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/model_details.py +10 -6
  20. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/scatter_plot.py +53 -36
  21. {workbench-0.8.225 → workbench-0.8.227}/src/workbench.egg-info/PKG-INFO +1 -1
  22. workbench-0.8.225/src/workbench/themes/light/custom.css +0 -209
  23. {workbench-0.8.225 → workbench-0.8.227}/.flake8 +0 -0
  24. {workbench-0.8.225 → workbench-0.8.227}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  25. {workbench-0.8.225 → workbench-0.8.227}/.github/dependabot.yml +0 -0
  26. {workbench-0.8.225 → workbench-0.8.227}/.github/workflows/deploy-docs.yml +0 -0
  27. {workbench-0.8.225 → workbench-0.8.227}/.github/workflows/python-lint.yml +0 -0
  28. {workbench-0.8.225 → workbench-0.8.227}/.gitignore +0 -0
  29. {workbench-0.8.225 → workbench-0.8.227}/CONTRIBUTING.md +0 -0
  30. {workbench-0.8.225 → workbench-0.8.227}/Dockerfile +0 -0
  31. {workbench-0.8.225 → workbench-0.8.227}/LICENSE +0 -0
  32. {workbench-0.8.225 → workbench-0.8.227}/Makefile +0 -0
  33. {workbench-0.8.225 → workbench-0.8.227}/README.md +0 -0
  34. {workbench-0.8.225 → workbench-0.8.227}/SECURITY.md +0 -0
  35. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/README.md +0 -0
  36. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/app.py +0 -0
  37. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/assets/favicon.ico +0 -0
  38. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/dashboard +0 -0
  39. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/deploy.sh +0 -0
  40. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/nginx.conf +0 -0
  41. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/open_source_config.json +0 -0
  42. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/data_sources/callbacks.py +0 -0
  43. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/data_sources/layout.py +0 -0
  44. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/data_sources/page.py +0 -0
  45. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/endpoints/callbacks.py +0 -0
  46. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/endpoints/layout.py +0 -0
  47. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/endpoints/page.py +0 -0
  48. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/feature_sets/callbacks.py +0 -0
  49. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/feature_sets/layout.py +0 -0
  50. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/feature_sets/page.py +0 -0
  51. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/license/page.py +0 -0
  52. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/main/callbacks.py +0 -0
  53. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/main/layout.py +0 -0
  54. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/main/page.py +0 -0
  55. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/models/page.py +0 -0
  56. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/pipelines/callbacks.py +0 -0
  57. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/pipelines/layout.py +0 -0
  58. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/pipelines/page.py +0 -0
  59. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/pages/status/page.py +0 -0
  60. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/static/dark.css +0 -0
  61. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/static/light.css +0 -0
  62. {workbench-0.8.225 → workbench-0.8.227}/applications/aws_dashboard/supervisord.conf +0 -0
  63. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/Dockerfile +0 -0
  64. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/README.md +0 -0
  65. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/app.py +0 -0
  66. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/assets/favicon.ico +0 -0
  67. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/callbacks.py +0 -0
  68. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/explorer +0 -0
  69. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/layout.py +0 -0
  70. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/nginx.conf +0 -0
  71. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/open_source_config.json +0 -0
  72. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/requirements.txt +0 -0
  73. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/storage/callbacks.py +0 -0
  74. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/storage/callbacks_new.py +0 -0
  75. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/storage/layout_new.py +0 -0
  76. {workbench-0.8.225 → workbench-0.8.227}/applications/compound_explorer/supervisord.conf +0 -0
  77. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/aws_account_setup.py +0 -0
  78. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/aws_identity_check.py +0 -0
  79. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/build_ml_pipeline.py +0 -0
  80. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/compound_explorer/.gitignore +0 -0
  81. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/compound_explorer/README.md +0 -0
  82. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/compound_explorer/app.py +0 -0
  83. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/compound_explorer/cdk.json +0 -0
  84. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/compound_explorer/compound_explorer/__init__.py +0 -0
  85. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/compound_explorer/compound_explorer/compound_explorer_stack.py +0 -0
  86. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/compound_explorer/requirements.txt +0 -0
  87. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/event_bridge/Readme.md +0 -0
  88. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_compute/README.md +0 -0
  89. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_compute/app.py +0 -0
  90. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_compute/cdk.json +0 -0
  91. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_compute/requirements.txt +0 -0
  92. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_compute/workbench_compute/__init__.py +0 -0
  93. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_compute/workbench_compute/lambdas/batch_failure/handler.py +0 -0
  94. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_compute/workbench_compute/lambdas/batch_trigger/handler.py +0 -0
  95. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_compute/workbench_compute/workbench_compute_stack.py +0 -0
  96. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_core/.gitignore +0 -0
  97. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_core/README.md +0 -0
  98. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_core/app.py +0 -0
  99. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_core/cdk.json +0 -0
  100. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_core/requirements-dev.txt +0 -0
  101. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_core/requirements.txt +0 -0
  102. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_core/source.bat +0 -0
  103. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_core/workbench_core/__init__.py +0 -0
  104. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_core/workbench_core/workbench_core_stack.py +0 -0
  105. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_full/.gitignore +0 -0
  106. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_full/README.md +0 -0
  107. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_full/cdk.json +0 -0
  108. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_full/requirements-dev.txt +0 -0
  109. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_full/requirements.txt +0 -0
  110. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_full/source.bat +0 -0
  111. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_full/workbench_dashboard_full/__init__.py +0 -0
  112. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_full/workbench_dashboard_full/workbench_dashboard_stack.py +0 -0
  113. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_lite/.gitignore +0 -0
  114. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_lite/README.md +0 -0
  115. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_lite/cdk.json +0 -0
  116. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_lite/requirements.txt +0 -0
  117. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_lite/workbench_dashboard_lite/__init__.py +0 -0
  118. {workbench-0.8.225 → workbench-0.8.227}/aws_setup/workbench_dashboard_lite/workbench_dashboard_lite/workbench_dashboard_stack.py +0 -0
  119. {workbench-0.8.225 → workbench-0.8.227}/data/abalone.csv +0 -0
  120. {workbench-0.8.225 → workbench-0.8.227}/data/karate_graph.json +0 -0
  121. {workbench-0.8.225 → workbench-0.8.227}/data/test_data.csv +0 -0
  122. {workbench-0.8.225 → workbench-0.8.227}/data/test_data.json +0 -0
  123. {workbench-0.8.225 → workbench-0.8.227}/data/wine_dataset.csv +0 -0
  124. {workbench-0.8.225 → workbench-0.8.227}/deploy_docker.sh +0 -0
  125. {workbench-0.8.225 → workbench-0.8.227}/docs/admin/aws_service_limits.md +0 -0
  126. {workbench-0.8.225 → workbench-0.8.227}/docs/admin/base_docker_push.md +0 -0
  127. {workbench-0.8.225 → workbench-0.8.227}/docs/admin/dashboard_docker_push.md +0 -0
  128. {workbench-0.8.225 → workbench-0.8.227}/docs/admin/dashboard_s3_plugins.md +0 -0
  129. {workbench-0.8.225 → workbench-0.8.227}/docs/admin/explorer_docker_push.md +0 -0
  130. {workbench-0.8.225 → workbench-0.8.227}/docs/admin/images/dashboard_secret_click.png +0 -0
  131. {workbench-0.8.225 → workbench-0.8.227}/docs/admin/images/serverless_quotas.png +0 -0
  132. {workbench-0.8.225 → workbench-0.8.227}/docs/admin/images/status_showing_S3_path.png +0 -0
  133. {workbench-0.8.225 → workbench-0.8.227}/docs/admin/pypi_release.md +0 -0
  134. {workbench-0.8.225 → workbench-0.8.227}/docs/admin/workbench_docker_for_lambdas.md +0 -0
  135. {workbench-0.8.225 → workbench-0.8.227}/docs/advanced_models/images/confidence.jpg +0 -0
  136. {workbench-0.8.225 → workbench-0.8.227}/docs/advanced_models/index.md +0 -0
  137. {workbench-0.8.225 → workbench-0.8.227}/docs/api_classes/data_source.md +0 -0
  138. {workbench-0.8.225 → workbench-0.8.227}/docs/api_classes/df_store.md +0 -0
  139. {workbench-0.8.225 → workbench-0.8.227}/docs/api_classes/endpoint.md +0 -0
  140. {workbench-0.8.225 → workbench-0.8.227}/docs/api_classes/feature_set.md +0 -0
  141. {workbench-0.8.225 → workbench-0.8.227}/docs/api_classes/meta.md +0 -0
  142. {workbench-0.8.225 → workbench-0.8.227}/docs/api_classes/model.md +0 -0
  143. {workbench-0.8.225 → workbench-0.8.227}/docs/api_classes/monitor.md +0 -0
  144. {workbench-0.8.225 → workbench-0.8.227}/docs/api_classes/overview.md +0 -0
  145. {workbench-0.8.225 → workbench-0.8.227}/docs/api_classes/parameter_store.md +0 -0
  146. {workbench-0.8.225 → workbench-0.8.227}/docs/api_classes/pipelines.md +0 -0
  147. {workbench-0.8.225 → workbench-0.8.227}/docs/api_classes/views.md +0 -0
  148. {workbench-0.8.225 → workbench-0.8.227}/docs/aws_setup/aws_access_management.md +0 -0
  149. {workbench-0.8.225 → workbench-0.8.227}/docs/aws_setup/aws_client_vpn.md +0 -0
  150. {workbench-0.8.225 → workbench-0.8.227}/docs/aws_setup/aws_setup.md +0 -0
  151. {workbench-0.8.225 → workbench-0.8.227}/docs/aws_setup/aws_tips_and_tricks.md +0 -0
  152. {workbench-0.8.225 → workbench-0.8.227}/docs/aws_setup/core_stack.md +0 -0
  153. {workbench-0.8.225 → workbench-0.8.227}/docs/aws_setup/dashboard_stack.md +0 -0
  154. {workbench-0.8.225 → workbench-0.8.227}/docs/aws_setup/domain_cert_setup.md +0 -0
  155. {workbench-0.8.225 → workbench-0.8.227}/docs/aws_setup/full_pipeline.md +0 -0
  156. {workbench-0.8.225 → workbench-0.8.227}/docs/aws_setup/iam_assume_role.md +0 -0
  157. {workbench-0.8.225 → workbench-0.8.227}/docs/aws_setup/sso_assume_role.md +0 -0
  158. {workbench-0.8.225 → workbench-0.8.227}/docs/blogs/aws_credentials_lock.md +0 -0
  159. {workbench-0.8.225 → workbench-0.8.227}/docs/blogs/canonicalization_and_tautomerization.md +0 -0
  160. {workbench-0.8.225 → workbench-0.8.227}/docs/blogs/compound_etl.md +0 -0
  161. {workbench-0.8.225 → workbench-0.8.227}/docs/blogs/compound_explorer.md +0 -0
  162. {workbench-0.8.225 → workbench-0.8.227}/docs/blogs/descriptor_drilldown.md +0 -0
  163. {workbench-0.8.225 → workbench-0.8.227}/docs/blogs/eda.md +0 -0
  164. {workbench-0.8.225 → workbench-0.8.227}/docs/blogs/feature_importances.md +0 -0
  165. {workbench-0.8.225 → workbench-0.8.227}/docs/blogs/fun_with_workbench/fun_with_endpoints.md +0 -0
  166. {workbench-0.8.225 → workbench-0.8.227}/docs/blogs/htg.md +0 -0
  167. {workbench-0.8.225 → workbench-0.8.227}/docs/blogs/index.md +0 -0
  168. {workbench-0.8.225 → workbench-0.8.227}/docs/blogs/model_monitoring.md +0 -0
  169. {workbench-0.8.225 → workbench-0.8.227}/docs/blogs/residual_analysis.md +0 -0
  170. {workbench-0.8.225 → workbench-0.8.227}/docs/cached/cached_data_source.md +0 -0
  171. {workbench-0.8.225 → workbench-0.8.227}/docs/cached/cached_endpoint.md +0 -0
  172. {workbench-0.8.225 → workbench-0.8.227}/docs/cached/cached_feature_set.md +0 -0
  173. {workbench-0.8.225 → workbench-0.8.227}/docs/cached/cached_meta.md +0 -0
  174. {workbench-0.8.225 → workbench-0.8.227}/docs/cached/cached_model.md +0 -0
  175. {workbench-0.8.225 → workbench-0.8.227}/docs/cached/overview.md +0 -0
  176. {workbench-0.8.225 → workbench-0.8.227}/docs/chem_utils/index.md +0 -0
  177. {workbench-0.8.225 → workbench-0.8.227}/docs/cloudwatch/index.md +0 -0
  178. {workbench-0.8.225 → workbench-0.8.227}/docs/comparisons/workbench_vs_databricks.md +0 -0
  179. {workbench-0.8.225 → workbench-0.8.227}/docs/compound_explorer/tox21.md +0 -0
  180. {workbench-0.8.225 → workbench-0.8.227}/docs/compound_explorer/toxicity_modeling.md +0 -0
  181. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/artifacts/artifact.md +0 -0
  182. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/artifacts/athena_source.md +0 -0
  183. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/artifacts/data_source_abstract.md +0 -0
  184. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/artifacts/endpoint_core.md +0 -0
  185. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/artifacts/feature_set_core.md +0 -0
  186. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/artifacts/model_core.md +0 -0
  187. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/artifacts/monitor_core.md +0 -0
  188. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/artifacts/overview.md +0 -0
  189. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/overview.md +0 -0
  190. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/transforms/data_loaders_heavy.md +0 -0
  191. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/transforms/data_loaders_light.md +0 -0
  192. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/transforms/data_to_features.md +0 -0
  193. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/transforms/features_to_model.md +0 -0
  194. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/transforms/model_to_endpoint.md +0 -0
  195. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/transforms/overview.md +0 -0
  196. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/transforms/pandas_transforms.md +0 -0
  197. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/transforms/transform.md +0 -0
  198. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/views/computation_view.md +0 -0
  199. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/views/display_view.md +0 -0
  200. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/views/inference_view.md +0 -0
  201. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/views/overview.md +0 -0
  202. {workbench-0.8.225 → workbench-0.8.227}/docs/core_classes/views/training_view.md +0 -0
  203. {workbench-0.8.225 → workbench-0.8.227}/docs/data_algorithms/dataframes/overview.md +0 -0
  204. {workbench-0.8.225 → workbench-0.8.227}/docs/data_algorithms/graphs/overview.md +0 -0
  205. {workbench-0.8.225 → workbench-0.8.227}/docs/data_algorithms/overview.md +0 -0
  206. {workbench-0.8.225 → workbench-0.8.227}/docs/data_algorithms/spark/overview.md +0 -0
  207. {workbench-0.8.225 → workbench-0.8.227}/docs/data_algorithms/sql/overview.md +0 -0
  208. {workbench-0.8.225 → workbench-0.8.227}/docs/enterprise/index.md +0 -0
  209. {workbench-0.8.225 → workbench-0.8.227}/docs/enterprise/private_saas.md +0 -0
  210. {workbench-0.8.225 → workbench-0.8.227}/docs/enterprise/project_branding.md +0 -0
  211. {workbench-0.8.225 → workbench-0.8.227}/docs/enterprise/themes.md +0 -0
  212. {workbench-0.8.225 → workbench-0.8.227}/docs/getting_started/index.md +0 -0
  213. {workbench-0.8.225 → workbench-0.8.227}/docs/glue/index.md +0 -0
  214. {workbench-0.8.225 → workbench-0.8.227}/docs/images/big_spider.png +0 -0
  215. {workbench-0.8.225 → workbench-0.8.227}/docs/images/graph_representation.png +0 -0
  216. {workbench-0.8.225 → workbench-0.8.227}/docs/images/powered_aws_dark_blue.png +0 -0
  217. {workbench-0.8.225 → workbench-0.8.227}/docs/images/powered_aws_transparent.png +0 -0
  218. {workbench-0.8.225 → workbench-0.8.227}/docs/images/powered_aws_white.png +0 -0
  219. {workbench-0.8.225 → workbench-0.8.227}/docs/images/powered_aws_with_tm_grey.png +0 -0
  220. {workbench-0.8.225 → workbench-0.8.227}/docs/images/scp.png +0 -0
  221. {workbench-0.8.225 → workbench-0.8.227}/docs/images/scp_labs.png +0 -0
  222. {workbench-0.8.225 → workbench-0.8.227}/docs/images/small_spider.png +0 -0
  223. {workbench-0.8.225 → workbench-0.8.227}/docs/images/workbench_concepts.png +0 -0
  224. {workbench-0.8.225 → workbench-0.8.227}/docs/index.md +0 -0
  225. {workbench-0.8.225 → workbench-0.8.227}/docs/lambda_layer/index.md +0 -0
  226. {workbench-0.8.225 → workbench-0.8.227}/docs/misc/faq.md +0 -0
  227. {workbench-0.8.225 → workbench-0.8.227}/docs/misc/general_info.md +0 -0
  228. {workbench-0.8.225 → workbench-0.8.227}/docs/misc/scp_consulting.md +0 -0
  229. {workbench-0.8.225 → workbench-0.8.227}/docs/misc/workbench_classes_concepts.md +0 -0
  230. {workbench-0.8.225 → workbench-0.8.227}/docs/model_utils/index.md +0 -0
  231. {workbench-0.8.225 → workbench-0.8.227}/docs/plugins/index.md +0 -0
  232. {workbench-0.8.225 → workbench-0.8.227}/docs/presentations/index.md +0 -0
  233. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/0_8_106.md +0 -0
  234. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/0_8_158.md +0 -0
  235. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/0_8_50.md +0 -0
  236. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/0_8_55.md +0 -0
  237. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/0_8_58.md +0 -0
  238. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/0_8_60.md +0 -0
  239. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/0_8_71.md +0 -0
  240. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/0_8_74.md +0 -0
  241. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/0_8_78.md +0 -0
  242. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_7_8.md +0 -0
  243. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_11.md +0 -0
  244. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_20.md +0 -0
  245. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_22.md +0 -0
  246. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_23.md +0 -0
  247. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_27.md +0 -0
  248. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_29.md +0 -0
  249. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_33.md +0 -0
  250. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_35.md +0 -0
  251. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_36.md +0 -0
  252. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_39.md +0 -0
  253. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_42.md +0 -0
  254. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_46.md +0 -0
  255. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_6.md +0 -0
  256. {workbench-0.8.225 → workbench-0.8.227}/docs/release_notes/archived/0_8_8.md +0 -0
  257. {workbench-0.8.225 → workbench-0.8.227}/docs/repl/index.md +0 -0
  258. {workbench-0.8.225 → workbench-0.8.227}/docs/road_maps/0_9_0.md +0 -0
  259. {workbench-0.8.225 → workbench-0.8.227}/docs/road_maps/0_9_5.md +0 -0
  260. {workbench-0.8.225 → workbench-0.8.227}/examples/ag-grid/hello_world.py +0 -0
  261. {workbench-0.8.225 → workbench-0.8.227}/examples/chem_utils/tautomerize_smiles.py +0 -0
  262. {workbench-0.8.225 → workbench-0.8.227}/examples/datasource/datasource_from_df.py +0 -0
  263. {workbench-0.8.225 → workbench-0.8.227}/examples/datasource/datasource_from_s3.py +0 -0
  264. {workbench-0.8.225 → workbench-0.8.227}/examples/datasource/datasource_query.py +0 -0
  265. {workbench-0.8.225 → workbench-0.8.227}/examples/datasource/datasource_stats.py +0 -0
  266. {workbench-0.8.225 → workbench-0.8.227}/examples/datasource/datasource_to_featureset.py +0 -0
  267. {workbench-0.8.225 → workbench-0.8.227}/examples/endpoint/endpoint_details.py +0 -0
  268. {workbench-0.8.225 → workbench-0.8.227}/examples/endpoint/endpoint_inference.py +0 -0
  269. {workbench-0.8.225 → workbench-0.8.227}/examples/endpoint/endpoint_metrics.py +0 -0
  270. {workbench-0.8.225 → workbench-0.8.227}/examples/featureset/featureset_eda.py +0 -0
  271. {workbench-0.8.225 → workbench-0.8.227}/examples/featureset/featureset_query.py +0 -0
  272. {workbench-0.8.225 → workbench-0.8.227}/examples/full_ml_pipeline.py +0 -0
  273. {workbench-0.8.225 → workbench-0.8.227}/examples/glue_jobs/glue_example_1.py +0 -0
  274. {workbench-0.8.225 → workbench-0.8.227}/examples/glue_jobs/glue_example_2.py +0 -0
  275. {workbench-0.8.225 → workbench-0.8.227}/examples/glue_jobs/glue_example_3.py +0 -0
  276. {workbench-0.8.225 → workbench-0.8.227}/examples/glue_jobs/glue_launcher_examples/example_1.py +0 -0
  277. {workbench-0.8.225 → workbench-0.8.227}/examples/glue_jobs/glue_launcher_examples/example_2.py +0 -0
  278. {workbench-0.8.225 → workbench-0.8.227}/examples/meta/meta_list_endpoints.py +0 -0
  279. {workbench-0.8.225 → workbench-0.8.227}/examples/meta/meta_list_models.py +0 -0
  280. {workbench-0.8.225 → workbench-0.8.227}/examples/meta/meta_model_metrics.py +0 -0
  281. {workbench-0.8.225 → workbench-0.8.227}/examples/ml_pipelines/list_models.py +0 -0
  282. {workbench-0.8.225 → workbench-0.8.227}/examples/ml_pipelines/wine_classifier.py +0 -0
  283. {workbench-0.8.225 → workbench-0.8.227}/examples/model_utils/model_metrics.py +0 -0
  284. {workbench-0.8.225 → workbench-0.8.227}/examples/model_utils/model_to_endpoint.py +0 -0
  285. {workbench-0.8.225 → workbench-0.8.227}/examples/model_utils/onboard_model.py +0 -0
  286. {workbench-0.8.225 → workbench-0.8.227}/examples/models/chemprop.py +0 -0
  287. {workbench-0.8.225 → workbench-0.8.227}/examples/models/chemprop_foundation.py +0 -0
  288. {workbench-0.8.225 → workbench-0.8.227}/examples/models/custom_model.py +0 -0
  289. {workbench-0.8.225 → workbench-0.8.227}/examples/models/dbscan.py +0 -0
  290. {workbench-0.8.225 → workbench-0.8.227}/examples/models/knn.py +0 -0
  291. {workbench-0.8.225 → workbench-0.8.227}/examples/models/meta_model.py +0 -0
  292. {workbench-0.8.225 → workbench-0.8.227}/examples/models/pytorch.py +0 -0
  293. {workbench-0.8.225 → workbench-0.8.227}/examples/models/random_forest.py +0 -0
  294. {workbench-0.8.225 → workbench-0.8.227}/examples/models/smiles_to_fingerprints.py +0 -0
  295. {workbench-0.8.225 → workbench-0.8.227}/examples/models/smiles_to_md_v1.py +0 -0
  296. {workbench-0.8.225 → workbench-0.8.227}/examples/models/uq/bayesian_ridge.py +0 -0
  297. {workbench-0.8.225 → workbench-0.8.227}/examples/models/uq/ensemble_xgb.py +0 -0
  298. {workbench-0.8.225 → workbench-0.8.227}/examples/models/uq/gaussian_process.py +0 -0
  299. {workbench-0.8.225 → workbench-0.8.227}/examples/models/uq/meta_uq.py +0 -0
  300. {workbench-0.8.225 → workbench-0.8.227}/examples/models/uq/ngboost.py +0 -0
  301. {workbench-0.8.225 → workbench-0.8.227}/examples/models/uq/quant_xgb.py +0 -0
  302. {workbench-0.8.225 → workbench-0.8.227}/examples/models/xgb_model.py +0 -0
  303. {workbench-0.8.225 → workbench-0.8.227}/examples/monitor/monitor_setup.py +0 -0
  304. {workbench-0.8.225 → workbench-0.8.227}/examples/monitor/monitor_usage.py +0 -0
  305. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/branding/Readme.md +0 -0
  306. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/branding/scp.json +0 -0
  307. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/components/custom_plugin.py +0 -0
  308. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/components/endpoint_plugin.py +0 -0
  309. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/components/endpoint_turbo.py +0 -0
  310. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/components/model_markdown.py +0 -0
  311. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/components/model_plugin.py +0 -0
  312. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/packages/my_plugin_utils/__init__.py +0 -0
  313. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/packages/my_plugin_utils/assets/foo.json +0 -0
  314. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/packages/my_plugin_utils/cool_stuff.py +0 -0
  315. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/pages/plugin_page_1.py +0 -0
  316. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/pages/plugin_page_2.py +0 -0
  317. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/pages/plugin_page_3.py +0 -0
  318. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/templates/Readme.md +0 -0
  319. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/views/model_plugin_view.py +0 -0
  320. {workbench-0.8.225 → workbench-0.8.227}/examples/plugins/views/my_view_plugin.py +0 -0
  321. {workbench-0.8.225 → workbench-0.8.227}/experiments/chem_info/bulk_sims.py +0 -0
  322. {workbench-0.8.225 → workbench-0.8.227}/experiments/chem_info/knn_sims.py +0 -0
  323. {workbench-0.8.225 → workbench-0.8.227}/experiments/cleanlab_bug_report.py +0 -0
  324. {workbench-0.8.225 → workbench-0.8.227}/experiments/confidence_roc_curve.py +0 -0
  325. {workbench-0.8.225 → workbench-0.8.227}/experiments/coverage_probability.py +0 -0
  326. {workbench-0.8.225 → workbench-0.8.227}/experiments/db_scan_test.py +0 -0
  327. {workbench-0.8.225 → workbench-0.8.227}/experiments/log_testing.py +0 -0
  328. {workbench-0.8.225 → workbench-0.8.227}/experiments/networkx_id.py +0 -0
  329. {workbench-0.8.225 → workbench-0.8.227}/experiments/prediction_intervals.py +0 -0
  330. {workbench-0.8.225 → workbench-0.8.227}/experiments/residual_analysis.py +0 -0
  331. {workbench-0.8.225 → workbench-0.8.227}/experiments/rocauc_testing.py +0 -0
  332. {workbench-0.8.225 → workbench-0.8.227}/experiments/scatter_zoom_issue.py +0 -0
  333. {workbench-0.8.225 → workbench-0.8.227}/experiments/sol_pipeline.py +0 -0
  334. {workbench-0.8.225 → workbench-0.8.227}/feature_endpoints/model_scripts/molecular_utils/mol_descriptors.py +0 -0
  335. {workbench-0.8.225 → workbench-0.8.227}/feature_endpoints/model_scripts/molecular_utils/mol_standardize.py +0 -0
  336. {workbench-0.8.225 → workbench-0.8.227}/feature_endpoints/model_scripts/rdkit_mordred_model_script.py +0 -0
  337. {workbench-0.8.225 → workbench-0.8.227}/feature_endpoints/model_scripts/rdkit_mordred_model_script_keep_salts.py +0 -0
  338. {workbench-0.8.225 → workbench-0.8.227}/feature_endpoints/model_scripts/requirements.txt +0 -0
  339. {workbench-0.8.225 → workbench-0.8.227}/feature_endpoints/rdkit_mordred_keep_salts_v1.py +0 -0
  340. {workbench-0.8.225 → workbench-0.8.227}/feature_endpoints/rdkit_mordred_v1.py +0 -0
  341. {workbench-0.8.225 → workbench-0.8.227}/glue_jobs/create_glue_workflow_with_trigger.py +0 -0
  342. {workbench-0.8.225 → workbench-0.8.227}/glue_jobs/example_glue_job.py +0 -0
  343. {workbench-0.8.225 → workbench-0.8.227}/glue_jobs/glue_job_pipeline.py +0 -0
  344. {workbench-0.8.225 → workbench-0.8.227}/glue_jobs/glue_mixed_case.py +0 -0
  345. {workbench-0.8.225 → workbench-0.8.227}/mkdocs.yml +0 -0
  346. {workbench-0.8.225 → workbench-0.8.227}/ml_pipelines/hyper_uq.py +0 -0
  347. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/Readme.md +0 -0
  348. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/inference/Dockerfile +0 -0
  349. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/inference/main.py +0 -0
  350. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/inference/requirements.txt +0 -0
  351. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/inference/serve +0 -0
  352. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/meta_inference/Dockerfile +0 -0
  353. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/meta_inference/main.py +0 -0
  354. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/meta_inference/requirements.txt +0 -0
  355. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/meta_inference/serve +0 -0
  356. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/meta_training/Dockerfile +0 -0
  357. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/meta_training/requirements.txt +0 -0
  358. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/meta_training/sagemaker_entrypoint.py +0 -0
  359. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/ml_pipelines/Dockerfile +0 -0
  360. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/ml_pipelines/ml_pipeline_runner.py +0 -0
  361. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/ml_pipelines/requirements.txt +0 -0
  362. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/pytorch_inference/Dockerfile +0 -0
  363. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/pytorch_inference/main.py +0 -0
  364. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/pytorch_inference/requirements.txt +0 -0
  365. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/pytorch_inference/serve +0 -0
  366. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/pytorch_training/Dockerfile +0 -0
  367. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/pytorch_training/requirements.txt +0 -0
  368. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/pytorch_training/sagemaker_entrypoint.py +0 -0
  369. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/scripts/build_deploy.sh +0 -0
  370. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/tests/data/abalone_sm.csv +0 -0
  371. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/tests/example_model_script.py +0 -0
  372. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/tests/run_tests.sh +0 -0
  373. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/tests/test_inference.py +0 -0
  374. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/tests/test_training.py +0 -0
  375. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/training/Dockerfile +0 -0
  376. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/training/requirements.txt +0 -0
  377. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/training/sagemaker_entrypoint.py +0 -0
  378. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/workbench_inference/Dockerfile +0 -0
  379. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/workbench_inference/main.py +0 -0
  380. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/workbench_inference/requirements.txt +0 -0
  381. {workbench-0.8.225 → workbench-0.8.227}/model_docker_images/workbench_inference/serve +0 -0
  382. {workbench-0.8.225 → workbench-0.8.227}/notebooks/Inference_On_Legacy_Models.ipynb +0 -0
  383. {workbench-0.8.225 → workbench-0.8.227}/notebooks/ML_Pipeline_with_Workbench.ipynb +0 -0
  384. {workbench-0.8.225 → workbench-0.8.227}/notebooks/ML_Pipeline_with_Workbench_2.ipynb +0 -0
  385. {workbench-0.8.225 → workbench-0.8.227}/notebooks/Outliers_in_Workbench.ipynb +0 -0
  386. {workbench-0.8.225 → workbench-0.8.227}/notebooks/Regression_Confidence_Experiments.ipynb +0 -0
  387. {workbench-0.8.225 → workbench-0.8.227}/notebooks/Residual_Analysis.ipynb +0 -0
  388. {workbench-0.8.225 → workbench-0.8.227}/notebooks/images/athena_query_aqsol.png +0 -0
  389. {workbench-0.8.225 → workbench-0.8.227}/notebooks/images/aws_dashboard_aqsol.png +0 -0
  390. {workbench-0.8.225 → workbench-0.8.227}/notebooks/images/dashboard_aqsol_features.png +0 -0
  391. {workbench-0.8.225 → workbench-0.8.227}/notebooks/images/model_screenshot.png +0 -0
  392. {workbench-0.8.225 → workbench-0.8.227}/notebooks/images/scp_labs.png +0 -0
  393. {workbench-0.8.225 → workbench-0.8.227}/open_admet/.gitignore +0 -0
  394. {workbench-0.8.225 → workbench-0.8.227}/open_admet/README.md +0 -0
  395. {workbench-0.8.225 → workbench-0.8.227}/open_admet/all_models.py +0 -0
  396. {workbench-0.8.225 → workbench-0.8.227}/open_admet/hello_world.py +0 -0
  397. {workbench-0.8.225 → workbench-0.8.227}/open_admet/images/confidence.jpg +0 -0
  398. {workbench-0.8.225 → workbench-0.8.227}/open_admet/images/open_admet_model.jpg +0 -0
  399. {workbench-0.8.225 → workbench-0.8.227}/open_admet/load_data.py +0 -0
  400. {workbench-0.8.225 → workbench-0.8.227}/open_admet/model_metrics.md +0 -0
  401. {workbench-0.8.225 → workbench-0.8.227}/open_admet/run_inference.py +0 -0
  402. {workbench-0.8.225 → workbench-0.8.227}/open_admet/utils/compute_model_metrics.py +0 -0
  403. {workbench-0.8.225 → workbench-0.8.227}/presentations/README.md +0 -0
  404. {workbench-0.8.225 → workbench-0.8.227}/pyproject.toml +0 -0
  405. {workbench-0.8.225 → workbench-0.8.227}/scripts/active_logs.sh +0 -0
  406. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/athena_ddl_mixed_case.py +0 -0
  407. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/check_all_glue_tables.py +0 -0
  408. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/delete_invalid_views.py +0 -0
  409. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/delete_redis_keys.py +0 -0
  410. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/list_datacatalog.py +0 -0
  411. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/migration/copy_glue_database.py +0 -0
  412. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/migration/delete_sageworks_glue_database.sh +0 -0
  413. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/migration/ds_migrate.py +0 -0
  414. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/migration/endpoint_migrate.py +0 -0
  415. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/migration/fs_migrate.py +0 -0
  416. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/migration/model_migrate.py +0 -0
  417. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/pull_image_digest.py +0 -0
  418. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/redis_reaper.py +0 -0
  419. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/spam_list_tags.py +0 -0
  420. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/storage/convert_training_views.py +0 -0
  421. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/storage/migrate_data_source_via_df.py +0 -0
  422. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/storage/migrate_ds_meta.py +0 -0
  423. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/test_batch_job_failure.py +0 -0
  424. {workbench-0.8.225 → workbench-0.8.227}/scripts/admin/test_no_workbench_config.py +0 -0
  425. {workbench-0.8.225 → workbench-0.8.227}/scripts/ag_table_row_selection.py +0 -0
  426. {workbench-0.8.225 → workbench-0.8.227}/scripts/compare_dataframes.py +0 -0
  427. {workbench-0.8.225 → workbench-0.8.227}/scripts/compare_model_packages.py +0 -0
  428. {workbench-0.8.225 → workbench-0.8.227}/scripts/delete_data_capture.py +0 -0
  429. {workbench-0.8.225 → workbench-0.8.227}/scripts/endpoint_timing.py +0 -0
  430. {workbench-0.8.225 → workbench-0.8.227}/scripts/get_tags.py +0 -0
  431. {workbench-0.8.225 → workbench-0.8.227}/scripts/instantiation_timings.py +0 -0
  432. {workbench-0.8.225 → workbench-0.8.227}/scripts/llm_deploys/deepseek_deploy.py +0 -0
  433. {workbench-0.8.225 → workbench-0.8.227}/scripts/model_cache_refresh.py +0 -0
  434. {workbench-0.8.225 → workbench-0.8.227}/scripts/model_endpoint_sanity_check.py +0 -0
  435. {workbench-0.8.225 → workbench-0.8.227}/scripts/monitor_event_bridge.py +0 -0
  436. {workbench-0.8.225 → workbench-0.8.227}/scripts/onboard_endpoints.py +0 -0
  437. {workbench-0.8.225 → workbench-0.8.227}/scripts/onboard_models.py +0 -0
  438. {workbench-0.8.225 → workbench-0.8.227}/scripts/pipeline_model_endpoint.py +0 -0
  439. {workbench-0.8.225 → workbench-0.8.227}/scripts/pubchem/pubchem_example.py +0 -0
  440. {workbench-0.8.225 → workbench-0.8.227}/scripts/pubchem/pubchem_query.py +0 -0
  441. {workbench-0.8.225 → workbench-0.8.227}/scripts/pubchem/pubchem_query_with_cid.py +0 -0
  442. {workbench-0.8.225 → workbench-0.8.227}/scripts/sagemaker_feature_group_issue.py +0 -0
  443. {workbench-0.8.225 → workbench-0.8.227}/scripts/seaborn_to_plotly.py +0 -0
  444. {workbench-0.8.225 → workbench-0.8.227}/scripts/storage/dns_data_to_features.py +0 -0
  445. {workbench-0.8.225 → workbench-0.8.227}/scripts/storage/generate_jsonl_data.py +0 -0
  446. {workbench-0.8.225 → workbench-0.8.227}/scripts/test_feature_resolution.py +0 -0
  447. {workbench-0.8.225 → workbench-0.8.227}/scripts/test_feature_set_creation.py +0 -0
  448. {workbench-0.8.225 → workbench-0.8.227}/scripts/tox21/test_tox_heuristic.py +0 -0
  449. {workbench-0.8.225 → workbench-0.8.227}/scripts/tox21/tox21_to_df_store.py +0 -0
  450. {workbench-0.8.225 → workbench-0.8.227}/setup.cfg +0 -0
  451. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/__init__.py +0 -0
  452. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/__init__.py +0 -0
  453. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/Readme.md +0 -0
  454. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/__init__.py +0 -0
  455. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/compound_dataset_overlap.py +0 -0
  456. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/data_source_eda.py +0 -0
  457. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/feature_space_proximity.py +0 -0
  458. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/fingerprint_proximity.py +0 -0
  459. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/projection_2d.py +0 -0
  460. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/proximity.py +0 -0
  461. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/storage/aggregation.py +0 -0
  462. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/storage/feature_resolution.py +0 -0
  463. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/storage/feature_spider.py +0 -0
  464. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/storage/residuals_calculator.py +0 -0
  465. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/storage/row_tagger.py +0 -0
  466. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/dataframe/storage/target_gradients.py +0 -0
  467. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/graph/__init__.py +0 -0
  468. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/graph/heavy/Readme.md +0 -0
  469. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/graph/light/Readme.md +0 -0
  470. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/graph/light/__init__.py +0 -0
  471. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/graph/light/proximity_graph.py +0 -0
  472. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/models/cleanlab_model.py +0 -0
  473. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/models/noise_model.py +0 -0
  474. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/spark/Readme.md +0 -0
  475. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/sql/Readme.md +0 -0
  476. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/sql/__init__.py +0 -0
  477. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/sql/column_stats.py +0 -0
  478. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/sql/correlations.py +0 -0
  479. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/sql/descriptive_stats.py +0 -0
  480. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/sql/outliers.py +0 -0
  481. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/sql/sample_rows.py +0 -0
  482. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/algorithms/sql/value_counts.py +0 -0
  483. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/__init__.py +0 -0
  484. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/compound.py +0 -0
  485. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/data_source.py +0 -0
  486. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/df_store.py +0 -0
  487. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/endpoint.py +0 -0
  488. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/feature_set.py +0 -0
  489. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/graph_store.py +0 -0
  490. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/meta.py +0 -0
  491. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/meta_model.py +0 -0
  492. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/model.py +0 -0
  493. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/monitor.py +0 -0
  494. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/parameter_store.py +0 -0
  495. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/api/pipeline.py +0 -0
  496. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/cached/__init__.py +0 -0
  497. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/cached/cached_data_source.py +0 -0
  498. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/cached/cached_endpoint.py +0 -0
  499. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/cached/cached_feature_set.py +0 -0
  500. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/cached/cached_meta.py +0 -0
  501. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/cached/cached_pipeline.py +0 -0
  502. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/__init__.py +0 -0
  503. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/__init__.py +0 -0
  504. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/artifact.py +0 -0
  505. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/athena_source.py +0 -0
  506. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/cached_artifact_mixin.py +0 -0
  507. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/data_capture_core.py +0 -0
  508. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/data_source_abstract.py +0 -0
  509. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/data_source_factory.py +0 -0
  510. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/df_store_core.py +0 -0
  511. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/feature_set_core.py +0 -0
  512. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/model_core.py +0 -0
  513. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/monitor_core.py +0 -0
  514. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/artifacts/parameter_store_core.py +0 -0
  515. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/cloud_platform/aws/README.md +0 -0
  516. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/cloud_platform/aws/aws_account_clamp.py +0 -0
  517. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/cloud_platform/aws/aws_graph_store.py +0 -0
  518. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/cloud_platform/aws/aws_meta.py +0 -0
  519. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/cloud_platform/aws/aws_secrets_manager.py +0 -0
  520. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/cloud_platform/aws/aws_session.py +0 -0
  521. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/cloud_platform/aws/cache_dataframe.py +0 -0
  522. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/cloud_platform/azure/README.md +0 -0
  523. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/cloud_platform/cloud_meta.py +0 -0
  524. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/cloud_platform/gcp/README.md +0 -0
  525. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/pipelines/pipeline_executor.py +0 -0
  526. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/Readme.md +0 -0
  527. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/__init__.py +0 -0
  528. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_loaders/__init__.py +0 -0
  529. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_loaders/heavy/__init__.py +0 -0
  530. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_loaders/heavy/s3_heavy_to_data_source.py +0 -0
  531. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_loaders/light/__init__.py +0 -0
  532. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_loaders/light/csv_to_data_source.py +0 -0
  533. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_loaders/light/json_to_data_source.py +0 -0
  534. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_loaders/light/s3_to_data_source_light.py +0 -0
  535. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_data/__init__.py +0 -0
  536. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_data/heavy/__init__.py +0 -0
  537. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_data/heavy/emr/Readme.md +0 -0
  538. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_data/heavy/glue/Readme.md +0 -0
  539. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_data/light/__init__.py +0 -0
  540. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_data/light/clean_data.py +0 -0
  541. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_data/light/data_to_data_light.py +0 -0
  542. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_features/__init__.py +0 -0
  543. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_features/heavy/__init__.py +0 -0
  544. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_features/heavy/chunk/__init__.py +0 -0
  545. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_features/heavy/chunk/data_to_features_chunk.py +0 -0
  546. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_features/heavy/emr/Readme.md +0 -0
  547. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_features/heavy/glue/Readme.md +0 -0
  548. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_features/heavy/storage/data_to_features_heavy_old.py +0 -0
  549. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_features/light/__init__.py +0 -0
  550. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_features/light/data_to_features_light.py +0 -0
  551. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/data_to_features/light/molecular_descriptors.py +0 -0
  552. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/features_to_features/__init__.py +0 -0
  553. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/features_to_features/heavy/emr/Readme.md +0 -0
  554. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/features_to_features/heavy/glue/Readme.md +0 -0
  555. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/features_to_model/__init__.py +0 -0
  556. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/features_to_model/features_to_model.py +0 -0
  557. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/model_to_endpoint/__init__.py +0 -0
  558. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/model_to_endpoint/model_to_endpoint.py +0 -0
  559. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/pandas_transforms/__init__.py +0 -0
  560. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/pandas_transforms/data_to_pandas.py +0 -0
  561. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/pandas_transforms/features_to_pandas.py +0 -0
  562. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/pandas_transforms/pandas_to_data.py +0 -0
  563. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/pandas_transforms/pandas_to_features.py +0 -0
  564. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/pandas_transforms/pandas_to_features_chunked.py +0 -0
  565. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/transforms/transform.py +0 -0
  566. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/views/__init__.py +0 -0
  567. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/views/column_subset_view.py +0 -0
  568. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/views/computation_view.py +0 -0
  569. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/views/create_view.py +0 -0
  570. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/views/display_view.py +0 -0
  571. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/views/inference_view.py +0 -0
  572. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/views/pandas_to_view.py +0 -0
  573. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/views/storage/mdq_view.py +0 -0
  574. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/views/training_view.py +0 -0
  575. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/views/view.py +0 -0
  576. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/core/views/view_utils.py +0 -0
  577. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_script_utils/model_script_utils.py +0 -0
  578. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_script_utils/pytorch_utils.py +0 -0
  579. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_script_utils/uq_harness.py +0 -0
  580. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/chemprop/chemprop.template +0 -0
  581. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/chemprop/generated_model_script.py +0 -0
  582. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/chemprop/model_script_utils.py +0 -0
  583. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/chemprop/requirements.txt +0 -0
  584. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/chem_info/Readme.md +0 -0
  585. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/chem_info/fingerprints.py +0 -0
  586. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/chem_info/mol_descriptors.py +0 -0
  587. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/chem_info/mol_standardize.py +0 -0
  588. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/chem_info/molecular_descriptors.py +0 -0
  589. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/chem_info/morgan_fingerprints.py +0 -0
  590. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/chem_info/requirements.txt +0 -0
  591. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/network_security/Readme.md +0 -0
  592. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/proximity/Readme.md +0 -0
  593. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/proximity/feature_space_proximity.py +0 -0
  594. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/proximity/feature_space_proximity.template +0 -0
  595. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/proximity/requirements.txt +0 -0
  596. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/uq_models/Readme.md +0 -0
  597. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/uq_models/bayesian_ridge.template +0 -0
  598. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/uq_models/ensemble_xgb.template +0 -0
  599. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/uq_models/feature_space_proximity.py +0 -0
  600. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/uq_models/gaussian_process.template +0 -0
  601. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/uq_models/ngboost.template +0 -0
  602. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_models/uq_models/requirements.txt +0 -0
  603. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_script_example/custom_model_script.py +0 -0
  604. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/custom_script_example/requirements.txt +0 -0
  605. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/ensemble_xgb/ensemble_xgb.template +0 -0
  606. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/ensemble_xgb/requirements.txt +0 -0
  607. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/meta_model/generated_model_script.py +0 -0
  608. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/meta_model/meta_model.template +0 -0
  609. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/pytorch_model/generated_model_script.py +0 -0
  610. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/pytorch_model/model_script_utils.py +0 -0
  611. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/pytorch_model/pytorch.template +0 -0
  612. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/pytorch_model/pytorch_utils.py +0 -0
  613. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/pytorch_model/requirements.txt +0 -0
  614. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/pytorch_model/uq_harness.py +0 -0
  615. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/scikit_learn/generated_model_script.py +0 -0
  616. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/scikit_learn/requirements.txt +0 -0
  617. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/scikit_learn/scikit_learn.template +0 -0
  618. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/script_generation.py +0 -0
  619. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/uq_models/generated_model_script.py +0 -0
  620. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/xgb_model/generated_model_script.py +0 -0
  621. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/xgb_model/model_script_utils.py +0 -0
  622. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/xgb_model/requirements.txt +0 -0
  623. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/xgb_model/uq_harness.py +0 -0
  624. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/model_scripts/xgb_model/xgb_model.template +0 -0
  625. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/repl/__init__.py +0 -0
  626. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/repl/workbench_shell.py +0 -0
  627. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/resources/open_source_api.key +0 -0
  628. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/resources/signature_verify_pub.pem +0 -0
  629. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/scripts/check_double_bond_stereo.py +0 -0
  630. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/scripts/endpoint_test.py +0 -0
  631. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/scripts/glue_launcher.py +0 -0
  632. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/scripts/lambda_test.py +0 -0
  633. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/scripts/meta_model_sim.py +0 -0
  634. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/scripts/ml_pipeline_batch.py +0 -0
  635. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/scripts/ml_pipeline_sqs.py +0 -0
  636. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/scripts/monitor_cloud_watch.py +0 -0
  637. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/scripts/redis_expire.py +0 -0
  638. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/scripts/redis_report.py +0 -0
  639. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/scripts/show_config.py +0 -0
  640. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/scripts/training_test.py +0 -0
  641. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/themes/dark/base_css.url +0 -0
  642. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/themes/dark/custom.css +0 -0
  643. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/themes/light/base_css.url +0 -0
  644. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/themes/light/branding.json +0 -0
  645. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/themes/midnight_blue/base_css.url +0 -0
  646. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/themes/midnight_blue/branding.json +0 -0
  647. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/themes/midnight_blue/custom.css +0 -0
  648. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/themes/midnight_blue/plotly.json +0 -0
  649. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/__init__.py +0 -0
  650. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/ai_compound_generator.py +0 -0
  651. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/ai_summary.py +0 -0
  652. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/ai_synth.py +0 -0
  653. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/athena_utils.py +0 -0
  654. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/aws_utils.py +0 -0
  655. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/bulk_utils.py +0 -0
  656. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/cache.py +0 -0
  657. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/chem_utils/__init__.py +0 -0
  658. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/chem_utils/fingerprints.py +0 -0
  659. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/chem_utils/misc.py +0 -0
  660. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/chem_utils/mol_descriptors.py +0 -0
  661. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/chem_utils/mol_standardize.py +0 -0
  662. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/chem_utils/mol_tagging.py +0 -0
  663. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/chem_utils/projections.py +0 -0
  664. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/chem_utils/salts.py +0 -0
  665. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/chem_utils/sdf.py +0 -0
  666. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/chem_utils/toxicity.py +0 -0
  667. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/chemprop_utils.py +0 -0
  668. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/cloudwatch_handler.py +0 -0
  669. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/cloudwatch_utils.py +0 -0
  670. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/color_utils.py +0 -0
  671. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/config_manager.py +0 -0
  672. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/dashboard_metrics.py +0 -0
  673. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/datetime_utils.py +0 -0
  674. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/deprecated_utils.py +0 -0
  675. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/df_to_endpoint.py +0 -0
  676. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/ecs_info.py +0 -0
  677. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/endpoint_metrics.py +0 -0
  678. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/endpoint_utils.py +0 -0
  679. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/extract_model_artifact.py +0 -0
  680. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/glue_utils.py +0 -0
  681. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/graph_utils.py +0 -0
  682. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/ipython_utils.py +0 -0
  683. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/json_utils.py +0 -0
  684. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/lambda_utils.py +0 -0
  685. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/license_manager.py +0 -0
  686. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/log_utils.py +0 -0
  687. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/meta_model_simulator.py +0 -0
  688. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/metrics_utils.py +0 -0
  689. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/model_utils.py +0 -0
  690. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/monitor_utils.py +0 -0
  691. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/pandas_utils.py +0 -0
  692. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/performance_utils.py +0 -0
  693. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/pipeline_utils.py +0 -0
  694. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/plugin_manager.py +0 -0
  695. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/prox_utils.py +0 -0
  696. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/pytorch_utils.py +0 -0
  697. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/redis_cache.py +0 -0
  698. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/repl_utils.py +0 -0
  699. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/s3_utils.py +0 -0
  700. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/shap_utils.py +0 -0
  701. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/shapley_values.py +0 -0
  702. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/symbols.py +0 -0
  703. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/test_data_generator.py +0 -0
  704. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/theme_manager.py +0 -0
  705. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/trace_calls.py +0 -0
  706. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/type_abbrev.py +0 -0
  707. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/workbench_cache.py +0 -0
  708. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/workbench_event_bridge.py +0 -0
  709. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/workbench_logging.py +0 -0
  710. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/workbench_sqs.py +0 -0
  711. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/xgboost_local_crossfold.py +0 -0
  712. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/utils/xgboost_model_utils.py +0 -0
  713. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/component_interface.py +0 -0
  714. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/correlation_matrix.py +0 -0
  715. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/data_details_markdown.py +0 -0
  716. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/endpoint_metric_plots.py +0 -0
  717. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/experiments/dashboard_metric_plots.py +0 -0
  718. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/experiments/outlier_plot.py +0 -0
  719. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugin_interface.py +0 -0
  720. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugin_unit_test.py +0 -0
  721. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/ag_table.py +0 -0
  722. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/dashboard_status.py +0 -0
  723. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/data_details.py +0 -0
  724. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/endpoint_details.py +0 -0
  725. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/generated_compounds.py +0 -0
  726. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/graph_plot.py +0 -0
  727. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/license_details.py +0 -0
  728. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/molecule_panel.py +0 -0
  729. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/molecule_viewer.py +0 -0
  730. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/pipeline_details.py +0 -0
  731. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/proximity_mini_graph.py +0 -0
  732. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/plugins/shap_summary_plot.py +0 -0
  733. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/regression_plot.py +0 -0
  734. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/settings_menu.py +0 -0
  735. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/components/violin_plots.py +0 -0
  736. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/page_views/data_sources_page_view.py +0 -0
  737. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/page_views/endpoints_page_view.py +0 -0
  738. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/page_views/feature_sets_page_view.py +0 -0
  739. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/page_views/main_page.py +0 -0
  740. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/page_views/models_page_view.py +0 -0
  741. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/page_views/page_view.py +0 -0
  742. {workbench-0.8.225 → workbench-0.8.227}/src/workbench/web_interface/page_views/pipelines_page_view.py +0 -0
  743. {workbench-0.8.225 → workbench-0.8.227}/src/workbench.egg-info/SOURCES.txt +0 -0
  744. {workbench-0.8.225 → workbench-0.8.227}/src/workbench.egg-info/dependency_links.txt +0 -0
  745. {workbench-0.8.225 → workbench-0.8.227}/src/workbench.egg-info/entry_points.txt +0 -0
  746. {workbench-0.8.225 → workbench-0.8.227}/src/workbench.egg-info/requires.txt +0 -0
  747. {workbench-0.8.225 → workbench-0.8.227}/src/workbench.egg-info/top_level.txt +0 -0
  748. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_aqsol_artifacts.py +0 -0
  749. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_aqsol_artifacts_all.py +0 -0
  750. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_aqsol_rt_artifacts.py +0 -0
  751. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_basic_test_artifacts.py +0 -0
  752. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_copy_artifacts.py +0 -0
  753. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_empty_model_group.py +0 -0
  754. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_endpoints_for_timing.py +0 -0
  755. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_graph_artifacts.py +0 -0
  756. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_knn_artifacts.py +0 -0
  757. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_meta_endpoints.py +0 -0
  758. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_pipeline_model.py +0 -0
  759. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_proximity_models.py +0 -0
  760. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_quant_regression_artifacts.py +0 -0
  761. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_realtime_endpoint.py +0 -0
  762. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_training_adjusted_artifacts.py +0 -0
  763. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/create_wine_artifacts.py +0 -0
  764. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/delete_stress_test_artifacts.py +0 -0
  765. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/delete_test_artifacts.py +0 -0
  766. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/hyper_testing.py +0 -0
  767. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/regression_ensemble.py +0 -0
  768. {workbench-0.8.225 → workbench-0.8.227}/test_artifacts/stress_test_aws.py +0 -0
  769. {workbench-0.8.225 → workbench-0.8.227}/tests/README.md +0 -0
  770. {workbench-0.8.225 → workbench-0.8.227}/tests/artifacts/data_source_tests.py +0 -0
  771. {workbench-0.8.225 → workbench-0.8.227}/tests/artifacts/empty_model_group.py +0 -0
  772. {workbench-0.8.225 → workbench-0.8.227}/tests/artifacts/endpoint_tests.py +0 -0
  773. {workbench-0.8.225 → workbench-0.8.227}/tests/artifacts/featureset_ingest_boundaries.py +0 -0
  774. {workbench-0.8.225 → workbench-0.8.227}/tests/artifacts/featureset_tests.py +0 -0
  775. {workbench-0.8.225 → workbench-0.8.227}/tests/artifacts/graph_tests.py +0 -0
  776. {workbench-0.8.225 → workbench-0.8.227}/tests/artifacts/model_metrics_tests.py +0 -0
  777. {workbench-0.8.225 → workbench-0.8.227}/tests/artifacts/model_tests.py +0 -0
  778. {workbench-0.8.225 → workbench-0.8.227}/tests/aws_account/aws_account_clamp_tests.py +0 -0
  779. {workbench-0.8.225 → workbench-0.8.227}/tests/cached/cached_artifact_tests.py +0 -0
  780. {workbench-0.8.225 → workbench-0.8.227}/tests/chem_info/test_tautomerization.py +0 -0
  781. {workbench-0.8.225 → workbench-0.8.227}/tests/corner_cases/end_to_end.py +0 -0
  782. {workbench-0.8.225 → workbench-0.8.227}/tests/df_store/df_store_tests.py +0 -0
  783. {workbench-0.8.225 → workbench-0.8.227}/tests/lambda/decompress_layers.py +0 -0
  784. {workbench-0.8.225 → workbench-0.8.227}/tests/pandas_tests/test_drift.py +0 -0
  785. {workbench-0.8.225 → workbench-0.8.227}/tests/parameter_store/param_store_tests.py +0 -0
  786. {workbench-0.8.225 → workbench-0.8.227}/tests/plugin_tests/crashing_plugin.py +0 -0
  787. {workbench-0.8.225 → workbench-0.8.227}/tests/pytorch/pytorch_hello.py +0 -0
  788. {workbench-0.8.225 → workbench-0.8.227}/tests/requirements-dev.txt +0 -0
  789. {workbench-0.8.225 → workbench-0.8.227}/tests/specific/capital_tests.py +0 -0
  790. {workbench-0.8.225 → workbench-0.8.227}/tests/specific/column_changes.py +0 -0
  791. {workbench-0.8.225 → workbench-0.8.227}/tests/specific/config_manager.py +0 -0
  792. {workbench-0.8.225 → workbench-0.8.227}/tests/specific/deletion_tests.py +0 -0
  793. {workbench-0.8.225 → workbench-0.8.227}/tests/specific/shap_tests.py +0 -0
  794. {workbench-0.8.225 → workbench-0.8.227}/tests/transforms/data_to_data_tests.py +0 -0
  795. {workbench-0.8.225 → workbench-0.8.227}/tests/transforms/data_to_features_tests.py +0 -0
  796. {workbench-0.8.225 → workbench-0.8.227}/tests/transforms/features_to_model_tests.py +0 -0
  797. {workbench-0.8.225 → workbench-0.8.227}/tests/transforms/model_to_endpoint_tests.py +0 -0
  798. {workbench-0.8.225 → workbench-0.8.227}/tests/transforms/pandas_to_data_tests.py +0 -0
  799. {workbench-0.8.225 → workbench-0.8.227}/tests/transforms/pandas_to_features_test.py +0 -0
  800. {workbench-0.8.225 → workbench-0.8.227}/tests/views/view_tests.py +0 -0
  801. {workbench-0.8.225 → workbench-0.8.227}/tests/views/view_tests_complex.py +0 -0
  802. {workbench-0.8.225 → workbench-0.8.227}/tests/web_components/confusion_matrix_test.py +0 -0
  803. {workbench-0.8.225 → workbench-0.8.227}/tests/web_components/correlation_matrix_test.py +0 -0
  804. {workbench-0.8.225 → workbench-0.8.227}/tests/web_components/graph_plot_test.py +0 -0
  805. {workbench-0.8.225 → workbench-0.8.227}/tests/web_components/plugin_interface_test.py +0 -0
  806. {workbench-0.8.225 → workbench-0.8.227}/tests/web_components/scatter_plot_test.py +0 -0
  807. {workbench-0.8.225 → workbench-0.8.227}/tox.ini +0 -0
  808. {workbench-0.8.225 → workbench-0.8.227}/ui_testing/assets/custom.css +0 -0
  809. {workbench-0.8.225 → workbench-0.8.227}/ui_testing/table_comparison.py +0 -0
  810. {workbench-0.8.225 → workbench-0.8.227}/ui_testing/theme_switching.py +0 -0
  811. {workbench-0.8.225 → workbench-0.8.227}/ui_testing/theme_switching_2.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: workbench
3
- Version: 0.8.225
3
+ Version: 0.8.227
4
4
  Summary: Workbench: A Dashboard and Python API for creating and deploying AWS SageMaker Model Pipelines
5
5
  Author-email: SuperCowPowers LLC <support@supercowpowers.com>
6
6
  License: MIT License
@@ -7,7 +7,7 @@ EXPOSE 8000
7
7
  ENV PYTHONHASHSEED=0
8
8
 
9
9
  # Define workbench version
10
- ARG WORKBENCH_VERSION=0.8.224
10
+ ARG WORKBENCH_VERSION=0.8.226
11
11
 
12
12
  # Install system packages and gunicorn in one layer
13
13
  RUN apt-get update && apt-get install -y --no-install-recommends \
@@ -135,13 +135,11 @@ def setup_plugin_callbacks(plugins, scatter_plot_plugin: ScatterPlot, confusion_
135
135
  if df is None:
136
136
  raise PreventUpdate
137
137
 
138
- # Get target column and compute error for coloring
138
+ # Get target column (residual is already computed in CachedModel)
139
139
  target = model.target()
140
140
  if isinstance(target, list):
141
141
  target = next((t for t in target if t in inference_run), target[0])
142
142
 
143
- df["error"] = abs(df["prediction"] - df[target])
144
-
145
143
  scatter_props = scatter_plot_plugin.update_properties(
146
144
  df,
147
145
  x=target,
@@ -37,8 +37,8 @@ def models_layout(
37
37
  [
38
38
  # Column 1: Model Details
39
39
  dbc.Col(
40
- dcc.Loading(model_details, type="dot", color="#33aa33", delay_show=1000, delay_hide=100),
41
- width=5,
40
+ dcc.Loading(model_details, type="dot", color="#33aa33", delay_show=1000),
41
+ width=4,
42
42
  className="text-break workbench-container",
43
43
  style={"margin": "20px 0px 0px 0px", "padding": "20px"},
44
44
  ),
@@ -50,7 +50,6 @@ def models_layout(
50
50
  model_plot,
51
51
  type="graph",
52
52
  delay_show=500,
53
- style={"height": "400px"},
54
53
  ),
55
54
  className="workbench-container",
56
55
  style={"margin": "20px 0px 10px 20px"},
@@ -61,7 +60,7 @@ def models_layout(
61
60
  style={"margin": "20px 0px 10px 20px"},
62
61
  ),
63
62
  ],
64
- width=7,
63
+ width=8,
65
64
  style={"padding": "0px"},
66
65
  ),
67
66
  ],
@@ -12,7 +12,7 @@ print(f"Account: {aws_account}")
12
12
  print(f"Region: {aws_region}")
13
13
 
14
14
  # When you want a different docker image change this line
15
- dashboard_image = "public.ecr.aws/m6i5k1r2/workbench_dashboard:v0_8_224_amd64"
15
+ dashboard_image = "public.ecr.aws/m6i5k1r2/workbench_dashboard:v0_8_226_amd64"
16
16
 
17
17
  # Workbench Configuration
18
18
  try:
@@ -12,7 +12,7 @@ print(f"Account: {aws_account}")
12
12
  print(f"Region: {aws_region}")
13
13
 
14
14
  # When you want a different docker image change this line
15
- dashboard_image = "public.ecr.aws/m6i5k1r2/workbench_dashboard:v0_8_224_amd64"
15
+ dashboard_image = "public.ecr.aws/m6i5k1r2/workbench_dashboard:v0_8_226_amd64"
16
16
 
17
17
  # Workbench Configuration
18
18
  try:
@@ -54,66 +54,30 @@ Bootstrap and Dash Bootstrap Components (DBC) provide mechanisms to control them
54
54
 
55
55
  # Theming Strategy for Workbench Dashboard
56
56
 
57
- ## **Phase 1: Application Start-Up Theming**
58
- This focuses on setting a polished, cohesive interface at startup. It ensures:
57
+ ## **How Theme Switching Works**
59
58
 
60
- 1. **CSS and Plotly Templates at Start-Up**:
61
- - The current system handles global styles via CSS (including Flask-served `custom.css`) and Plotly templates (via `pio.templates.default`) during app initialization.
62
- 2. **Highly Customizable Interface**:
63
- - By leveraging both custom CSS and Plotly templates, you can style everything to match branding and preferences.
59
+ Workbench supports dynamic theme switching at runtime. When a user changes themes, the page reloads to ensure all styling systems are applied consistently.
64
60
 
65
- ### **Why Phase 1 Works Well**
66
- - **Plotly Templates**: Figures are automatically styled if `pio.templates.default` is set before app initialization.
67
- - **CSS**: Dynamically affects the entire app without additional callbacks.
68
- - **Scalability**: Suitable for large apps since styles and templates are applied globally.
61
+ ### **Why We Use Page Reload**
69
62
 
70
- <br><br>
63
+ 1. **CSS and Plotly Templates**:
64
+ - Global styles are handled via CSS (including Flask-served `custom.css`) and Plotly templates (via `pio.templates.default`) during app initialization.
65
+ - Plotly figures have their styling "baked in" at render time—they don't respond to CSS variable changes.
71
66
 
72
- ## **Phase 2: Dynamic Theme Switching**
73
- Dynamic theme switching allows users to toggle between themes (e.g., light and dark) at runtime. This is more complex, and splitting it into its own phase will reduce the complexity of each Phase.
67
+ 2. **The Alternative Would Be Complex**:
68
+ - Without reload, every figure would need an explicit callback to re-render when themes change.
69
+ - With 20+ dynamic figures across plugin pages, wiring up individual callbacks isn't practical.
74
70
 
75
- ### **Challenges with Dynamic Switching**
76
- 1. **Encapsulation Barriers**:
77
- - A centralized callback for theme switching needs to know about every figure or component in the app, which is not scalable.
78
- 2. **Dynamic Content/Plugins**:
79
- - We have plugin pages, views, and components. A Typical app has 20 figures dynamically created, adding complexity to centralized callbacks.
71
+ 3. **Reload Is Simple and Reliable**:
72
+ - A page reload ensures all three systems (CSS, Plotly templates, Bootstrap) are applied correctly.
73
+ - Theme switching is typically a one-time choice, not something users toggle frequently.
80
74
 
75
+ ### **What Happens on Theme Change**
81
76
 
82
-
83
- ### **Proposed Solution: `set_theme()` Method**
84
- Introduce a `set_theme()` method in each component to manage its own updates:
85
-
86
- - **Figures**: Update their `layout.template` or regenerate themselves.
87
- - **HTML/CSS Components**: Dynamically update styles or toggle CSS classes.
88
-
89
- ### **Advantages of `set_theme()`**
90
- 1. **Encapsulation**:
91
- - Each component knows how to update itself based on the theme.
92
- 2. **Simple Callback**:
93
- - The theme switch callback iterates through all registered components and calls their `set_theme()` method.
94
- 3. **Scalable**:
95
- - Suitable for multi-page apps with many dynamic components.
96
-
97
-
98
-
99
- ## **How the Two Phases Work Together**
100
- ### Phase 1:
101
- - **Focus**: Global theming at app start-up.
102
- - **What Works**:
103
- - Plotly templates are applied to all figures by default.
104
- - CSS styles are applied across the app.
105
-
106
- ### Phase 2:
107
- - **Focus**: Extend components to dynamically update their theme.
108
- - **What to Add**:
109
- - Extend components with a `set_theme(theme_name: str)` method.
110
- - The callback triggers `set_theme()` for each registered component.
111
-
112
-
113
-
114
- ## **Next Steps**
115
- - **Phase 1**: Finalize CSS and Plotly template integration for start-up theming.
116
- - **Phase 2**: Begin implementing a `set_theme()` system for individual components.
77
+ 1. User selects a new theme
78
+ 2. Theme preference is saved (persisted across sessions)
79
+ 3. Page reloads
80
+ 4. On reload, the new CSS stylesheet, Plotly template, and Bootstrap theme are all applied consistently
117
81
 
118
82
  <br><br><br>
119
83
  <br><br><br>
@@ -47,6 +47,36 @@ The `data-bs-theme=light/dark` html attribute affects **Bootstrap-specific compo
47
47
 
48
48
  * Some figure parameters will automatically work, but for stuff like colorscales the component code needs to 'pull' that from the template meta data when it updates it's figure.
49
49
 
50
+ ## Why We Require a Page Reload for Theme Switching
51
+
52
+ Workbench supports dynamic theme switching—you can change themes at runtime. However, switching themes triggers a page reload rather than an instant in-place update. If you've seen demos like the [Dash Bootstrap Theme Explorer Gallery](https://hellodash.pythonanywhere.com/theme-explorer/gallery) where themes switch instantly, you might wonder why we can't do the same.
53
+
54
+ ### The Technical Reality
55
+
56
+ **Plotly figures don't respond to CSS variables.** Unlike Bootstrap components (buttons, cards, tables) which automatically re-style when `data-bs-theme` changes, Plotly figures have their styling "baked in" at render time. The figure's colors, fonts, and backgrounds are set when the figure is created—they don't dynamically respond to theme changes.
57
+
58
+ ### What dash-bootstrap-templates Actually Does
59
+
60
+ Even the excellent [dash-bootstrap-templates](https://github.com/AnnMarieW/dash-bootstrap-templates) library has this limitation. From their docs:
61
+
62
+ > *"The All-in-One component switches the Bootstrap stylesheet and sets the default Plotly figure template, however, figures must be updated in a callback in order to render the figure with the new template."*
63
+
64
+ This means every figure needs an explicit callback to re-render when the theme changes. In a simple demo app with 3-5 figures, that's manageable. In Workbench, with 20+ dynamic figures across multiple plugin pages, wiring up individual callbacks for each figure isn't practical.
65
+
66
+ ### Three Separate Styling Systems
67
+
68
+ | **System** | **What It Styles** | **Instant Switching?** |
69
+ |----------------------|---------------------------------|--------------------------------------------|
70
+ | CSS/Bootstrap | Layout, buttons, cards, tables | ✅ Yes (via `data-bs-theme`) |
71
+ | Plotly Templates | Figure axes, colors, fonts | ❌ No - requires figure re-render |
72
+ | Custom CSS | Non-Bootstrap elements | ⚠️ Requires stylesheet swap |
73
+
74
+ ### Our Approach: Reload on Theme Change
75
+
76
+ Rather than implementing complex callback wiring for every figure across all plugin pages, Workbench takes a pragmatic approach: **when you switch themes, the page reloads**. This ensures all three styling systems (CSS, Plotly templates, and Bootstrap components) are applied consistently and correctly.
77
+
78
+ The reload is fast, and theme selection is typically a one-time choice rather than something users toggle frequently. This approach gives us full theme flexibility without the architectural complexity of in-place figure updates.
79
+
50
80
  ## Additional Resources
51
81
 
52
82
  <img align="right" src="../images/scp.png" width="180">
@@ -4,7 +4,7 @@ from typing import Union
4
4
  import pandas as pd
5
5
 
6
6
  # Workbench Imports
7
- from workbench.core.artifacts.model_core import ModelCore
7
+ from workbench.core.artifacts.model_core import ModelCore, ModelType
8
8
  from workbench.core.artifacts.cached_artifact_mixin import CachedArtifactMixin
9
9
 
10
10
 
@@ -84,20 +84,58 @@ class CachedModel(CachedArtifactMixin, ModelCore):
84
84
  return super().get_inference_metrics(capture_name=capture_name)
85
85
 
86
86
  @CachedArtifactMixin.cache_result
87
- def get_inference_predictions(self, capture_name: str = "auto_inference") -> Union[pd.DataFrame, None]:
87
+ def get_inference_predictions(
88
+ self, capture_name: str = "auto_inference", limit: int = 1000
89
+ ) -> Union[pd.DataFrame, None]:
88
90
  """Retrieve the captured prediction results for this model
89
91
 
90
92
  Args:
91
- capture_name (str, optional): Specific capture_name (default: training_holdout)
93
+ capture_name (str, optional): Specific capture_name (default: auto_inference)
94
+ limit (int, optional): Maximum rows to return (default: 1000)
92
95
 
93
96
  Returns:
94
97
  pd.DataFrame: DataFrame of the Captured Predictions (might be None)
95
98
  """
96
- # Note: This method can generate larger dataframes, so we'll sample if needed
97
99
  df = super().get_inference_predictions(capture_name=capture_name)
98
- if df is not None and len(df) > 5000:
99
- self.log.warning(f"{self.name}:{capture_name} Sampling Inference Predictions to 5000 rows")
100
- return df.sample(5000)
100
+ if df is None:
101
+ return None
102
+
103
+ # Compute residual and do smart sampling based on model type
104
+ is_regressor = self.model_type in [ModelType.REGRESSOR, ModelType.UQ_REGRESSOR, ModelType.ENSEMBLE_REGRESSOR]
105
+ is_classifier = self.model_type == ModelType.CLASSIFIER
106
+
107
+ if is_regressor:
108
+ target = self.target()
109
+ if target and "prediction" in df.columns and target in df.columns:
110
+ df["residual"] = abs(df["prediction"] - df[target])
111
+
112
+ elif is_classifier:
113
+ target = self.target()
114
+ class_labels = self.class_labels()
115
+ if target and "prediction" in df.columns and target in df.columns and class_labels:
116
+ # Create a mapping from label to ordinal index
117
+ label_to_idx = {label: idx for idx, label in enumerate(class_labels)}
118
+ # Compute residual as distance between predicted and actual class
119
+ df["residual"] = abs(
120
+ df["prediction"].map(label_to_idx).fillna(-1) - df[target].map(label_to_idx).fillna(-1)
121
+ )
122
+
123
+ # Smart sampling: half high-residual rows, half random from the rest
124
+ if "residual" in df.columns and len(df) > limit:
125
+ half_limit = limit // 2
126
+ self.log.warning(
127
+ f"{self.name}:{capture_name} Sampling {limit} rows (top {half_limit} residuals + {half_limit} random)"
128
+ )
129
+ top_residuals = df.nlargest(half_limit, "residual")
130
+ remaining = df.drop(top_residuals.index)
131
+ random_sample = remaining.sample(min(half_limit, len(remaining)))
132
+ return pd.concat([top_residuals, random_sample]).reset_index(drop=True)
133
+
134
+ # Fallback: just limit rows if no residual computed
135
+ if len(df) > limit:
136
+ self.log.warning(f"{self.name}:{capture_name} Sampling to {limit} rows")
137
+ return df.sample(limit)
138
+
101
139
  return df
102
140
 
103
141
  @CachedArtifactMixin.cache_result
@@ -546,7 +546,14 @@ class EndpointCore(Artifact):
546
546
  target_list = targets if isinstance(targets, list) else [targets]
547
547
  primary_target = target_list[0]
548
548
 
549
- # Collect UQ columns (q_*, confidence) for additional tracking
549
+ # If we don't have a smiles column, try to merge it from the FeatureSet
550
+ if "smiles" not in out_of_fold_df.columns:
551
+ fs_df = fs.query(f'SELECT {fs.id_column}, "smiles" FROM "{fs.athena_table}"')
552
+ if "smiles" in fs_df.columns:
553
+ self.log.info("Merging 'smiles' column from FeatureSet into out-of-fold predictions.")
554
+ out_of_fold_df = out_of_fold_df.merge(fs_df, on=fs.id_column, how="left")
555
+
556
+ # Collect UQ columns (q_*, confidence) for additional tracking (used for hashing)
550
557
  additional_columns = [col for col in out_of_fold_df.columns if col.startswith("q_") or col == "confidence"]
551
558
  if additional_columns:
552
559
  self.log.info(f"UQ columns from training: {', '.join(additional_columns)}")
@@ -559,7 +566,6 @@ class EndpointCore(Artifact):
559
566
  # For single-target models (99% of cases), just save as "full_cross_fold"
560
567
  # For multi-target models, save each as cv_{target} plus primary as "full_cross_fold"
561
568
  is_multi_target = len(target_list) > 1
562
-
563
569
  for target in target_list:
564
570
  # Drop rows with NaN target values for metrics/plots
565
571
  target_df = out_of_fold_df.dropna(subset=[target])
@@ -899,6 +905,10 @@ class EndpointCore(Artifact):
899
905
  # Add UQ columns (q_*, confidence) and proba columns
900
906
  output_columns += [c for c in cols if c.startswith("q_") or c == "confidence" or c.endswith("_proba")]
901
907
 
908
+ # Add smiles column if present
909
+ if "smiles" in cols:
910
+ output_columns.append("smiles")
911
+
902
912
  # Write the predictions to S3
903
913
  output_file = f"{inference_capture_path}/inference_predictions.csv"
904
914
  self.log.info(f"Writing predictions to {output_file}")
@@ -483,11 +483,11 @@
483
483
  [1.0, "rgb(200, 100, 100)"]
484
484
  ],
485
485
  "sequential": [
486
- [0.0, "rgb(100, 100, 200)"],
487
- [0.4, "rgb(100, 200, 100)"],
488
- [0.65, "rgb(180, 180, 50)"],
489
- [0.85, "rgb(200, 100, 100)"],
490
- [1.0, "rgb(200, 100, 100)"]
486
+ [0.0, "rgba(80, 100, 255, 1.0)"],
487
+ [0.25, "rgba(70, 145, 220, 1.0)"],
488
+ [0.5, "rgba(70, 220, 100, 1.0)"],
489
+ [0.75, "rgba(255, 181, 80, 1.0)"],
490
+ [1.0, "rgba(232, 50, 131, 1.0)"]
491
491
  ],
492
492
  "sequentialminus": [
493
493
  [0.0, "rgb(255, 100, 100)"],
@@ -0,0 +1,258 @@
1
+ /* Light Theme Color Palette - Blue-Purple Blend */
2
+ :root {
3
+ /* Primary colors - blue to purple blend, low saturation */
4
+ --wb-lightest: rgb(200, 205, 215); /* Very light blue-lavender - backgrounds */
5
+ --wb-light: rgb(195, 205, 225); /* Light periwinkle - alternate rows */
6
+ --wb-medium: rgb(175, 185, 215); /* Medium blue-purple - headers */
7
+ --wb-accent: rgb(120, 130, 180); /* Blue-purple accent - borders */
8
+ --wb-dark: rgb(80, 90, 140); /* Dark blue-purple - strong accents */
9
+
10
+ /* Text colors */
11
+ --wb-text-primary: rgb(45, 50, 65); /* Primary text - dark blue-purple */
12
+ --wb-text-secondary: rgb(70, 75, 95); /* Secondary text */
13
+ --wb-text-muted: rgb(95, 100, 120); /* Muted text */
14
+
15
+ /* Semantic colors */
16
+ --wb-success: rgb(40, 110, 50);
17
+ --wb-info: rgb(60, 80, 160);
18
+ --wb-warning: rgb(170, 90, 10);
19
+ --wb-danger: rgb(180, 50, 80);
20
+ --wb-pink: rgb(200, 100, 200);
21
+
22
+ /* Shadows - purple-tinted */
23
+ --wb-shadow-light: rgba(80, 90, 140, 0.15);
24
+ --wb-shadow-medium: rgba(80, 90, 140, 0.25);
25
+
26
+ /* Dropdown/form colors */
27
+ --wb-dropdown-bg: rgb(185, 185, 195);
28
+ --wb-dropdown-focus: rgb(195, 195, 205);
29
+ --wb-dropdown-hover: rgb(195, 195, 205);
30
+
31
+ /* Container colors (with alpha) */
32
+ --wb-container-bg: rgba(175, 185, 215, 0.5);
33
+ --wb-container-bg-light: rgba(175, 185, 215, 0.25);
34
+ --wb-table-cell-bg: rgba(205, 215, 235, 0.5);
35
+
36
+ /* Body gradient colors */
37
+ --wb-body-gradient-start: rgb(180, 195, 215);
38
+ --wb-body-gradient-mid: rgb(170, 175, 205);
39
+ --wb-body-gradient-end: rgb(185, 175, 205);
40
+
41
+ /* Table header gradient colors */
42
+ --wb-header-red-start: rgb(200, 120, 120);
43
+ --wb-header-red-end: rgb(160, 90, 90);
44
+ --wb-header-yellow-start: rgb(180, 175, 100);
45
+ --wb-header-yellow-end: rgb(140, 135, 70);
46
+ --wb-header-green-start: rgb(110, 170, 110);
47
+ --wb-header-green-end: rgb(80, 130, 80);
48
+ --wb-header-purple-start: rgb(160, 120, 180);
49
+ --wb-header-purple-end: rgb(120, 85, 140);
50
+ }
51
+
52
+ h1, h2, h3, h4 {
53
+ color: var(--wb-text-primary);
54
+ }
55
+
56
+ body {
57
+ color: var(--wb-text-primary);
58
+ background: linear-gradient(135deg, var(--wb-body-gradient-start) 0%, var(--wb-body-gradient-mid) 50%, var(--wb-body-gradient-end) 100%);
59
+ }
60
+
61
+ /* Custom CSS to style bold text */
62
+ b, strong {
63
+ color: var(--wb-text-primary);
64
+ }
65
+
66
+ /* Reduce spacing around lists */
67
+ p {
68
+ margin-bottom: 0 !important;
69
+ }
70
+ ul, ol {
71
+ margin-top: 0 !important;
72
+ margin-bottom: 0.25em !important;
73
+ }
74
+
75
+ /* AgGrid custom CSS */
76
+
77
+ /* Adjust header background color */
78
+ .ag-header {
79
+ --ag-header-background-color: var(--wb-medium);
80
+ }
81
+
82
+ /* Adjust cell background and text color */
83
+ .ag-cell {
84
+ background-color: var(--wb-lightest);
85
+ color: var(--wb-text-primary);
86
+ }
87
+
88
+ /* Alternate row colors */
89
+ .ag-row:nth-child(even) .ag-cell {
90
+ background-color: var(--wb-light);
91
+ }
92
+
93
+ /* AgGrid header text color */
94
+ .ag-header-cell-text {
95
+ color: var(--wb-text-primary);
96
+ }
97
+
98
+ /* Selection color for the entire row */
99
+ .ag-row.ag-row-selected .ag-cell {
100
+ background-color: var(--wb-medium);
101
+ }
102
+
103
+ /* There's a one pixel border around the grid that we want to remove */
104
+ .ag-root-wrapper {
105
+ border: none !important; /* Force removal with !important */
106
+ }
107
+
108
+
109
+ /* Box shadow and rounded corners for all AgGrid themes */
110
+ [class*="ag-theme-"] {
111
+ box-shadow: 2px 2px 6px 5px var(--wb-shadow-light);
112
+ border-radius: 12px;
113
+ border: 0.5px solid var(--wb-accent);
114
+ margin: 0;
115
+ padding: 0;
116
+ }
117
+
118
+ /* Apply styling to Workbench containers */
119
+ .workbench-container {
120
+ background-color: var(--wb-container-bg);
121
+ box-shadow: 2px 2px 6px 5px var(--wb-shadow-light);
122
+ border-radius: 12px;
123
+ }
124
+
125
+ /* Apply styling to Workbench Offsets */
126
+ .workbench-offset {
127
+ background-color: var(--wb-container-bg-light);
128
+ box-shadow: 1px 1px 3px 2px var(--wb-shadow-light);
129
+ border-radius: 12px;
130
+ }
131
+
132
+ /* Apply styling to Workbench Highlight */
133
+ .workbench-highlight {
134
+ background-color: var(--wb-container-bg);
135
+ box-shadow: 1px 1px 3px 2px var(--wb-shadow-light);
136
+ border-radius: 12px;
137
+ }
138
+
139
+ /* Apply styling to custom tooltips */
140
+ .custom-tooltip {
141
+ background-color: var(--wb-lightest);
142
+ box-shadow: 2px 2px 6px 5px var(--wb-shadow-medium);
143
+ border-radius: 25px;
144
+ overflow: hidden;
145
+ border: 2px solid var(--wb-accent);
146
+ }
147
+
148
+ /* Some of the HTML/Markdown will use color hints like 'green-text' or 'blue-text' */
149
+ .green-text {
150
+ color: var(--wb-success);
151
+ }
152
+
153
+ .blue-text {
154
+ color: var(--wb-info);
155
+ }
156
+
157
+ .pink-text {
158
+ color: var(--wb-pink);
159
+ }
160
+
161
+ .red-text {
162
+ color: var(--wb-danger);
163
+ }
164
+
165
+ .orange-text {
166
+ color: var(--wb-warning);
167
+ }
168
+
169
+ .alert {
170
+ color: var(--wb-danger);
171
+ }
172
+
173
+ .warning {
174
+ color: var(--wb-warning);
175
+ }
176
+
177
+ .good {
178
+ color: var(--wb-success);
179
+ }
180
+
181
+ /* Dropdown styling (dcc.Dropdown) - override Bootstrap's variables */
182
+ .dash-dropdown {
183
+ --bs-body-bg: var(--wb-dropdown-bg);
184
+ --bs-body-color: var(--wb-text-primary);
185
+ --bs-border-color: var(--wb-accent);
186
+ }
187
+
188
+ /* Bootstrap form controls (dbc components) */
189
+ .form-select, .form-control {
190
+ background-color: var(--wb-dropdown-bg) !important;
191
+ border: 1px solid var(--wb-accent) !important;
192
+ color: var(--wb-text-primary) !important;
193
+ }
194
+
195
+ .form-select:focus, .form-control:focus {
196
+ background-color: var(--wb-dropdown-focus) !important;
197
+ border-color: var(--wb-dark) !important;
198
+ box-shadow: 0 0 0 0.2rem var(--wb-shadow-light) !important;
199
+ }
200
+
201
+ .dropdown-menu {
202
+ background-color: var(--wb-dropdown-bg) !important;
203
+ border: 1px solid var(--wb-accent) !important;
204
+ }
205
+
206
+ .dropdown-item {
207
+ color: var(--wb-text-primary) !important;
208
+ }
209
+
210
+ .dropdown-item:hover, .dropdown-item:focus {
211
+ background-color: var(--wb-dropdown-hover) !important;
212
+ color: var(--wb-text-primary) !important;
213
+ }
214
+
215
+ /* Table styling */
216
+ table {
217
+ width: 100%;
218
+ }
219
+
220
+ th {
221
+ padding: 10px;
222
+ border: 1px solid var(--wb-accent);
223
+ background-color: var(--wb-medium);
224
+ font-weight: bold;
225
+ text-align: center !important;
226
+ }
227
+
228
+ td {
229
+ padding: 5px;
230
+ border: 0.5px solid var(--wb-accent);
231
+ background-color: var(--wb-table-cell-bg);
232
+ text-align: center !important;
233
+ }
234
+
235
+ /* AG Grid table header colors - gradient theme */
236
+ /* Data Sources tables - red gradient */
237
+ #main_data_sources .ag-header,
238
+ #data_sources_table .ag-header {
239
+ background: linear-gradient(180deg, var(--wb-header-red-start) 0%, var(--wb-header-red-end) 100%) !important;
240
+ }
241
+
242
+ /* Feature Sets tables - yellow/olive gradient */
243
+ #main_feature_sets .ag-header,
244
+ #feature_sets_table .ag-header {
245
+ background: linear-gradient(180deg, var(--wb-header-yellow-start) 0%, var(--wb-header-yellow-end) 100%) !important;
246
+ }
247
+
248
+ /* Models tables - green gradient */
249
+ #main_models .ag-header,
250
+ #models_table .ag-header {
251
+ background: linear-gradient(180deg, var(--wb-header-green-start) 0%, var(--wb-header-green-end) 100%) !important;
252
+ }
253
+
254
+ /* Endpoints tables - purple gradient */
255
+ #main_endpoints .ag-header,
256
+ #endpoints_table .ag-header {
257
+ background: linear-gradient(180deg, var(--wb-header-purple-start) 0%, var(--wb-header-purple-end) 100%) !important;
258
+ }
@@ -133,7 +133,7 @@
133
133
  "ticks": ""
134
134
  },
135
135
  "colorscale": [
136
- [0.0, "rgb(100, 100, 200)"],
136
+ [0.0, "rgba(100, 100, 200, 0.8)"],
137
137
  [0.4, "rgb(100, 200, 100)"],
138
138
  [0.65, "rgb(170, 170, 50)"],
139
139
  [0.85, "rgb(200, 100, 100)"],
@@ -476,14 +476,14 @@
476
476
  },
477
477
  "colorscale": {
478
478
  "diverging": [
479
- [0.0, "rgb(100, 100, 255)"],
479
+ [0.0, "rgba(100, 100, 255, 0.8)"],
480
480
  [0.4, "rgb(100, 240, 100)"],
481
481
  [0.65, "rgb(200, 200, 50)"],
482
482
  [0.85, "rgb(255, 100, 100)"],
483
483
  [1.0, "rgb(255, 100, 100)"]
484
484
  ],
485
485
  "sequential": [
486
- [0.0, "rgb(100, 100, 200)"],
486
+ [0.0, "rgba(100, 100, 200, 0.8)"],
487
487
  [0.4, "rgb(100, 200, 100)"],
488
488
  [0.65, "rgb(170, 170, 50)"],
489
489
  [0.85, "rgb(200, 100, 100)"],
@@ -561,8 +561,8 @@
561
561
  "mapbox": {
562
562
  "style": "light"
563
563
  },
564
- "paper_bgcolor": "rgba(0, 0, 0, 0.0)",
565
- "plot_bgcolor": "rgba(0, 0, 0, 0.0)",
564
+ "paper_bgcolor": "rgba(255, 255, 255, 0.0)",
565
+ "plot_bgcolor": "rgba(255, 255, 255, 0.0)",
566
566
  "polar": {
567
567
  "angularaxis": {
568
568
  "gridcolor": "#EBF0F8",
@@ -633,25 +633,25 @@
633
633
  },
634
634
  "xaxis": {
635
635
  "automargin": true,
636
- "gridcolor": "#ffffff",
636
+ "gridcolor": "rgba(120, 130, 160, 0.3)",
637
637
  "linecolor": "#EBF0F8",
638
638
  "ticks": "",
639
639
  "title": {
640
640
  "standoff": 15
641
641
  },
642
- "zerolinecolor": "#edeeee",
642
+ "zerolinecolor": "rgba(120, 130, 160, 0.4)",
643
643
  "zerolinewidth": 2,
644
644
  "gridwidth": 0.5
645
645
  },
646
646
  "yaxis": {
647
647
  "automargin": true,
648
- "gridcolor": "#ffffff",
648
+ "gridcolor": "rgba(120, 130, 160, 0.3)",
649
649
  "linecolor": "#EBF0F8",
650
650
  "ticks": "",
651
651
  "title": {
652
652
  "standoff": 15
653
653
  },
654
- "zerolinecolor": "#edeeee",
654
+ "zerolinecolor": "rgba(120, 130, 160, 0.4)",
655
655
  "zerolinewidth": 2,
656
656
  "gridwidth": 0.5
657
657
  },