workbench 0.8.177__tar.gz → 0.8.217__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 (857) hide show
  1. {workbench-0.8.177 → workbench-0.8.217}/.github/workflows/python-lint.yml +2 -3
  2. {workbench-0.8.177 → workbench-0.8.217}/.gitignore +2 -2
  3. workbench-0.8.217/Dockerfile +7 -0
  4. {workbench-0.8.177 → workbench-0.8.217}/LICENSE +1 -1
  5. {workbench-0.8.177 → workbench-0.8.217}/PKG-INFO +30 -7
  6. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/Dockerfile +1 -1
  7. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/requirements.txt +1 -1
  8. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/aws_identity_check.py +0 -1
  9. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_compute/workbench_compute/workbench_compute_stack.py +6 -12
  10. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_full/app.py +1 -1
  11. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_full/workbench_dashboard_full/workbench_dashboard_stack.py +0 -1
  12. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_lite/app.py +1 -2
  13. {workbench-0.8.177 → workbench-0.8.217}/docs/api_classes/endpoint.md +4 -8
  14. {workbench-0.8.177 → workbench-0.8.217}/docs/api_classes/meta.md +1 -1
  15. {workbench-0.8.177 → workbench-0.8.217}/docs/api_classes/overview.md +2 -7
  16. {workbench-0.8.177 → workbench-0.8.217}/docs/api_classes/views.md +2 -2
  17. {workbench-0.8.177 → workbench-0.8.217}/docs/cached/cached_meta.md +1 -1
  18. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/transforms/features_to_model.md +1 -1
  19. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/views/overview.md +2 -2
  20. {workbench-0.8.177 → workbench-0.8.217}/examples/endpoint/endpoint_inference.py +4 -8
  21. {workbench-0.8.177 → workbench-0.8.217}/examples/full_ml_pipeline.py +1 -3
  22. {workbench-0.8.177 → workbench-0.8.217}/examples/glue_jobs/glue_example_1.py +1 -1
  23. {workbench-0.8.177 → workbench-0.8.217}/examples/glue_jobs/glue_example_2.py +1 -1
  24. {workbench-0.8.177 → workbench-0.8.217}/examples/glue_jobs/glue_example_3.py +1 -1
  25. {workbench-0.8.177 → workbench-0.8.217}/examples/ml_pipelines/list_models.py +0 -1
  26. {workbench-0.8.177 → workbench-0.8.217}/examples/ml_pipelines/wine_classifier.py +2 -2
  27. workbench-0.8.217/examples/models/chemprop.py +140 -0
  28. {workbench-0.8.177 → workbench-0.8.217}/examples/models/custom_model.py +1 -1
  29. {workbench-0.8.177 → workbench-0.8.217}/examples/models/dbscan.py +1 -1
  30. workbench-0.8.217/examples/models/meta_model.py +34 -0
  31. {workbench-0.8.177 → workbench-0.8.217}/examples/models/pytorch.py +16 -17
  32. {workbench-0.8.177 → workbench-0.8.217}/examples/models/smiles_to_md_v1.py +2 -2
  33. {workbench-0.8.177 → workbench-0.8.217}/examples/models/uq/bayesian_ridge.py +2 -2
  34. {workbench-0.8.177 → workbench-0.8.217}/examples/models/uq/ensemble_xgb.py +1 -1
  35. {workbench-0.8.177 → workbench-0.8.217}/examples/models/uq/gaussian_process.py +2 -2
  36. {workbench-0.8.177 → workbench-0.8.217}/examples/models/uq/meta_uq.py +2 -2
  37. {workbench-0.8.177 → workbench-0.8.217}/examples/models/uq/ngboost.py +2 -2
  38. {workbench-0.8.177 → workbench-0.8.217}/examples/models/uq/quant_xgb.py +2 -2
  39. workbench-0.8.217/examples/models/xgb_model.py +76 -0
  40. workbench-0.8.217/experiments/chem_info/knn_sims.py +22 -0
  41. workbench-0.8.217/experiments/cleanlab_bug_report.py +17 -0
  42. {workbench-0.8.177/scripts/admin → workbench-0.8.217/experiments}/db_scan_test.py +2 -2
  43. {workbench-0.8.177 → workbench-0.8.217}/experiments/rocauc_testing.py +1 -1
  44. {workbench-0.8.177 → workbench-0.8.217}/experiments/sol_pipeline.py +1 -1
  45. workbench-0.8.217/feature_endpoints/model_scripts/rdkit_mordred_model_script.py +90 -0
  46. workbench-0.8.217/feature_endpoints/model_scripts/rdkit_mordred_model_script_keep_salts.py +90 -0
  47. workbench-0.8.217/feature_endpoints/model_scripts/requirements.txt +2 -0
  48. workbench-0.8.217/feature_endpoints/rdkit_mordred_keep_salts_v1.py +66 -0
  49. workbench-0.8.217/feature_endpoints/rdkit_mordred_v1.py +66 -0
  50. {workbench-0.8.177 → workbench-0.8.217}/glue_jobs/example_glue_job.py +2 -1
  51. {workbench-0.8.177 → workbench-0.8.217}/glue_jobs/glue_job_pipeline.py +1 -1
  52. workbench-0.8.217/ml_pipelines/hyper_uq.py +49 -0
  53. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/inference/Dockerfile +0 -3
  54. workbench-0.8.217/model_docker_images/inference/requirements.txt +10 -0
  55. {workbench-0.8.177/model_docker_images/pytorch_inference → workbench-0.8.217/model_docker_images/meta_inference}/Dockerfile +4 -7
  56. workbench-0.8.217/model_docker_images/meta_inference/requirements.txt +5 -0
  57. {workbench-0.8.177/model_docker_images/training → workbench-0.8.217/model_docker_images/meta_training}/Dockerfile +3 -10
  58. workbench-0.8.217/model_docker_images/meta_training/requirements.txt +3 -0
  59. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/ml_pipelines/Dockerfile +2 -2
  60. workbench-0.8.217/model_docker_images/ml_pipelines/requirements.txt +14 -0
  61. workbench-0.8.217/model_docker_images/pytorch_inference/requirements.txt +14 -0
  62. workbench-0.8.217/model_docker_images/pytorch_training/Dockerfile +25 -0
  63. workbench-0.8.217/model_docker_images/pytorch_training/requirements.txt +12 -0
  64. workbench-0.8.217/model_docker_images/pytorch_training/sagemaker_entrypoint.py +152 -0
  65. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/scripts/build_deploy.sh +3 -2
  66. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/tests/example_model_script.py +21 -22
  67. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/tests/test_training.py +4 -2
  68. {workbench-0.8.177/model_docker_images/pytorch_training → workbench-0.8.217/model_docker_images/training}/Dockerfile +2 -1
  69. workbench-0.8.217/model_docker_images/training/requirements.txt +8 -0
  70. {workbench-0.8.177 → workbench-0.8.217}/notebooks/Inference_On_Legacy_Models.ipynb +2 -2
  71. {workbench-0.8.177 → workbench-0.8.217}/notebooks/ML_Pipeline_with_Workbench_2.ipynb +1 -1
  72. workbench-0.8.217/open_admet/.gitignore +1 -0
  73. workbench-0.8.217/open_admet/README.md +138 -0
  74. workbench-0.8.217/open_admet/all_models.py +153 -0
  75. workbench-0.8.217/open_admet/hello_world.py +38 -0
  76. workbench-0.8.217/open_admet/load_data.py +101 -0
  77. workbench-0.8.217/open_admet/model_metrics.md +67 -0
  78. workbench-0.8.217/open_admet/run_inference.py +281 -0
  79. workbench-0.8.217/open_admet/utils/compute_model_metrics.py +86 -0
  80. {workbench-0.8.177 → workbench-0.8.217}/pyproject.toml +11 -6
  81. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/migration/model_migrate.py +1 -1
  82. {workbench-0.8.177/scripts → workbench-0.8.217/scripts/admin}/test_no_workbench_config.py +4 -2
  83. {workbench-0.8.177 → workbench-0.8.217}/scripts/ag_table_row_selection.py +1 -1
  84. {workbench-0.8.177 → workbench-0.8.217}/scripts/compare_dataframes.py +8 -2
  85. workbench-0.8.217/scripts/delete_data_capture.py +72 -0
  86. {workbench-0.8.177 → workbench-0.8.217}/scripts/llm_deploys/deepseek_deploy.py +3 -4
  87. workbench-0.8.217/scripts/sagemaker_feature_group_issue.py +61 -0
  88. workbench-0.8.217/scripts/test_feature_set_creation.py +20 -0
  89. {workbench-0.8.177 → workbench-0.8.217}/scripts/tox21/tox21_to_df_store.py +1 -1
  90. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/dataframe/__init__.py +1 -2
  91. workbench-0.8.217/src/workbench/algorithms/dataframe/feature_space_proximity.py +194 -0
  92. workbench-0.8.217/src/workbench/algorithms/dataframe/fingerprint_proximity.py +339 -0
  93. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/dataframe/projection_2d.py +38 -21
  94. workbench-0.8.217/src/workbench/algorithms/dataframe/proximity.py +335 -0
  95. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/graph/light/proximity_graph.py +12 -11
  96. workbench-0.8.217/src/workbench/algorithms/models/cleanlab_model.py +382 -0
  97. workbench-0.8.217/src/workbench/algorithms/models/noise_model.py +388 -0
  98. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/api/__init__.py +5 -1
  99. workbench-0.8.217/src/workbench/api/df_store.py +103 -0
  100. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/api/endpoint.py +14 -12
  101. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/api/feature_set.py +118 -11
  102. workbench-0.8.217/src/workbench/api/meta_model.py +289 -0
  103. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/api/model.py +52 -21
  104. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/api/parameter_store.py +3 -52
  105. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/cached/cached_model.py +4 -4
  106. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/artifacts/__init__.py +11 -2
  107. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/artifacts/artifact.py +5 -5
  108. workbench-0.8.217/src/workbench/core/artifacts/df_store_core.py +114 -0
  109. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/artifacts/endpoint_core.py +309 -204
  110. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/artifacts/feature_set_core.py +265 -16
  111. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/artifacts/model_core.py +135 -82
  112. workbench-0.8.217/src/workbench/core/artifacts/parameter_store_core.py +98 -0
  113. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/pipelines/pipeline_executor.py +1 -1
  114. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/features_to_model/features_to_model.py +58 -36
  115. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/model_to_endpoint/model_to_endpoint.py +41 -10
  116. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/pandas_transforms/pandas_to_features.py +38 -2
  117. workbench-0.8.217/src/workbench/core/views/training_view.py +231 -0
  118. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/views/view.py +53 -3
  119. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/views/view_utils.py +4 -4
  120. workbench-0.8.217/src/workbench/model_script_utils/model_script_utils.py +335 -0
  121. workbench-0.8.217/src/workbench/model_script_utils/pytorch_utils.py +405 -0
  122. workbench-0.8.217/src/workbench/model_script_utils/uq_harness.py +278 -0
  123. workbench-0.8.217/src/workbench/model_scripts/chemprop/chemprop.template +649 -0
  124. workbench-0.8.217/src/workbench/model_scripts/chemprop/generated_model_script.py +649 -0
  125. workbench-0.8.217/src/workbench/model_scripts/chemprop/model_script_utils.py +335 -0
  126. {workbench-0.8.177/src/workbench/model_scripts/pytorch_model → workbench-0.8.217/src/workbench/model_scripts/chemprop}/requirements.txt +2 -1
  127. {workbench-0.8.177/src/workbench/utils/chem_utils → workbench-0.8.217/src/workbench/model_scripts/custom_models/chem_info}/fingerprints.py +7 -3
  128. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/chem_info/morgan_fingerprints.py +1 -1
  129. workbench-0.8.217/src/workbench/model_scripts/custom_models/proximity/feature_space_proximity.py +194 -0
  130. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/proximity/feature_space_proximity.template +8 -10
  131. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/uq_models/bayesian_ridge.template +7 -8
  132. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/uq_models/ensemble_xgb.template +20 -21
  133. workbench-0.8.217/src/workbench/model_scripts/custom_models/uq_models/feature_space_proximity.py +194 -0
  134. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/uq_models/gaussian_process.template +5 -11
  135. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/uq_models/meta_uq.template +22 -31
  136. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/uq_models/ngboost.template +15 -16
  137. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/ensemble_xgb/ensemble_xgb.template +15 -17
  138. workbench-0.8.217/src/workbench/model_scripts/meta_model/generated_model_script.py +209 -0
  139. workbench-0.8.217/src/workbench/model_scripts/meta_model/meta_model.template +209 -0
  140. workbench-0.8.217/src/workbench/model_scripts/pytorch_model/generated_model_script.py +520 -0
  141. workbench-0.8.217/src/workbench/model_scripts/pytorch_model/model_script_utils.py +335 -0
  142. workbench-0.8.217/src/workbench/model_scripts/pytorch_model/pytorch.template +520 -0
  143. workbench-0.8.217/src/workbench/model_scripts/pytorch_model/pytorch_utils.py +405 -0
  144. workbench-0.8.217/src/workbench/model_scripts/pytorch_model/requirements.txt +2 -0
  145. workbench-0.8.217/src/workbench/model_scripts/pytorch_model/uq_harness.py +278 -0
  146. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/scikit_learn/generated_model_script.py +7 -12
  147. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/scikit_learn/scikit_learn.template +4 -9
  148. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/script_generation.py +15 -11
  149. workbench-0.8.217/src/workbench/model_scripts/uq_models/generated_model_script.py +248 -0
  150. workbench-0.8.217/src/workbench/model_scripts/xgb_model/generated_model_script.py +445 -0
  151. workbench-0.8.217/src/workbench/model_scripts/xgb_model/model_script_utils.py +335 -0
  152. workbench-0.8.217/src/workbench/model_scripts/xgb_model/uq_harness.py +278 -0
  153. workbench-0.8.217/src/workbench/model_scripts/xgb_model/xgb_model.template +445 -0
  154. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/repl/workbench_shell.py +18 -14
  155. workbench-0.8.217/src/workbench/resources/open_source_api.key +1 -0
  156. workbench-0.8.217/src/workbench/scripts/endpoint_test.py +162 -0
  157. workbench-0.8.217/src/workbench/scripts/lambda_test.py +73 -0
  158. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/scripts/ml_pipeline_sqs.py +51 -4
  159. workbench-0.8.217/src/workbench/scripts/training_test.py +85 -0
  160. workbench-0.8.217/src/workbench/utils/chem_utils/fingerprints.py +138 -0
  161. workbench-0.8.217/src/workbench/utils/chem_utils/mol_descriptors.py +483 -0
  162. workbench-0.8.217/src/workbench/utils/chem_utils/mol_standardize.py +450 -0
  163. workbench-0.8.217/src/workbench/utils/chemprop_utils.py +141 -0
  164. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/config_manager.py +2 -6
  165. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/endpoint_utils.py +5 -7
  166. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/license_manager.py +2 -6
  167. workbench-0.8.217/src/workbench/utils/meta_model_simulator.py +471 -0
  168. workbench-0.8.217/src/workbench/utils/metrics_utils.py +256 -0
  169. workbench-0.8.217/src/workbench/utils/model_utils.py +521 -0
  170. workbench-0.8.217/src/workbench/utils/pytorch_utils.py +87 -0
  171. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/shap_utils.py +10 -2
  172. workbench-0.8.217/src/workbench/utils/xgboost_local_crossfold.py +267 -0
  173. workbench-0.8.217/src/workbench/utils/xgboost_model_utils.py +324 -0
  174. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/model_plot.py +14 -2
  175. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugin_unit_test.py +5 -2
  176. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/model_details.py +38 -74
  177. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/scatter_plot.py +6 -10
  178. {workbench-0.8.177 → workbench-0.8.217}/src/workbench.egg-info/PKG-INFO +30 -7
  179. {workbench-0.8.177 → workbench-0.8.217}/src/workbench.egg-info/SOURCES.txt +84 -55
  180. {workbench-0.8.177 → workbench-0.8.217}/src/workbench.egg-info/entry_points.txt +3 -0
  181. {workbench-0.8.177 → workbench-0.8.217}/src/workbench.egg-info/requires.txt +6 -5
  182. workbench-0.8.217/test_artifacts/create_aqsol_artifacts.py +115 -0
  183. workbench-0.8.177/tests/create_test_artifacts/create_aqsol_artifacts.py → workbench-0.8.217/test_artifacts/create_aqsol_artifacts_all.py +9 -12
  184. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_aqsol_rt_artifacts.py +4 -4
  185. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_basic_test_artifacts.py +3 -3
  186. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_copy_artifacts.py +1 -1
  187. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_knn_artifacts.py +2 -2
  188. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_meta_endpoints.py +1 -1
  189. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_proximity_models.py +2 -2
  190. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_quant_regression_artifacts.py +3 -3
  191. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_training_adjusted_artifacts.py +1 -3
  192. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_wine_artifacts.py +1 -1
  193. workbench-0.8.217/test_artifacts/hyper_testing.py +70 -0
  194. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/regression_ensemble.py +1 -1
  195. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/stress_test_aws.py +1 -1
  196. {workbench-0.8.177 → workbench-0.8.217}/tests/artifacts/endpoint_tests.py +7 -7
  197. {workbench-0.8.177 → workbench-0.8.217}/tests/artifacts/model_metrics_tests.py +2 -2
  198. workbench-0.8.217/tests/pytorch/pytorch_hello.py +63 -0
  199. {workbench-0.8.177 → workbench-0.8.217}/tox.ini +13 -8
  200. workbench-0.8.177/Dockerfile +0 -31
  201. workbench-0.8.177/aws_setup/workbench_compute/tests/unit/test_workbench_compute_stack.py +0 -17
  202. workbench-0.8.177/examples/models/uq/mapie.py +0 -38
  203. workbench-0.8.177/examples/storage/data_to_data.py +0 -34
  204. workbench-0.8.177/examples/storage/data_to_features.py +0 -19
  205. workbench-0.8.177/examples/storage/endpoint_inference.py +0 -40
  206. workbench-0.8.177/examples/storage/hello_world_pipeline.py +0 -44
  207. workbench-0.8.177/examples/storage/plugin_page_example.py +0 -122
  208. workbench-0.8.177/experiments/chem_info/knn_sims.py +0 -25
  209. workbench-0.8.177/experiments/chemprop_model.py +0 -492
  210. workbench-0.8.177/experiments/mapie_model.py +0 -477
  211. workbench-0.8.177/experiments/neighbor_outliers.py +0 -69
  212. workbench-0.8.177/experiments/pytorch_model.py +0 -583
  213. workbench-0.8.177/experiments/quantile_regression.py +0 -157
  214. workbench-0.8.177/experiments/quantile_regression_2.py +0 -236
  215. workbench-0.8.177/experiments/regression_confidence.py +0 -94
  216. workbench-0.8.177/model_docker_images/inference/requirements.txt +0 -9
  217. workbench-0.8.177/model_docker_images/meta_endpoint/requirements.txt +0 -5
  218. workbench-0.8.177/model_docker_images/ml_pipelines/requirements.txt +0 -16
  219. workbench-0.8.177/model_docker_images/pytorch_inference/requirements.txt +0 -11
  220. workbench-0.8.177/model_docker_images/pytorch_training/requirements.txt +0 -9
  221. workbench-0.8.177/model_docker_images/training/requirements.txt +0 -7
  222. workbench-0.8.177/scripts/find_smiles_issues.py +0 -31
  223. workbench-0.8.177/src/workbench/algorithms/dataframe/feature_space_proximity.py +0 -101
  224. workbench-0.8.177/src/workbench/algorithms/dataframe/fingerprint_proximity.py +0 -162
  225. workbench-0.8.177/src/workbench/algorithms/dataframe/proximity.py +0 -384
  226. workbench-0.8.177/src/workbench/api/df_store.py +0 -194
  227. workbench-0.8.177/src/workbench/core/cloud_platform/aws/aws_df_store.py +0 -404
  228. workbench-0.8.177/src/workbench/core/cloud_platform/aws/aws_parameter_store.py +0 -280
  229. workbench-0.8.177/src/workbench/core/views/training_view.py +0 -160
  230. workbench-0.8.177/src/workbench/model_scripts/custom_models/proximity/generated_model_script.py +0 -138
  231. workbench-0.8.177/src/workbench/model_scripts/custom_models/proximity/proximity.py +0 -384
  232. workbench-0.8.177/src/workbench/model_scripts/custom_models/uq_models/generated_model_script.py +0 -494
  233. workbench-0.8.177/src/workbench/model_scripts/custom_models/uq_models/mapie.template +0 -494
  234. workbench-0.8.177/src/workbench/model_scripts/custom_models/uq_models/proximity.py +0 -384
  235. workbench-0.8.177/src/workbench/model_scripts/ensemble_xgb/generated_model_script.py +0 -279
  236. workbench-0.8.177/src/workbench/model_scripts/pytorch_model/generated_model_script.py +0 -576
  237. workbench-0.8.177/src/workbench/model_scripts/pytorch_model/pytorch.template +0 -576
  238. workbench-0.8.177/src/workbench/model_scripts/quant_regression/quant_regression.template +0 -279
  239. workbench-0.8.177/src/workbench/model_scripts/xgb_model/generated_model_script.py +0 -477
  240. workbench-0.8.177/src/workbench/model_scripts/xgb_model/requirements.txt +0 -1
  241. workbench-0.8.177/src/workbench/model_scripts/xgb_model/xgb_model.template +0 -477
  242. workbench-0.8.177/src/workbench/resources/open_source_api.key +0 -1
  243. workbench-0.8.177/src/workbench/utils/__init__.py +0 -0
  244. workbench-0.8.177/src/workbench/utils/chem_utils/__init__.py +0 -0
  245. workbench-0.8.177/src/workbench/utils/model_utils.py +0 -336
  246. workbench-0.8.177/src/workbench/utils/resource_utils.py +0 -39
  247. workbench-0.8.177/src/workbench/utils/xgboost_model_utils.py +0 -417
  248. workbench-0.8.177/tests/create_test_artifacts/100_percent_models.py +0 -95
  249. workbench-0.8.177/tests/create_test_artifacts/create_aqsol_uq_artifacts.py +0 -60
  250. workbench-0.8.177/tests/pytorch/pytorch_hello.py +0 -246
  251. {workbench-0.8.177 → workbench-0.8.217}/.flake8 +0 -0
  252. {workbench-0.8.177 → workbench-0.8.217}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  253. {workbench-0.8.177 → workbench-0.8.217}/.github/dependabot.yml +0 -0
  254. {workbench-0.8.177 → workbench-0.8.217}/.github/workflows/deploy-docs.yml +0 -0
  255. {workbench-0.8.177 → workbench-0.8.217}/CONTRIBUTING.md +0 -0
  256. {workbench-0.8.177 → workbench-0.8.217}/Makefile +0 -0
  257. {workbench-0.8.177 → workbench-0.8.217}/README.md +0 -0
  258. {workbench-0.8.177 → workbench-0.8.217}/SECURITY.md +0 -0
  259. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/README.md +0 -0
  260. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/app.py +0 -0
  261. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/assets/favicon.ico +0 -0
  262. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/dashboard +0 -0
  263. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/deploy.sh +0 -0
  264. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/nginx.conf +0 -0
  265. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/open_source_config.json +0 -0
  266. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/data_sources/callbacks.py +0 -0
  267. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/data_sources/layout.py +0 -0
  268. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/data_sources/page.py +0 -0
  269. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/endpoints/callbacks.py +0 -0
  270. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/endpoints/layout.py +0 -0
  271. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/endpoints/page.py +0 -0
  272. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/feature_sets/callbacks.py +0 -0
  273. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/feature_sets/layout.py +0 -0
  274. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/feature_sets/page.py +0 -0
  275. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/license/page.py +0 -0
  276. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/main/callbacks.py +0 -0
  277. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/main/layout.py +0 -0
  278. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/main/page.py +0 -0
  279. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/models/callbacks.py +0 -0
  280. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/models/layout.py +0 -0
  281. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/models/page.py +0 -0
  282. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/pipelines/callbacks.py +0 -0
  283. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/pipelines/layout.py +0 -0
  284. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/pipelines/page.py +0 -0
  285. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/pages/status/page.py +0 -0
  286. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/static/dark.css +0 -0
  287. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/static/light.css +0 -0
  288. {workbench-0.8.177 → workbench-0.8.217}/applications/aws_dashboard/supervisord.conf +0 -0
  289. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/Dockerfile +0 -0
  290. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/README.md +0 -0
  291. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/app.py +0 -0
  292. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/assets/favicon.ico +0 -0
  293. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/callbacks.py +0 -0
  294. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/explorer +0 -0
  295. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/layout.py +0 -0
  296. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/nginx.conf +0 -0
  297. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/open_source_config.json +0 -0
  298. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/storage/callbacks.py +0 -0
  299. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/storage/callbacks_new.py +0 -0
  300. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/storage/layout_new.py +0 -0
  301. {workbench-0.8.177 → workbench-0.8.217}/applications/compound_explorer/supervisord.conf +0 -0
  302. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/aws_account_setup.py +0 -0
  303. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/build_ml_pipeline.py +0 -0
  304. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/compound_explorer/.gitignore +0 -0
  305. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/compound_explorer/README.md +0 -0
  306. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/compound_explorer/app.py +0 -0
  307. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/compound_explorer/cdk.json +0 -0
  308. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/compound_explorer/compound_explorer/__init__.py +0 -0
  309. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/compound_explorer/compound_explorer/compound_explorer_stack.py +0 -0
  310. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/compound_explorer/requirements.txt +0 -0
  311. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/event_bridge/Readme.md +0 -0
  312. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_compute/README.md +0 -0
  313. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_compute/app.py +0 -0
  314. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_compute/cdk.json +0 -0
  315. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_compute/requirements.txt +0 -0
  316. {workbench-0.8.177/aws_setup/workbench_compute/tests → workbench-0.8.217/aws_setup/workbench_compute/workbench_compute}/__init__.py +0 -0
  317. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_core/.gitignore +0 -0
  318. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_core/README.md +0 -0
  319. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_core/app.py +0 -0
  320. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_core/cdk.json +0 -0
  321. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_core/requirements-dev.txt +0 -0
  322. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_core/requirements.txt +0 -0
  323. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_core/source.bat +0 -0
  324. {workbench-0.8.177/aws_setup/workbench_compute/tests/unit → workbench-0.8.217/aws_setup/workbench_core/workbench_core}/__init__.py +0 -0
  325. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_core/workbench_core/workbench_core_stack.py +0 -0
  326. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_full/.gitignore +0 -0
  327. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_full/README.md +0 -0
  328. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_full/cdk.json +0 -0
  329. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_full/requirements-dev.txt +0 -0
  330. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_full/requirements.txt +0 -0
  331. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_full/source.bat +0 -0
  332. {workbench-0.8.177/aws_setup/workbench_compute/workbench_compute → workbench-0.8.217/aws_setup/workbench_dashboard_full/workbench_dashboard_full}/__init__.py +0 -0
  333. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_lite/.gitignore +0 -0
  334. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_lite/README.md +0 -0
  335. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_lite/cdk.json +0 -0
  336. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_lite/requirements.txt +0 -0
  337. {workbench-0.8.177/aws_setup/workbench_core/workbench_core → workbench-0.8.217/aws_setup/workbench_dashboard_lite/workbench_dashboard_lite}/__init__.py +0 -0
  338. {workbench-0.8.177 → workbench-0.8.217}/aws_setup/workbench_dashboard_lite/workbench_dashboard_lite/workbench_dashboard_stack.py +0 -0
  339. {workbench-0.8.177 → workbench-0.8.217}/data/abalone.csv +0 -0
  340. {workbench-0.8.177 → workbench-0.8.217}/data/karate_graph.json +0 -0
  341. {workbench-0.8.177 → workbench-0.8.217}/data/test_data.csv +0 -0
  342. {workbench-0.8.177 → workbench-0.8.217}/data/test_data.json +0 -0
  343. {workbench-0.8.177 → workbench-0.8.217}/data/wine_dataset.csv +0 -0
  344. {workbench-0.8.177 → workbench-0.8.217}/deploy_docker.sh +0 -0
  345. {workbench-0.8.177 → workbench-0.8.217}/docs/admin/aws_service_limits.md +0 -0
  346. {workbench-0.8.177 → workbench-0.8.217}/docs/admin/base_docker_push.md +0 -0
  347. {workbench-0.8.177 → workbench-0.8.217}/docs/admin/dashboard_docker_push.md +0 -0
  348. {workbench-0.8.177 → workbench-0.8.217}/docs/admin/dashboard_s3_plugins.md +0 -0
  349. {workbench-0.8.177 → workbench-0.8.217}/docs/admin/explorer_docker_push.md +0 -0
  350. {workbench-0.8.177 → workbench-0.8.217}/docs/admin/images/dashboard_secret_click.png +0 -0
  351. {workbench-0.8.177 → workbench-0.8.217}/docs/admin/images/serverless_quotas.png +0 -0
  352. {workbench-0.8.177 → workbench-0.8.217}/docs/admin/images/status_showing_S3_path.png +0 -0
  353. {workbench-0.8.177 → workbench-0.8.217}/docs/admin/pypi_release.md +0 -0
  354. {workbench-0.8.177 → workbench-0.8.217}/docs/admin/workbench_docker_for_lambdas.md +0 -0
  355. {workbench-0.8.177 → workbench-0.8.217}/docs/api_classes/data_source.md +0 -0
  356. {workbench-0.8.177 → workbench-0.8.217}/docs/api_classes/df_store.md +0 -0
  357. {workbench-0.8.177 → workbench-0.8.217}/docs/api_classes/feature_set.md +0 -0
  358. {workbench-0.8.177 → workbench-0.8.217}/docs/api_classes/model.md +0 -0
  359. {workbench-0.8.177 → workbench-0.8.217}/docs/api_classes/monitor.md +0 -0
  360. {workbench-0.8.177 → workbench-0.8.217}/docs/api_classes/parameter_store.md +0 -0
  361. {workbench-0.8.177 → workbench-0.8.217}/docs/api_classes/pipelines.md +0 -0
  362. {workbench-0.8.177 → workbench-0.8.217}/docs/aws_setup/aws_access_management.md +0 -0
  363. {workbench-0.8.177 → workbench-0.8.217}/docs/aws_setup/aws_client_vpn.md +0 -0
  364. {workbench-0.8.177 → workbench-0.8.217}/docs/aws_setup/aws_setup.md +0 -0
  365. {workbench-0.8.177 → workbench-0.8.217}/docs/aws_setup/aws_tips_and_tricks.md +0 -0
  366. {workbench-0.8.177 → workbench-0.8.217}/docs/aws_setup/core_stack.md +0 -0
  367. {workbench-0.8.177 → workbench-0.8.217}/docs/aws_setup/dashboard_stack.md +0 -0
  368. {workbench-0.8.177 → workbench-0.8.217}/docs/aws_setup/domain_cert_setup.md +0 -0
  369. {workbench-0.8.177 → workbench-0.8.217}/docs/aws_setup/full_pipeline.md +0 -0
  370. {workbench-0.8.177 → workbench-0.8.217}/docs/aws_setup/iam_assume_role.md +0 -0
  371. {workbench-0.8.177 → workbench-0.8.217}/docs/aws_setup/sso_assume_role.md +0 -0
  372. {workbench-0.8.177 → workbench-0.8.217}/docs/blogs/aws_credentials_lock.md +0 -0
  373. {workbench-0.8.177 → workbench-0.8.217}/docs/blogs/canonicalization_and_tautomerization.md +0 -0
  374. {workbench-0.8.177 → workbench-0.8.217}/docs/blogs/compound_etl.md +0 -0
  375. {workbench-0.8.177 → workbench-0.8.217}/docs/blogs/compound_explorer.md +0 -0
  376. {workbench-0.8.177 → workbench-0.8.217}/docs/blogs/descriptor_drilldown.md +0 -0
  377. {workbench-0.8.177 → workbench-0.8.217}/docs/blogs/eda.md +0 -0
  378. {workbench-0.8.177 → workbench-0.8.217}/docs/blogs/feature_importances.md +0 -0
  379. {workbench-0.8.177 → workbench-0.8.217}/docs/blogs/fun_with_workbench/fun_with_endpoints.md +0 -0
  380. {workbench-0.8.177 → workbench-0.8.217}/docs/blogs/htg.md +0 -0
  381. {workbench-0.8.177 → workbench-0.8.217}/docs/blogs/index.md +0 -0
  382. {workbench-0.8.177 → workbench-0.8.217}/docs/blogs/model_monitoring.md +0 -0
  383. {workbench-0.8.177 → workbench-0.8.217}/docs/blogs/residual_analysis.md +0 -0
  384. {workbench-0.8.177 → workbench-0.8.217}/docs/cached/cached_data_source.md +0 -0
  385. {workbench-0.8.177 → workbench-0.8.217}/docs/cached/cached_endpoint.md +0 -0
  386. {workbench-0.8.177 → workbench-0.8.217}/docs/cached/cached_feature_set.md +0 -0
  387. {workbench-0.8.177 → workbench-0.8.217}/docs/cached/cached_model.md +0 -0
  388. {workbench-0.8.177 → workbench-0.8.217}/docs/cached/overview.md +0 -0
  389. {workbench-0.8.177 → workbench-0.8.217}/docs/chem_utils/index.md +0 -0
  390. {workbench-0.8.177 → workbench-0.8.217}/docs/cloudwatch/index.md +0 -0
  391. {workbench-0.8.177 → workbench-0.8.217}/docs/comparisons/workbench_vs_databricks.md +0 -0
  392. {workbench-0.8.177 → workbench-0.8.217}/docs/compound_explorer/tox21.md +0 -0
  393. {workbench-0.8.177 → workbench-0.8.217}/docs/compound_explorer/toxicity_modeling.md +0 -0
  394. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/artifacts/artifact.md +0 -0
  395. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/artifacts/athena_source.md +0 -0
  396. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/artifacts/data_source_abstract.md +0 -0
  397. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/artifacts/endpoint_core.md +0 -0
  398. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/artifacts/feature_set_core.md +0 -0
  399. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/artifacts/model_core.md +0 -0
  400. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/artifacts/monitor_core.md +0 -0
  401. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/artifacts/overview.md +0 -0
  402. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/overview.md +0 -0
  403. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/transforms/data_loaders_heavy.md +0 -0
  404. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/transforms/data_loaders_light.md +0 -0
  405. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/transforms/data_to_features.md +0 -0
  406. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/transforms/model_to_endpoint.md +0 -0
  407. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/transforms/overview.md +0 -0
  408. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/transforms/pandas_transforms.md +0 -0
  409. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/transforms/transform.md +0 -0
  410. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/views/computation_view.md +0 -0
  411. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/views/display_view.md +0 -0
  412. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/views/inference_view.md +0 -0
  413. {workbench-0.8.177 → workbench-0.8.217}/docs/core_classes/views/training_view.md +0 -0
  414. {workbench-0.8.177 → workbench-0.8.217}/docs/data_algorithms/dataframes/overview.md +0 -0
  415. {workbench-0.8.177 → workbench-0.8.217}/docs/data_algorithms/graphs/overview.md +0 -0
  416. {workbench-0.8.177 → workbench-0.8.217}/docs/data_algorithms/overview.md +0 -0
  417. {workbench-0.8.177 → workbench-0.8.217}/docs/data_algorithms/spark/overview.md +0 -0
  418. {workbench-0.8.177 → workbench-0.8.217}/docs/data_algorithms/sql/overview.md +0 -0
  419. {workbench-0.8.177 → workbench-0.8.217}/docs/enterprise/index.md +0 -0
  420. {workbench-0.8.177 → workbench-0.8.217}/docs/enterprise/private_saas.md +0 -0
  421. {workbench-0.8.177 → workbench-0.8.217}/docs/enterprise/project_branding.md +0 -0
  422. {workbench-0.8.177 → workbench-0.8.217}/docs/enterprise/themes.md +0 -0
  423. {workbench-0.8.177 → workbench-0.8.217}/docs/getting_started/index.md +0 -0
  424. {workbench-0.8.177 → workbench-0.8.217}/docs/glue/index.md +0 -0
  425. {workbench-0.8.177 → workbench-0.8.217}/docs/images/big_spider.png +0 -0
  426. {workbench-0.8.177 → workbench-0.8.217}/docs/images/graph_representation.png +0 -0
  427. {workbench-0.8.177 → workbench-0.8.217}/docs/images/powered_aws_dark_blue.png +0 -0
  428. {workbench-0.8.177 → workbench-0.8.217}/docs/images/powered_aws_transparent.png +0 -0
  429. {workbench-0.8.177 → workbench-0.8.217}/docs/images/powered_aws_white.png +0 -0
  430. {workbench-0.8.177 → workbench-0.8.217}/docs/images/powered_aws_with_tm_grey.png +0 -0
  431. {workbench-0.8.177 → workbench-0.8.217}/docs/images/scp.png +0 -0
  432. {workbench-0.8.177 → workbench-0.8.217}/docs/images/scp_labs.png +0 -0
  433. {workbench-0.8.177 → workbench-0.8.217}/docs/images/small_spider.png +0 -0
  434. {workbench-0.8.177 → workbench-0.8.217}/docs/images/workbench_concepts.png +0 -0
  435. {workbench-0.8.177 → workbench-0.8.217}/docs/index.md +0 -0
  436. {workbench-0.8.177 → workbench-0.8.217}/docs/lambda_layer/index.md +0 -0
  437. {workbench-0.8.177 → workbench-0.8.217}/docs/misc/faq.md +0 -0
  438. {workbench-0.8.177 → workbench-0.8.217}/docs/misc/general_info.md +0 -0
  439. {workbench-0.8.177 → workbench-0.8.217}/docs/misc/scp_consulting.md +0 -0
  440. {workbench-0.8.177 → workbench-0.8.217}/docs/misc/workbench_classes_concepts.md +0 -0
  441. {workbench-0.8.177 → workbench-0.8.217}/docs/model_utils/index.md +0 -0
  442. {workbench-0.8.177 → workbench-0.8.217}/docs/plugins/index.md +0 -0
  443. {workbench-0.8.177 → workbench-0.8.217}/docs/presentations/index.md +0 -0
  444. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/0_8_106.md +0 -0
  445. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/0_8_158.md +0 -0
  446. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/0_8_50.md +0 -0
  447. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/0_8_55.md +0 -0
  448. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/0_8_58.md +0 -0
  449. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/0_8_60.md +0 -0
  450. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/0_8_71.md +0 -0
  451. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/0_8_74.md +0 -0
  452. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/0_8_78.md +0 -0
  453. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_7_8.md +0 -0
  454. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_11.md +0 -0
  455. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_20.md +0 -0
  456. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_22.md +0 -0
  457. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_23.md +0 -0
  458. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_27.md +0 -0
  459. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_29.md +0 -0
  460. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_33.md +0 -0
  461. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_35.md +0 -0
  462. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_36.md +0 -0
  463. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_39.md +0 -0
  464. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_42.md +0 -0
  465. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_46.md +0 -0
  466. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_6.md +0 -0
  467. {workbench-0.8.177 → workbench-0.8.217}/docs/release_notes/archived/0_8_8.md +0 -0
  468. {workbench-0.8.177 → workbench-0.8.217}/docs/repl/index.md +0 -0
  469. {workbench-0.8.177 → workbench-0.8.217}/docs/road_maps/0_9_0.md +0 -0
  470. {workbench-0.8.177 → workbench-0.8.217}/docs/road_maps/0_9_5.md +0 -0
  471. {workbench-0.8.177 → workbench-0.8.217}/docs/themes/details.md +0 -0
  472. {workbench-0.8.177 → workbench-0.8.217}/docs/themes/index.md +0 -0
  473. {workbench-0.8.177 → workbench-0.8.217}/examples/ag-grid/hello_world.py +0 -0
  474. {workbench-0.8.177 → workbench-0.8.217}/examples/chem_utils/tautomerize_smiles.py +0 -0
  475. {workbench-0.8.177 → workbench-0.8.217}/examples/datasource/datasource_from_df.py +0 -0
  476. {workbench-0.8.177 → workbench-0.8.217}/examples/datasource/datasource_from_s3.py +0 -0
  477. {workbench-0.8.177 → workbench-0.8.217}/examples/datasource/datasource_query.py +0 -0
  478. {workbench-0.8.177 → workbench-0.8.217}/examples/datasource/datasource_stats.py +0 -0
  479. {workbench-0.8.177 → workbench-0.8.217}/examples/datasource/datasource_to_featureset.py +0 -0
  480. {workbench-0.8.177 → workbench-0.8.217}/examples/endpoint/endpoint_details.py +0 -0
  481. {workbench-0.8.177 → workbench-0.8.217}/examples/endpoint/endpoint_metrics.py +0 -0
  482. {workbench-0.8.177 → workbench-0.8.217}/examples/featureset/featureset_eda.py +0 -0
  483. {workbench-0.8.177 → workbench-0.8.217}/examples/featureset/featureset_query.py +0 -0
  484. {workbench-0.8.177 → workbench-0.8.217}/examples/glue_jobs/glue_launcher_examples/example_1.py +0 -0
  485. {workbench-0.8.177 → workbench-0.8.217}/examples/glue_jobs/glue_launcher_examples/example_2.py +0 -0
  486. {workbench-0.8.177 → workbench-0.8.217}/examples/meta/meta_list_endpoints.py +0 -0
  487. {workbench-0.8.177 → workbench-0.8.217}/examples/meta/meta_list_models.py +0 -0
  488. {workbench-0.8.177 → workbench-0.8.217}/examples/meta/meta_model_metrics.py +0 -0
  489. {workbench-0.8.177 → workbench-0.8.217}/examples/model_utils/model_metrics.py +0 -0
  490. {workbench-0.8.177 → workbench-0.8.217}/examples/model_utils/model_to_endpoint.py +0 -0
  491. {workbench-0.8.177 → workbench-0.8.217}/examples/model_utils/onboard_model.py +0 -0
  492. {workbench-0.8.177 → workbench-0.8.217}/examples/models/knn.py +0 -0
  493. {workbench-0.8.177 → workbench-0.8.217}/examples/models/random_forest.py +0 -0
  494. {workbench-0.8.177 → workbench-0.8.217}/examples/monitor/monitor_setup.py +0 -0
  495. {workbench-0.8.177 → workbench-0.8.217}/examples/monitor/monitor_usage.py +0 -0
  496. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/branding/Readme.md +0 -0
  497. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/branding/scp.json +0 -0
  498. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/components/custom_plugin.py +0 -0
  499. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/components/endpoint_plugin.py +0 -0
  500. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/components/endpoint_turbo.py +0 -0
  501. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/components/model_markdown.py +0 -0
  502. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/components/model_plugin.py +0 -0
  503. {workbench-0.8.177/aws_setup/workbench_dashboard_full/workbench_dashboard_full → workbench-0.8.217/examples/plugins/packages/my_plugin_utils}/__init__.py +0 -0
  504. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/packages/my_plugin_utils/assets/foo.json +0 -0
  505. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/packages/my_plugin_utils/cool_stuff.py +0 -0
  506. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/pages/plugin_page_1.py +0 -0
  507. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/pages/plugin_page_2.py +0 -0
  508. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/pages/plugin_page_3.py +0 -0
  509. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/templates/Readme.md +0 -0
  510. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/views/model_plugin_view.py +0 -0
  511. {workbench-0.8.177 → workbench-0.8.217}/examples/plugins/views/my_view_plugin.py +0 -0
  512. {workbench-0.8.177 → workbench-0.8.217}/experiments/chem_info/bulk_sims.py +0 -0
  513. {workbench-0.8.177 → workbench-0.8.217}/experiments/confidence_roc_curve.py +0 -0
  514. {workbench-0.8.177 → workbench-0.8.217}/experiments/coverage_probability.py +0 -0
  515. {workbench-0.8.177 → workbench-0.8.217}/experiments/log_testing.py +0 -0
  516. {workbench-0.8.177 → workbench-0.8.217}/experiments/networkx_id.py +0 -0
  517. {workbench-0.8.177 → workbench-0.8.217}/experiments/prediction_intervals.py +0 -0
  518. {workbench-0.8.177 → workbench-0.8.217}/experiments/residual_analysis.py +0 -0
  519. {workbench-0.8.177 → workbench-0.8.217}/experiments/scatter_zoom_issue.py +0 -0
  520. {workbench-0.8.177/src/workbench/model_scripts/custom_models/chem_info → workbench-0.8.217/feature_endpoints/model_scripts/molecular_utils}/mol_descriptors.py +0 -0
  521. {workbench-0.8.177/src/workbench/model_scripts/custom_models/chem_info → workbench-0.8.217/feature_endpoints/model_scripts/molecular_utils}/mol_standardize.py +0 -0
  522. {workbench-0.8.177 → workbench-0.8.217}/glue_jobs/create_glue_workflow_with_trigger.py +0 -0
  523. {workbench-0.8.177 → workbench-0.8.217}/glue_jobs/glue_mixed_case.py +0 -0
  524. {workbench-0.8.177 → workbench-0.8.217}/mkdocs.yml +0 -0
  525. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/Readme.md +0 -0
  526. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/inference/main.py +0 -0
  527. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/inference/serve +0 -0
  528. {workbench-0.8.177/model_docker_images/meta_endpoint → workbench-0.8.217/model_docker_images/meta_inference}/main.py +0 -0
  529. {workbench-0.8.177/model_docker_images/meta_endpoint → workbench-0.8.217/model_docker_images/meta_inference}/serve +0 -0
  530. {workbench-0.8.177/model_docker_images/pytorch_training → workbench-0.8.217/model_docker_images/meta_training}/sagemaker_entrypoint.py +0 -0
  531. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/ml_pipelines/ml_pipeline_runner.py +0 -0
  532. {workbench-0.8.177/model_docker_images/meta_endpoint → workbench-0.8.217/model_docker_images/pytorch_inference}/Dockerfile +0 -0
  533. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/pytorch_inference/main.py +0 -0
  534. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/pytorch_inference/serve +0 -0
  535. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/tests/data/abalone_sm.csv +0 -0
  536. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/tests/run_tests.sh +0 -0
  537. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/tests/test_inference.py +0 -0
  538. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/training/sagemaker_entrypoint.py +0 -0
  539. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/workbench_inference/Dockerfile +0 -0
  540. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/workbench_inference/main.py +0 -0
  541. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/workbench_inference/requirements.txt +0 -0
  542. {workbench-0.8.177 → workbench-0.8.217}/model_docker_images/workbench_inference/serve +0 -0
  543. {workbench-0.8.177 → workbench-0.8.217}/notebooks/ML_Pipeline_with_Workbench.ipynb +0 -0
  544. {workbench-0.8.177 → workbench-0.8.217}/notebooks/Outliers_in_Workbench.ipynb +0 -0
  545. {workbench-0.8.177 → workbench-0.8.217}/notebooks/Regression_Confidence_Experiments.ipynb +0 -0
  546. {workbench-0.8.177 → workbench-0.8.217}/notebooks/Residual_Analysis.ipynb +0 -0
  547. {workbench-0.8.177 → workbench-0.8.217}/notebooks/images/athena_query_aqsol.png +0 -0
  548. {workbench-0.8.177 → workbench-0.8.217}/notebooks/images/aws_dashboard_aqsol.png +0 -0
  549. {workbench-0.8.177 → workbench-0.8.217}/notebooks/images/dashboard_aqsol_features.png +0 -0
  550. {workbench-0.8.177 → workbench-0.8.217}/notebooks/images/model_screenshot.png +0 -0
  551. {workbench-0.8.177 → workbench-0.8.217}/notebooks/images/scp_labs.png +0 -0
  552. {workbench-0.8.177 → workbench-0.8.217}/presentations/README.md +0 -0
  553. {workbench-0.8.177 → workbench-0.8.217}/scripts/active_logs.sh +0 -0
  554. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/athena_ddl_mixed_case.py +0 -0
  555. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/check_all_glue_tables.py +0 -0
  556. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/delete_invalid_views.py +0 -0
  557. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/delete_redis_keys.py +0 -0
  558. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/list_datacatalog.py +0 -0
  559. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/migration/copy_glue_database.py +0 -0
  560. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/migration/delete_sageworks_glue_database.sh +0 -0
  561. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/migration/ds_migrate.py +0 -0
  562. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/migration/endpoint_migrate.py +0 -0
  563. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/migration/fs_migrate.py +0 -0
  564. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/pull_image_digest.py +0 -0
  565. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/redis_reaper.py +0 -0
  566. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/spam_list_tags.py +0 -0
  567. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/storage/convert_training_views.py +0 -0
  568. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/storage/migrate_data_source_via_df.py +0 -0
  569. {workbench-0.8.177 → workbench-0.8.217}/scripts/admin/storage/migrate_ds_meta.py +0 -0
  570. {workbench-0.8.177 → workbench-0.8.217}/scripts/compare_model_packages.py +0 -0
  571. {workbench-0.8.177 → workbench-0.8.217}/scripts/endpoint_timing.py +0 -0
  572. {workbench-0.8.177 → workbench-0.8.217}/scripts/get_tags.py +0 -0
  573. {workbench-0.8.177 → workbench-0.8.217}/scripts/instantiation_timings.py +0 -0
  574. {workbench-0.8.177 → workbench-0.8.217}/scripts/model_cache_refresh.py +0 -0
  575. {workbench-0.8.177 → workbench-0.8.217}/scripts/model_endpoint_sanity_check.py +0 -0
  576. {workbench-0.8.177 → workbench-0.8.217}/scripts/monitor_event_bridge.py +0 -0
  577. {workbench-0.8.177 → workbench-0.8.217}/scripts/onboard_endpoints.py +0 -0
  578. {workbench-0.8.177 → workbench-0.8.217}/scripts/onboard_models.py +0 -0
  579. {workbench-0.8.177 → workbench-0.8.217}/scripts/pipeline_model_endpoint.py +0 -0
  580. {workbench-0.8.177 → workbench-0.8.217}/scripts/pubchem/pubchem_example.py +0 -0
  581. {workbench-0.8.177 → workbench-0.8.217}/scripts/pubchem/pubchem_query.py +0 -0
  582. {workbench-0.8.177 → workbench-0.8.217}/scripts/pubchem/pubchem_query_with_cid.py +0 -0
  583. {workbench-0.8.177 → workbench-0.8.217}/scripts/seaborn_to_plotly.py +0 -0
  584. {workbench-0.8.177 → workbench-0.8.217}/scripts/storage/dns_data_to_features.py +0 -0
  585. {workbench-0.8.177 → workbench-0.8.217}/scripts/storage/generate_jsonl_data.py +0 -0
  586. {workbench-0.8.177 → workbench-0.8.217}/scripts/test_feature_resolution.py +0 -0
  587. {workbench-0.8.177 → workbench-0.8.217}/scripts/tox21/test_tox_heuristic.py +0 -0
  588. {workbench-0.8.177 → workbench-0.8.217}/setup.cfg +0 -0
  589. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/__init__.py +0 -0
  590. {workbench-0.8.177/aws_setup/workbench_dashboard_lite/workbench_dashboard_lite → workbench-0.8.217/src/workbench/algorithms}/__init__.py +0 -0
  591. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/dataframe/Readme.md +0 -0
  592. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/dataframe/data_source_eda.py +0 -0
  593. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/dataframe/storage/aggregation.py +0 -0
  594. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/dataframe/storage/feature_resolution.py +0 -0
  595. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/dataframe/storage/feature_spider.py +0 -0
  596. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/dataframe/storage/residuals_calculator.py +0 -0
  597. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/dataframe/storage/row_tagger.py +0 -0
  598. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/dataframe/storage/target_gradients.py +0 -0
  599. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/graph/__init__.py +0 -0
  600. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/graph/heavy/Readme.md +0 -0
  601. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/graph/light/Readme.md +0 -0
  602. {workbench-0.8.177/examples/plugins/packages/my_plugin_utils → workbench-0.8.217/src/workbench/algorithms/graph/light}/__init__.py +0 -0
  603. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/spark/Readme.md +0 -0
  604. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/sql/Readme.md +0 -0
  605. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/sql/__init__.py +0 -0
  606. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/sql/column_stats.py +0 -0
  607. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/sql/correlations.py +0 -0
  608. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/sql/descriptive_stats.py +0 -0
  609. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/sql/outliers.py +0 -0
  610. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/sql/sample_rows.py +0 -0
  611. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/algorithms/sql/value_counts.py +0 -0
  612. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/api/compound.py +0 -0
  613. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/api/data_source.py +0 -0
  614. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/api/graph_store.py +0 -0
  615. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/api/meta.py +0 -0
  616. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/api/monitor.py +0 -0
  617. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/api/pipeline.py +0 -0
  618. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/cached/__init__.py +0 -0
  619. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/cached/cached_data_source.py +0 -0
  620. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/cached/cached_endpoint.py +0 -0
  621. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/cached/cached_feature_set.py +0 -0
  622. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/cached/cached_meta.py +0 -0
  623. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/cached/cached_pipeline.py +0 -0
  624. {workbench-0.8.177/src/workbench/algorithms → workbench-0.8.217/src/workbench/core}/__init__.py +0 -0
  625. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/artifacts/athena_source.py +0 -0
  626. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/artifacts/cached_artifact_mixin.py +0 -0
  627. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/artifacts/data_capture_core.py +0 -0
  628. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/artifacts/data_source_abstract.py +0 -0
  629. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/artifacts/data_source_factory.py +0 -0
  630. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/artifacts/monitor_core.py +0 -0
  631. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/cloud_platform/aws/README.md +0 -0
  632. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/cloud_platform/aws/aws_account_clamp.py +0 -0
  633. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/cloud_platform/aws/aws_graph_store.py +0 -0
  634. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/cloud_platform/aws/aws_meta.py +0 -0
  635. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/cloud_platform/aws/aws_secrets_manager.py +0 -0
  636. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/cloud_platform/aws/aws_session.py +0 -0
  637. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/cloud_platform/aws/cache_dataframe.py +0 -0
  638. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/cloud_platform/azure/README.md +0 -0
  639. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/cloud_platform/cloud_meta.py +0 -0
  640. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/cloud_platform/gcp/README.md +0 -0
  641. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/Readme.md +0 -0
  642. {workbench-0.8.177/src/workbench/algorithms/graph/light → workbench-0.8.217/src/workbench/core/transforms}/__init__.py +0 -0
  643. {workbench-0.8.177/src/workbench/core → workbench-0.8.217/src/workbench/core/transforms/data_loaders}/__init__.py +0 -0
  644. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_loaders/heavy/__init__.py +0 -0
  645. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_loaders/heavy/s3_heavy_to_data_source.py +0 -0
  646. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_loaders/light/__init__.py +0 -0
  647. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_loaders/light/csv_to_data_source.py +0 -0
  648. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_loaders/light/json_to_data_source.py +0 -0
  649. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_loaders/light/s3_to_data_source_light.py +0 -0
  650. {workbench-0.8.177/src/workbench/core/transforms → workbench-0.8.217/src/workbench/core/transforms/data_to_data}/__init__.py +0 -0
  651. {workbench-0.8.177/src/workbench/core/transforms/data_loaders → workbench-0.8.217/src/workbench/core/transforms/data_to_data/heavy}/__init__.py +0 -0
  652. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_to_data/heavy/emr/Readme.md +0 -0
  653. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_to_data/heavy/glue/Readme.md +0 -0
  654. {workbench-0.8.177/src/workbench/core/transforms/data_to_data → workbench-0.8.217/src/workbench/core/transforms/data_to_data/light}/__init__.py +0 -0
  655. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_to_data/light/clean_data.py +0 -0
  656. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_to_data/light/data_to_data_light.py +0 -0
  657. {workbench-0.8.177/src/workbench/core/transforms/data_to_data/heavy → workbench-0.8.217/src/workbench/core/transforms/data_to_features}/__init__.py +0 -0
  658. {workbench-0.8.177/src/workbench/core/transforms/data_to_data/light → workbench-0.8.217/src/workbench/core/transforms/data_to_features/heavy}/__init__.py +0 -0
  659. {workbench-0.8.177/src/workbench/core/transforms/data_to_features → workbench-0.8.217/src/workbench/core/transforms/data_to_features/heavy/chunk}/__init__.py +0 -0
  660. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_to_features/heavy/chunk/data_to_features_chunk.py +0 -0
  661. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_to_features/heavy/emr/Readme.md +0 -0
  662. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_to_features/heavy/glue/Readme.md +0 -0
  663. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_to_features/heavy/storage/data_to_features_heavy_old.py +0 -0
  664. {workbench-0.8.177/src/workbench/core/transforms/data_to_features/heavy → workbench-0.8.217/src/workbench/core/transforms/data_to_features/light}/__init__.py +0 -0
  665. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_to_features/light/data_to_features_light.py +0 -0
  666. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/data_to_features/light/molecular_descriptors.py +0 -0
  667. {workbench-0.8.177/src/workbench/core/transforms/data_to_features/heavy/chunk → workbench-0.8.217/src/workbench/core/transforms/features_to_features}/__init__.py +0 -0
  668. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/features_to_features/heavy/emr/Readme.md +0 -0
  669. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/features_to_features/heavy/glue/Readme.md +0 -0
  670. {workbench-0.8.177/src/workbench/core/transforms/data_to_features/light → workbench-0.8.217/src/workbench/core/transforms/features_to_model}/__init__.py +0 -0
  671. {workbench-0.8.177/src/workbench/core/transforms/features_to_features → workbench-0.8.217/src/workbench/core/transforms/model_to_endpoint}/__init__.py +0 -0
  672. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/pandas_transforms/__init__.py +0 -0
  673. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/pandas_transforms/data_to_pandas.py +0 -0
  674. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/pandas_transforms/features_to_pandas.py +0 -0
  675. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/pandas_transforms/pandas_to_data.py +0 -0
  676. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/pandas_transforms/pandas_to_features_chunked.py +0 -0
  677. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/transforms/transform.py +0 -0
  678. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/views/__init__.py +0 -0
  679. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/views/column_subset_view.py +0 -0
  680. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/views/computation_view.py +0 -0
  681. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/views/create_view.py +0 -0
  682. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/views/display_view.py +0 -0
  683. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/views/inference_view.py +0 -0
  684. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/views/pandas_to_view.py +0 -0
  685. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/core/views/storage/mdq_view.py +0 -0
  686. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/chem_info/Readme.md +0 -0
  687. {workbench-0.8.177/src/workbench/utils/chem_utils → workbench-0.8.217/src/workbench/model_scripts/custom_models/chem_info}/mol_descriptors.py +0 -0
  688. {workbench-0.8.177/src/workbench/utils/chem_utils → workbench-0.8.217/src/workbench/model_scripts/custom_models/chem_info}/mol_standardize.py +0 -0
  689. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/chem_info/molecular_descriptors.py +0 -0
  690. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/chem_info/requirements.txt +0 -0
  691. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/meta_endpoints/example.py +0 -0
  692. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/network_security/Readme.md +0 -0
  693. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/proximity/Readme.md +0 -0
  694. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/proximity/requirements.txt +0 -0
  695. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/uq_models/Readme.md +0 -0
  696. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_models/uq_models/requirements.txt +0 -0
  697. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_script_example/custom_model_script.py +0 -0
  698. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/custom_script_example/requirements.txt +0 -0
  699. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/ensemble_xgb/requirements.txt +0 -0
  700. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/model_scripts/scikit_learn/requirements.txt +0 -0
  701. {workbench-0.8.177/src/workbench/model_scripts/quant_regression → workbench-0.8.217/src/workbench/model_scripts/xgb_model}/requirements.txt +0 -0
  702. {workbench-0.8.177/src/workbench/core/transforms/features_to_model → workbench-0.8.217/src/workbench/repl}/__init__.py +0 -0
  703. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/resources/signature_verify_pub.pem +0 -0
  704. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/scripts/check_double_bond_stereo.py +0 -0
  705. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/scripts/glue_launcher.py +0 -0
  706. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/scripts/ml_pipeline_batch.py +0 -0
  707. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/scripts/monitor_cloud_watch.py +0 -0
  708. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/scripts/redis_expire.py +0 -0
  709. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/scripts/redis_report.py +0 -0
  710. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/scripts/show_config.py +0 -0
  711. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/dark/base_css.url +0 -0
  712. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/dark/custom.css +0 -0
  713. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/dark/plotly.json +0 -0
  714. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/light/base_css.url +0 -0
  715. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/light/branding.json +0 -0
  716. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/light/custom.css +0 -0
  717. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/light/plotly.json +0 -0
  718. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/midnight_blue/base_css.url +0 -0
  719. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/midnight_blue/branding.json +0 -0
  720. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/midnight_blue/custom.css +0 -0
  721. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/midnight_blue/plotly.json +0 -0
  722. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/quartz/base_css.url +0 -0
  723. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/quartz/custom.css +0 -0
  724. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/quartz/plotly.json +0 -0
  725. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/quartz_dark/base_css.url +0 -0
  726. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/quartz_dark/custom.css +0 -0
  727. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/themes/quartz_dark/plotly.json +0 -0
  728. {workbench-0.8.177/src/workbench/core/transforms/model_to_endpoint → workbench-0.8.217/src/workbench/utils}/__init__.py +0 -0
  729. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/ai_compound_generator.py +0 -0
  730. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/ai_summary.py +0 -0
  731. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/ai_synth.py +0 -0
  732. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/athena_utils.py +0 -0
  733. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/aws_utils.py +0 -0
  734. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/bulk_utils.py +0 -0
  735. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/cache.py +0 -0
  736. {workbench-0.8.177/src/workbench/repl → workbench-0.8.217/src/workbench/utils/chem_utils}/__init__.py +0 -0
  737. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/chem_utils/misc.py +0 -0
  738. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/chem_utils/mol_tagging.py +0 -0
  739. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/chem_utils/projections.py +0 -0
  740. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/chem_utils/salts.py +0 -0
  741. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/chem_utils/sdf.py +0 -0
  742. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/chem_utils/toxicity.py +0 -0
  743. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/chem_utils/vis.py +0 -0
  744. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/cloudwatch_handler.py +0 -0
  745. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/cloudwatch_utils.py +0 -0
  746. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/color_utils.py +0 -0
  747. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/dashboard_metrics.py +0 -0
  748. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/datetime_utils.py +0 -0
  749. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/deprecated_utils.py +0 -0
  750. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/df_to_endpoint.py +0 -0
  751. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/ecs_info.py +0 -0
  752. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/endpoint_metrics.py +0 -0
  753. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/extract_model_artifact.py +0 -0
  754. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/glue_utils.py +0 -0
  755. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/graph_utils.py +0 -0
  756. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/ipython_utils.py +0 -0
  757. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/json_utils.py +0 -0
  758. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/lambda_utils.py +0 -0
  759. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/log_utils.py +0 -0
  760. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/markdown_utils.py +0 -0
  761. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/monitor_utils.py +0 -0
  762. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/pandas_utils.py +0 -0
  763. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/performance_utils.py +0 -0
  764. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/pipeline_utils.py +0 -0
  765. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/plot_utils.py +0 -0
  766. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/plugin_manager.py +0 -0
  767. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/prox_utils.py +0 -0
  768. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/redis_cache.py +0 -0
  769. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/repl_utils.py +0 -0
  770. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/s3_utils.py +0 -0
  771. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/shapley_values.py +0 -0
  772. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/symbols.py +0 -0
  773. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/test_data_generator.py +0 -0
  774. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/theme_manager.py +0 -0
  775. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/trace_calls.py +0 -0
  776. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/type_abbrev.py +0 -0
  777. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/workbench_cache.py +0 -0
  778. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/workbench_event_bridge.py +0 -0
  779. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/workbench_logging.py +0 -0
  780. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/utils/workbench_sqs.py +0 -0
  781. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/component_interface.py +0 -0
  782. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/correlation_matrix.py +0 -0
  783. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/data_details_markdown.py +0 -0
  784. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/endpoint_metric_plots.py +0 -0
  785. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/experiments/dashboard_metric_plots.py +0 -0
  786. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/experiments/outlier_plot.py +0 -0
  787. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugin_interface.py +0 -0
  788. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/ag_table.py +0 -0
  789. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/confusion_matrix.py +0 -0
  790. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/dashboard_status.py +0 -0
  791. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/data_details.py +0 -0
  792. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/endpoint_details.py +0 -0
  793. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/generated_compounds.py +0 -0
  794. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/graph_plot.py +0 -0
  795. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/license_details.py +0 -0
  796. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/molecule_panel.py +0 -0
  797. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/molecule_viewer.py +0 -0
  798. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/pipeline_details.py +0 -0
  799. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/proximity_mini_graph.py +0 -0
  800. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/plugins/shap_summary_plot.py +0 -0
  801. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/regression_plot.py +0 -0
  802. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/components/violin_plots.py +0 -0
  803. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/page_views/data_sources_page_view.py +0 -0
  804. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/page_views/endpoints_page_view.py +0 -0
  805. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/page_views/feature_sets_page_view.py +0 -0
  806. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/page_views/main_page.py +0 -0
  807. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/page_views/models_page_view.py +0 -0
  808. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/page_views/page_view.py +0 -0
  809. {workbench-0.8.177 → workbench-0.8.217}/src/workbench/web_interface/page_views/pipelines_page_view.py +0 -0
  810. {workbench-0.8.177 → workbench-0.8.217}/src/workbench.egg-info/dependency_links.txt +0 -0
  811. {workbench-0.8.177 → workbench-0.8.217}/src/workbench.egg-info/top_level.txt +0 -0
  812. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_empty_model_group.py +0 -0
  813. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_endpoints_for_timing.py +0 -0
  814. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_graph_artifacts.py +0 -0
  815. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_pipeline_model.py +0 -0
  816. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/create_realtime_endpoint.py +0 -0
  817. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/delete_stress_test_artifacts.py +0 -0
  818. {workbench-0.8.177/tests/create_test_artifacts → workbench-0.8.217/test_artifacts}/delete_test_artifacts.py +0 -0
  819. {workbench-0.8.177 → workbench-0.8.217}/tests/README.md +0 -0
  820. {workbench-0.8.177 → workbench-0.8.217}/tests/artifacts/data_source_tests.py +0 -0
  821. {workbench-0.8.177 → workbench-0.8.217}/tests/artifacts/empty_model_group.py +0 -0
  822. {workbench-0.8.177 → workbench-0.8.217}/tests/artifacts/featureset_ingest_boundaries.py +0 -0
  823. {workbench-0.8.177 → workbench-0.8.217}/tests/artifacts/featureset_tests.py +0 -0
  824. {workbench-0.8.177 → workbench-0.8.217}/tests/artifacts/graph_tests.py +0 -0
  825. {workbench-0.8.177 → workbench-0.8.217}/tests/artifacts/model_tests.py +0 -0
  826. {workbench-0.8.177 → workbench-0.8.217}/tests/aws_account/aws_account_clamp_tests.py +0 -0
  827. {workbench-0.8.177 → workbench-0.8.217}/tests/cached/cached_artifact_tests.py +0 -0
  828. {workbench-0.8.177 → workbench-0.8.217}/tests/chem_info/test_tautomerization.py +0 -0
  829. {workbench-0.8.177 → workbench-0.8.217}/tests/corner_cases/end_to_end.py +0 -0
  830. {workbench-0.8.177 → workbench-0.8.217}/tests/df_store/df_store_tests.py +0 -0
  831. {workbench-0.8.177 → workbench-0.8.217}/tests/lambda/decompress_layers.py +0 -0
  832. {workbench-0.8.177 → workbench-0.8.217}/tests/pandas_tests/test_drift.py +0 -0
  833. {workbench-0.8.177 → workbench-0.8.217}/tests/parameter_store/param_store_tests.py +0 -0
  834. {workbench-0.8.177 → workbench-0.8.217}/tests/plugin_tests/crashing_plugin.py +0 -0
  835. {workbench-0.8.177 → workbench-0.8.217}/tests/requirements-dev.txt +0 -0
  836. {workbench-0.8.177 → workbench-0.8.217}/tests/specific/capital_tests.py +0 -0
  837. {workbench-0.8.177 → workbench-0.8.217}/tests/specific/column_changes.py +0 -0
  838. {workbench-0.8.177 → workbench-0.8.217}/tests/specific/config_manager.py +0 -0
  839. {workbench-0.8.177 → workbench-0.8.217}/tests/specific/deletion_tests.py +0 -0
  840. {workbench-0.8.177 → workbench-0.8.217}/tests/specific/shap_tests.py +0 -0
  841. {workbench-0.8.177 → workbench-0.8.217}/tests/transforms/data_to_data_tests.py +0 -0
  842. {workbench-0.8.177 → workbench-0.8.217}/tests/transforms/data_to_features_tests.py +0 -0
  843. {workbench-0.8.177 → workbench-0.8.217}/tests/transforms/features_to_model_tests.py +0 -0
  844. {workbench-0.8.177 → workbench-0.8.217}/tests/transforms/model_to_endpoint_tests.py +0 -0
  845. {workbench-0.8.177 → workbench-0.8.217}/tests/transforms/pandas_to_data_tests.py +0 -0
  846. {workbench-0.8.177 → workbench-0.8.217}/tests/transforms/pandas_to_features_test.py +0 -0
  847. {workbench-0.8.177 → workbench-0.8.217}/tests/views/view_tests.py +0 -0
  848. {workbench-0.8.177 → workbench-0.8.217}/tests/views/view_tests_complex.py +0 -0
  849. {workbench-0.8.177 → workbench-0.8.217}/tests/web_components/confusion_matrix_test.py +0 -0
  850. {workbench-0.8.177 → workbench-0.8.217}/tests/web_components/correlation_matrix_test.py +0 -0
  851. {workbench-0.8.177 → workbench-0.8.217}/tests/web_components/graph_plot_test.py +0 -0
  852. {workbench-0.8.177 → workbench-0.8.217}/tests/web_components/plugin_interface_test.py +0 -0
  853. {workbench-0.8.177 → workbench-0.8.217}/tests/web_components/scatter_plot_test.py +0 -0
  854. {workbench-0.8.177 → workbench-0.8.217}/ui_testing/assets/custom.css +0 -0
  855. {workbench-0.8.177 → workbench-0.8.217}/ui_testing/table_comparison.py +0 -0
  856. {workbench-0.8.177 → workbench-0.8.217}/ui_testing/theme_switching.py +0 -0
  857. {workbench-0.8.177 → workbench-0.8.217}/ui_testing/theme_switching_2.py +0 -0
@@ -12,9 +12,9 @@ jobs:
12
12
  - uses: actions/checkout@v4
13
13
 
14
14
  - name: Set up Python
15
- uses: actions/setup-python@v4
15
+ uses: actions/setup-python@v5
16
16
  with:
17
- python-version: '3.x'
17
+ python-version: '3.13'
18
18
 
19
19
  - name: Install dependencies
20
20
  run: |
@@ -27,4 +27,3 @@ jobs:
27
27
  - name: Run Flake8 (Linting)
28
28
  run: |
29
29
  flake8 --exclude '*generated*' src/workbench applications tests
30
-
@@ -149,5 +149,5 @@ workbench_lambda_layer_output/
149
149
  # Some test datasets
150
150
  test_evaluation_data.csv
151
151
 
152
- # This is a copied file
153
- src/workbench/model_scripts/custom_models/chem_info/chem_utils.py
152
+ # PyTorch checkpoint/tmp directories
153
+ .pt_tmp/
@@ -0,0 +1,7 @@
1
+ FROM python:3.12-slim
2
+
3
+ ARG WORKBENCH_VERSION=
4
+ RUN apt-get update && apt-get upgrade -y && \
5
+ apt-get install -y --no-install-recommends libexpat1 libnghttp2-dev && \
6
+ apt-get clean && rm -rf /var/lib/apt/lists/* && \
7
+ pip install --no-cache-dir workbench${WORKBENCH_VERSION:+==$WORKBENCH_VERSION}
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021-2024 SuperCowPowers LLC
3
+ Copyright (c) 2021-2026 SuperCowPowers LLC
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,15 +1,37 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: workbench
3
- Version: 0.8.177
3
+ Version: 0.8.217
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
- License-Expression: MIT
6
+ License: MIT License
7
+
8
+ Copyright (c) 2021-2026 SuperCowPowers LLC
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
7
28
  Project-URL: Homepage, https://github.com/SuperCowPowers/workbench
8
29
  Keywords: SageMaker,Machine Learning,AWS,Python,Utilities
9
30
  Classifier: Development Status :: 4 - Beta
10
31
  Classifier: Programming Language :: Python :: 3.10
11
32
  Classifier: Programming Language :: Python :: 3.11
12
33
  Classifier: Programming Language :: Python :: 3.12
34
+ Classifier: Programming Language :: Python :: 3.13
13
35
  Classifier: Topic :: Scientific/Engineering
14
36
  Requires-Python: >=3.10
15
37
  Description-Content-Type: text/markdown
@@ -20,20 +42,21 @@ Requires-Dist: redis>=5.0.1
20
42
  Requires-Dist: numpy>=1.26.4
21
43
  Requires-Dist: pandas>=2.2.1
22
44
  Requires-Dist: awswrangler>=3.4.0
23
- Requires-Dist: sagemaker>=2.143
45
+ Requires-Dist: sagemaker<3.0,>=2.143
24
46
  Requires-Dist: cryptography>=44.0.2
25
47
  Requires-Dist: ipython>=8.37.0
26
48
  Requires-Dist: pyreadline3; sys_platform == "win32"
27
49
  Requires-Dist: scikit-learn>=1.5.2
50
+ Requires-Dist: umap-learn>=0.5.8
28
51
  Requires-Dist: xgboost>=3.0.3
29
52
  Requires-Dist: joblib>=1.3.2
30
53
  Requires-Dist: requests>=2.26.0
31
54
  Requires-Dist: rdkit>=2024.9.5
32
55
  Requires-Dist: mordredcommunity>=2.0.6
33
- Requires-Dist: workbench-bridges>=0.1.10
56
+ Requires-Dist: workbench-bridges>=0.1.16
34
57
  Provides-Extra: ui
35
58
  Requires-Dist: plotly>=6.0.0; extra == "ui"
36
- Requires-Dist: dash>3.0.0; extra == "ui"
59
+ Requires-Dist: dash>=3.0.0; extra == "ui"
37
60
  Requires-Dist: dash-bootstrap-components>=1.6.0; extra == "ui"
38
61
  Requires-Dist: dash-bootstrap-templates>=1.3.0; extra == "ui"
39
62
  Requires-Dist: dash_ag_grid; extra == "ui"
@@ -48,8 +71,8 @@ Requires-Dist: flake8; extra == "dev"
48
71
  Requires-Dist: black; extra == "dev"
49
72
  Provides-Extra: all
50
73
  Requires-Dist: networkx>=3.2; extra == "all"
51
- Requires-Dist: plotly>=5.18.0; extra == "all"
52
- Requires-Dist: dash<3.0.0,>=2.16.1; extra == "all"
74
+ Requires-Dist: plotly>=6.0.0; extra == "all"
75
+ Requires-Dist: dash>=3.0.0; extra == "all"
53
76
  Requires-Dist: dash-bootstrap-components>=1.6.0; extra == "all"
54
77
  Requires-Dist: dash-bootstrap-templates>=1.3.0; extra == "all"
55
78
  Requires-Dist: dash_ag_grid; extra == "all"
@@ -7,7 +7,7 @@ EXPOSE 8000
7
7
  ENV PYTHONHASHSEED=0
8
8
 
9
9
  # Define workbench version
10
- ARG WORKBENCH_VERSION=0.8.165
10
+ ARG WORKBENCH_VERSION=0.8.208
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 \
@@ -4,7 +4,7 @@ redis >= 5.0.1
4
4
  numpy >= 1.26.4
5
5
  pandas >= 2.2.1
6
6
  awswrangler >= 3.4.0
7
- sagemaker >= 2.143
7
+ sagemaker >= 2.143, < 3.0
8
8
  cryptography>=44.0.2
9
9
  ipython>=8.17.2
10
10
  xgboost>=3.0.3
@@ -1,6 +1,5 @@
1
1
  """Just a Utility Script that allows people to check which AWS Identity is active"""
2
2
 
3
- import os
4
3
  import sys
5
4
  import logging
6
5
 
@@ -9,6 +9,7 @@ from aws_cdk import (
9
9
  aws_sqs as sqs,
10
10
  aws_lambda as lambda_,
11
11
  aws_lambda_event_sources as lambda_events,
12
+ aws_logs as logs,
12
13
  Duration,
13
14
  Size,
14
15
  )
@@ -95,6 +96,7 @@ class WorkbenchComputeStack(Stack):
95
96
  compute_environment_name="workbench-compute-env",
96
97
  vpc=vpc,
97
98
  vpc_subnets=vpc_subnets,
99
+ maxv_cpus=16, # Limit to 16 vCPU to minimize AWS Throttling issues
98
100
  )
99
101
 
100
102
  def create_batch_job_queue(self) -> batch.JobQueue:
@@ -118,7 +120,7 @@ class WorkbenchComputeStack(Stack):
118
120
  "MLPipelineRepo",
119
121
  repository_arn=f"arn:aws:ecr:{self.region}:507740646243:repository/aws-ml-images/py312-ml-pipelines",
120
122
  ),
121
- tag="0.1",
123
+ tag="0.2",
122
124
  )
123
125
 
124
126
  # Job Definition Tiers
@@ -192,6 +194,7 @@ class WorkbenchComputeStack(Stack):
192
194
  handler="index.lambda_handler",
193
195
  code=lambda_.Code.from_inline(self._get_lambda_code()),
194
196
  timeout=Duration.minutes(5),
197
+ log_retention=logs.RetentionDays.ONE_WEEK,
195
198
  environment={
196
199
  "WORKBENCH_BUCKET": self.workbench_bucket,
197
200
  "JOB_QUEUE": self.batch_job_queue.job_queue_name,
@@ -205,7 +208,7 @@ class WorkbenchComputeStack(Stack):
205
208
  # Connect SQS to Lambda
206
209
  batch_trigger_lambda.add_event_source(
207
210
  lambda_events.SqsEventSource(
208
- self.ml_pipeline_queue, batch_size=1, max_concurrency=5 # Limit parallel Batch job submissions
211
+ self.ml_pipeline_queue, batch_size=1 # One message at a time for precise error handling
209
212
  )
210
213
  )
211
214
  return batch_trigger_lambda
@@ -241,8 +244,6 @@ class WorkbenchComputeStack(Stack):
241
244
  script_path = message['script_path'] # s3://bucket/path/to/script.py
242
245
  size = message.get('size', 'small')
243
246
  extra_env = message.get('environment', {})
244
- model_outputs = message.get('MODEL_OUTPUTS', [])
245
- endpoint_outputs = message.get('ENDPOINT_OUTPUTS', [])
246
247
 
247
248
  script_name = Path(script_path).stem
248
249
  job_name = f"workbench_{script_name}_{datetime.now():%Y%m%d_%H%M%S}"
@@ -257,14 +258,7 @@ class WorkbenchComputeStack(Stack):
257
258
  *[{'name': k, 'value': v} for k, v in extra_env.items()]
258
259
  ]
259
260
 
260
- # Add MODEL_OUTPUTS as comma-separated list if provided
261
- if model_outputs:
262
- env_vars.append({'name': 'MODEL_OUTPUTS', 'value': ','.join(model_outputs)})
263
-
264
- # Add ENDPOINT_OUTPUTS as comma-separated list if provided
265
- if endpoint_outputs:
266
- env_vars.append({'name': 'ENDPOINT_OUTPUTS', 'value': ','.join(endpoint_outputs)})
267
-
261
+ # Submit Batch job to the queue
268
262
  response = batch.submit_job(
269
263
  jobName=job_name,
270
264
  jobQueue=JOB_QUEUE,
@@ -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_165_amd64"
15
+ dashboard_image = "public.ecr.aws/m6i5k1r2/workbench_dashboard:v0_8_208_amd64"
16
16
 
17
17
  # Workbench Configuration
18
18
  try:
@@ -8,7 +8,6 @@ from aws_cdk import (
8
8
  aws_elasticache as elasticache,
9
9
  aws_logs as logs,
10
10
  )
11
- from aws_cdk.aws_ec2 import Subnet
12
11
  from aws_cdk.aws_certificatemanager import Certificate
13
12
  from aws_cdk.aws_ecs_patterns import ApplicationLoadBalancedFargateService
14
13
  from constructs import Construct
@@ -1,4 +1,3 @@
1
- import os
2
1
  import boto3
3
2
  import aws_cdk as cdk
4
3
  from pprint import pprint
@@ -13,7 +12,7 @@ print(f"Account: {aws_account}")
13
12
  print(f"Region: {aws_region}")
14
13
 
15
14
  # When you want a different docker image change this line
16
- dashboard_image = "public.ecr.aws/m6i5k1r2/workbench_dashboard:v0_8_165_amd64"
15
+ dashboard_image = "public.ecr.aws/m6i5k1r2/workbench_dashboard:v0_8_208_amd64"
17
16
 
18
17
  # Workbench Configuration
19
18
  try:
@@ -11,19 +11,15 @@
11
11
  **Run Inference on an Endpoint**
12
12
 
13
13
  ```py title="endpoint_inference.py"
14
- from workbench.api.feature_set import FeatureSet
15
- from workbench.api.model import Model
16
- from workbench.api.endpoint import Endpoint
14
+ from workbench.api import Endpoint
15
+ from workbench.utils.endpoint_utils import get_evaluation_data
17
16
 
18
17
  # Grab an existing Endpoint
19
18
  endpoint = Endpoint("abalone-regression-end")
20
19
 
21
20
  # Workbench has full ML Pipeline provenance, so we can backtrack the inputs,
22
21
  # get a DataFrame of data (not used for training) and run inference
23
- model = Model(endpoint.get_input())
24
- fs = FeatureSet(model.get_input())
25
- athena_table = fs.view("training").table
26
- df = fs.query(f"SELECT * FROM {athena_table} where training = FALSE")
22
+ df = get_evaluation_data(endpoint)
27
23
 
28
24
  # Run inference/predictions on the Endpoint
29
25
  results_df = endpoint.inference(df)
@@ -32,7 +28,7 @@ results_df = endpoint.inference(df)
32
28
  results_df = endpoint.inference(df, capture=True)
33
29
 
34
30
  # Run inference/predictions using the FeatureSet evaluation data
35
- results_df = endpoint.auto_inference(capture=True)
31
+ results_df = endpoint.auto_inference()
36
32
  ```
37
33
 
38
34
  **Output**
@@ -86,7 +86,7 @@ wine-classification
86
86
  Description: Wine Classification Model
87
87
  Tags: wine::classification
88
88
  Performance Metrics:
89
- [{'wine_class': 'TypeA', 'precision': 1.0, 'recall': 1.0, 'fscore': 1.0, 'roc_auc': 1.0, 'support': 12}, {'wine_class': 'TypeB', 'precision': 1.0, 'recall': 1.0, 'fscore': 1.0, 'roc_auc': 1.0, 'support': 14}, {'wine_class': 'TypeC', 'precision': 1.0, 'recall': 1.0, 'fscore': 1.0, 'roc_auc': 1.0, 'support': 9}]
89
+ [{'wine_class': 'TypeA', 'precision': 1.0, 'recall': 1.0, 'f1': 1.0, 'roc_auc': 1.0, 'support': 12}, {'wine_class': 'TypeB', 'precision': 1.0, 'recall': 1.0, 'f1': 1.0, 'roc_auc': 1.0, 'support': 14}, {'wine_class': 'TypeC', 'precision': 1.0, 'recall': 1.0, 'f1': 1.0, 'roc_auc': 1.0, 'support': 9}]
90
90
 
91
91
  abalone-regression
92
92
  ARN: arn:aws:sagemaker:us-west-2:507740646243:model-package-group/abalone-regression
@@ -17,10 +17,7 @@ These classes provide high-level APIs for the Workbench package, they enable you
17
17
  ## Example ML Pipline
18
18
 
19
19
  ```py title="full_ml_pipeline.py"
20
- from workbench.api.data_source import DataSource
21
- from workbench.api.feature_set import FeatureSet
22
- from workbench.api.model import Model, ModelType
23
- from workbench.api.endpoint import Endpoint
20
+ from workbench.api import DataSource, FeatureSet, Model, ModelType, Endpoint
24
21
 
25
22
  # Create the abalone_data DataSource
26
23
  ds = DataSource("s3://workbench-public-data/common/abalone.csv")
@@ -46,9 +43,7 @@ model.to_endpoint(name="abalone-regression-end", tags=["abalone", "regression"])
46
43
  endpoint = Endpoint("abalone-regression-end")
47
44
 
48
45
  # Run inference on the Endpoint
49
- athena_table = fs.view("training").table
50
- df = fs.query(f"SELECT * FROM {athena_table} where training = FALSE")
51
- results = endpoint.predict(df)
46
+ results = endpoint.auto_inference()
52
47
  print(results[["class_number_of_rings", "prediction"]])
53
48
  ```
54
49
 
@@ -49,10 +49,10 @@ from workbench.api.feature_set import FeatureSet
49
49
 
50
50
  # Grab a FeatureSet View
51
51
  fs = FeatureSet("abalone_features")
52
- t_view = fs.view("training")
52
+ d_view = fs.view("display")
53
53
 
54
54
  # Make some queries using the Athena backend
55
- df = t_view(f"select * from {t_view.table} where height > .3")
55
+ df = d_view(f"select * from {d_view.table} where height > .3")
56
56
  print(df.head())
57
57
 
58
58
  df = t_view.query("select * from abalone_features where class_number_of_rings < 3")
@@ -86,7 +86,7 @@ wine-classification
86
86
  Description: Wine Classification Model
87
87
  Tags: wine::classification
88
88
  Performance Metrics:
89
- [{'wine_class': 'TypeA', 'precision': 1.0, 'recall': 1.0, 'fscore': 1.0, 'roc_auc': 1.0, 'support': 12}, {'wine_class': 'TypeB', 'precision': 1.0, 'recall': 1.0, 'fscore': 1.0, 'roc_auc': 1.0, 'support': 14}, {'wine_class': 'TypeC', 'precision': 1.0, 'recall': 1.0, 'fscore': 1.0, 'roc_auc': 1.0, 'support': 9}]
89
+ [{'wine_class': 'TypeA', 'precision': 1.0, 'recall': 1.0, 'f1': 1.0, 'roc_auc': 1.0, 'support': 12}, {'wine_class': 'TypeB', 'precision': 1.0, 'recall': 1.0, 'f1': 1.0, 'roc_auc': 1.0, 'support': 14}, {'wine_class': 'TypeC', 'precision': 1.0, 'recall': 1.0, 'f1': 1.0, 'roc_auc': 1.0, 'support': 9}]
90
90
 
91
91
  abalone-regression
92
92
  ARN: arn:aws:sagemaker:us-west-2:507740646243:model-package-group/abalone-regression
@@ -116,7 +116,7 @@ model = Model("my-custom-model")
116
116
  end = model.to_endpoint() # Note: This takes a while
117
117
 
118
118
  # Now run inference on my custom model :)
119
- end.auto_inference(capture=True)
119
+ end.auto_inference()
120
120
 
121
121
  # Run inference with my own dataframe
122
122
  df = fs.pull_dataframe() # Or whatever dataframe
@@ -57,10 +57,10 @@ from workbench.api.feature_set import FeatureSet
57
57
 
58
58
  # Grab a FeatureSet View
59
59
  fs = FeatureSet("abalone_features")
60
- t_view = fs.view("training")
60
+ d_view = fs.view("display")
61
61
 
62
62
  # Make some queries using the Athena backend
63
- df = t_view(f"select * from {t_view.table} where height > .3")
63
+ df = t_view(f"select * from {d_view.table} where height > .3")
64
64
  print(df.head())
65
65
 
66
66
  df = t_view.query("select * from abalone_features where class_number_of_rings < 3")
@@ -1,16 +1,12 @@
1
- from workbench.api.feature_set import FeatureSet
2
- from workbench.api.model import Model
3
- from workbench.api.endpoint import Endpoint
1
+ from workbench.api import Endpoint
2
+ from workbench.utils.endpoint_utils import get_evaluation_data
4
3
 
5
4
  # Grab an existing Endpoint
6
5
  endpoint = Endpoint("abalone-regression")
7
6
 
8
7
  # Workbench has full ML Pipeline provenance, so we can backtrack the inputs,
9
8
  # get a DataFrame of data (not used for training) and run inference
10
- model = Model(endpoint.get_input())
11
- fs = FeatureSet(model.get_input())
12
- athena_table = fs.view("training").table
13
- df = fs.query(f"SELECT * FROM {athena_table} where training = FALSE")
9
+ df = get_evaluation_data(endpoint)
14
10
 
15
11
  # Run inference/predictions on the Endpoint
16
12
  results_df = endpoint.inference(df)
@@ -19,4 +15,4 @@ results_df = endpoint.inference(df)
19
15
  results_df = endpoint.inference(df, capture_name="test_inference")
20
16
 
21
17
  # Run inference/predictions using the FeatureSet evaluation data
22
- results_df = endpoint.auto_inference(capture=True)
18
+ results_df = endpoint.auto_inference()
@@ -44,7 +44,5 @@ if __name__ == "__main__":
44
44
  endpoint = Endpoint("abalone-regression")
45
45
 
46
46
  # Run inference on the Endpoint
47
- athena_table = fs.view("training").table
48
- df = fs.query(f"SELECT * FROM {athena_table} where training = FALSE")
49
- results = endpoint.inference(df)
47
+ results = endpoint.auto_inference()
50
48
  print(results[["class_number_of_rings", "prediction"]])
@@ -13,7 +13,7 @@ cm = ConfigManager()
13
13
  cm.set_config("WORKBENCH_BUCKET", glue_args["workbench-bucket"])
14
14
 
15
15
  # Important Note: This import needs to happen after the WORKBENCH_BUCKET is set
16
- from workbench.api import DataSource
16
+ from workbench.api import DataSource # noqa: E402
17
17
 
18
18
  # Grab a test DataSource
19
19
  ds = DataSource("abalone_data")
@@ -13,7 +13,7 @@ cm = ConfigManager()
13
13
  cm.set_config("WORKBENCH_BUCKET", glue_args["workbench-bucket"])
14
14
 
15
15
  # Important Note: This import needs to happen after the WORKBENCH_BUCKET is set
16
- from workbench.api import Meta
16
+ from workbench.api import Meta # noqa: E402
17
17
 
18
18
  # List all the models in AWS
19
19
  meta = Meta()
@@ -13,7 +13,7 @@ cm = ConfigManager()
13
13
  cm.set_config("WORKBENCH_BUCKET", glue_args["workbench-bucket"])
14
14
 
15
15
  # Important Note: This import needs to happen after the WORKBENCH_BUCKET is set
16
- from workbench.api import Endpoint
16
+ from workbench.api import Endpoint # noqa: E402
17
17
 
18
18
  # Run Inference on a particular model (using its endpoint)
19
19
  end = Endpoint("abalone-regression")
@@ -1,4 +1,3 @@
1
- import time
2
1
  import logging
3
2
  from workbench.api import Meta
4
3
 
@@ -10,7 +10,7 @@ Endpoints:
10
10
  - wine-classification-end
11
11
  """
12
12
 
13
- from workbench.api import DataSource, FeatureSet, Model, ModelType, Endpoint
13
+ from workbench.api import DataSource, FeatureSet, Model, ModelType
14
14
 
15
15
 
16
16
  if __name__ == "__main__":
@@ -37,5 +37,5 @@ if __name__ == "__main__":
37
37
  end = m.to_endpoint("wine-classification", tags=["wine", "classification"])
38
38
 
39
39
  # Run inference on the endpoint
40
- end.auto_inference(capture=True)
40
+ end.auto_inference()
41
41
  end.set_owner("test")
@@ -0,0 +1,140 @@
1
+ from workbench.api import FeatureSet, Model, ModelType, ModelFramework, Endpoint
2
+
3
+ # Recreate Flag in case you want to recreate the artifacts
4
+ recreate = False
5
+
6
+ # =============================================================================
7
+ # Single-Target Chemprop Regression Model
8
+ # =============================================================================
9
+ if recreate or not Model("open-admet-chemprop-logd").exists():
10
+ feature_set = FeatureSet("open_admet_all")
11
+ m = feature_set.to_model(
12
+ name="open-admet-chemprop-logd",
13
+ model_type=ModelType.UQ_REGRESSOR,
14
+ model_framework=ModelFramework.CHEMPROP,
15
+ target_column="logd", # Single target (string)
16
+ feature_list=["smiles"],
17
+ description="Single-target Chemprop Regression Model for LogD",
18
+ tags=["chemprop", "open_admet"],
19
+ )
20
+ m.set_owner("BW")
21
+
22
+ # Create an Endpoint for the Regression Model
23
+ if recreate or not Endpoint("open-admet-chemprop-logd").exists():
24
+ m = Model("open-admet-chemprop-logd")
25
+ end = m.to_endpoint(tags=["chemprop", "open_admet"])
26
+ end.set_owner("BW")
27
+ end.auto_inference()
28
+ end.cross_fold_inference()
29
+
30
+ # =============================================================================
31
+ # Hybrid ChemProp Model (SMILES + Molecular Descriptors)
32
+ # =============================================================================
33
+ # This example shows how to combine ChemProp's learned molecular representations
34
+ # with pre-computed molecular descriptors (RDKit/Mordred features).
35
+ # The extra features are concatenated with the MPNN output before the FFN.
36
+
37
+ # Top 10 SHAP features from LogD XGBoost model (provides complementary information to MPNN)
38
+ TOP_LOGD_SHAP_FEATURES = [
39
+ "mollogp",
40
+ "fr_halogen",
41
+ "peoe_vsa6",
42
+ "nbase",
43
+ "peoe_vsa7",
44
+ "peoe_vsa9",
45
+ "peoe_vsa1",
46
+ "mi",
47
+ "bcut2d_mrlow",
48
+ "slogp_vsa1",
49
+ ]
50
+
51
+ if recreate or not Model("open-admet-chemprop-logd-hybrid").exists():
52
+ feature_set = FeatureSet("open_admet_logd")
53
+
54
+ # Hybrid mode: SMILES + top molecular descriptors
55
+ # The template auto-detects extra features beyond the SMILES column
56
+ hybrid_features = ["smiles"] + TOP_LOGD_SHAP_FEATURES
57
+
58
+ m = feature_set.to_model(
59
+ name="open-admet-chemprop-logd-hybrid",
60
+ model_type=ModelType.UQ_REGRESSOR,
61
+ model_framework=ModelFramework.CHEMPROP,
62
+ target_column="logd",
63
+ feature_list=hybrid_features,
64
+ description="Hybrid ChemProp model combining D-MPNN with top SHAP molecular descriptors",
65
+ tags=["chemprop", "open_admet", "hybrid"],
66
+ )
67
+ m.set_owner("BW")
68
+
69
+ # Create an Endpoint for the Hybrid Model
70
+ if recreate or not Endpoint("open-admet-chemprop-logd-hybrid").exists():
71
+ m = Model("open-admet-chemprop-logd-hybrid")
72
+ end = m.to_endpoint(tags=["chemprop", "open_admet", "hybrid"])
73
+ end.set_owner("BW")
74
+ end.auto_inference()
75
+ end.cross_fold_inference()
76
+
77
+ # =============================================================================
78
+ # Chemprop Classification Model
79
+ # =============================================================================
80
+ if recreate or not Model("aqsol-class-chemprop").exists():
81
+ feature_set = FeatureSet("aqsol_features")
82
+ m = feature_set.to_model(
83
+ name="aqsol-class-chemprop",
84
+ model_type=ModelType.CLASSIFIER,
85
+ model_framework=ModelFramework.CHEMPROP,
86
+ target_column="solubility_class",
87
+ feature_list=["smiles"],
88
+ description="Classification ChemProp model AQSol solubility classes",
89
+ tags=["chemprop", "aqsol", "class"],
90
+ )
91
+ m.set_owner("BW")
92
+ m.set_class_labels(["low", "medium", "high"])
93
+
94
+ # Create an Endpoint for the Multi-Task Regression Model
95
+ if recreate or not Endpoint("aqsol-class-chemprop").exists():
96
+ m = Model("aqsol-class-chemprop")
97
+ end = m.to_endpoint(tags=["chemprop", "aqsol", "class"])
98
+ end.set_owner("BW")
99
+ end.auto_inference()
100
+ end.cross_fold_inference()
101
+
102
+ # =============================================================================
103
+ # Multi-Target Chemprop Regression Model (Open ADMET)
104
+ # =============================================================================
105
+ # This example shows how to train a multi-task model predicting all 9 ADMET endpoints
106
+ # from the Open ADMET challenge: logd, ksol, hlm_clint, mlm_clint, caco_2_papp_a_b,
107
+ # caco_2_efflux, mppb, mbpb, mgmb
108
+
109
+ ADMET_TARGETS = [
110
+ "logd",
111
+ "ksol",
112
+ "hlm_clint",
113
+ "mlm_clint",
114
+ "caco_2_papp_a_b",
115
+ "caco_2_efflux",
116
+ "mppb",
117
+ "mbpb",
118
+ "mgmb",
119
+ ]
120
+
121
+ if recreate or not Model("open-admet-chemprop-mt").exists():
122
+ feature_set = FeatureSet("open_admet_all")
123
+ m = feature_set.to_model(
124
+ name="open-admet-chemprop-mt",
125
+ model_type=ModelType.REGRESSOR,
126
+ model_framework=ModelFramework.CHEMPROP,
127
+ target_column=ADMET_TARGETS, # Multi-task: list of 9 targets
128
+ feature_list=["smiles"],
129
+ description="Multi-task ChemProp model for 9 ADMET endpoints",
130
+ tags=["chemprop", "open_admet", "multitask"],
131
+ )
132
+ m.set_owner("BW")
133
+
134
+ # Create an Endpoint for the Multi-Task Regression Model
135
+ if recreate or not Endpoint("open-admet-chemprop-mt").exists():
136
+ m = Model("open-admet-chemprop-mt")
137
+ end = m.to_endpoint(tags=["chemprop", "open_admet", "multitask"])
138
+ end.set_owner("BW")
139
+ end.auto_inference()
140
+ end.cross_fold_inference()
@@ -21,4 +21,4 @@ my_model = Model("smiles-to-taut-md-stereo-v0")
21
21
  endpoint = my_model.to_endpoint(name="smiles-to-taut-md-stereo-v0", tags=["smiles", "molecular descriptors"])
22
22
 
23
23
  # Run auto-inference on the Endpoint
24
- endpoint.auto_inference(capture=True)
24
+ endpoint.auto_inference()
@@ -24,4 +24,4 @@ my_model = Model("abalone-clusters")
24
24
  endpoint = my_model.to_endpoint(name="abalone-clusters", tags=["abalone", "clusters"])
25
25
 
26
26
  # Run auto-inference on the Endpoint
27
- endpoint.auto_inference(capture=True)
27
+ endpoint.auto_inference()
@@ -0,0 +1,34 @@
1
+ from workbench.api import MetaModel, Endpoint
2
+
3
+ # Recreate Flag in case you want to recreate the artifacts
4
+ recreate = True
5
+
6
+ # =============================================================================
7
+ # Meta Model: Ensemble of XGBoost, PyTorch, and ChemProp for LogD
8
+ # =============================================================================
9
+ # This meta model aggregates predictions from different model architectures,
10
+ # using model-weighted voting to combine their outputs.
11
+
12
+ # Child endpoints that this meta model will call
13
+ CHILD_ENDPOINTS = [
14
+ "logd-reg-pytorch",
15
+ "logd-reg-chemprop",
16
+ ]
17
+
18
+ if recreate or not MetaModel("logd-meta").exists():
19
+ m = MetaModel.create(
20
+ name="logd-meta",
21
+ child_endpoints=CHILD_ENDPOINTS,
22
+ target_column="logd",
23
+ description="Meta model combining XGBoost, PyTorch, and ChemProp for LogD prediction",
24
+ tags=["meta", "open_admet", "logd"],
25
+ )
26
+ m.set_owner("BW")
27
+
28
+ # Create an Endpoint for the Meta Model
29
+ if recreate or not Endpoint("logd-meta").exists():
30
+ m = MetaModel("logd-meta")
31
+ end = m.to_endpoint(tags=["meta", "open_admet", "logd"])
32
+ end.set_owner("BW")
33
+ end.auto_inference()
34
+ end.full_inference()