workbench 0.8.485__tar.gz → 0.8.486__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.
- {workbench-0.8.485 → workbench-0.8.486}/PKG-INFO +1 -1
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/Dockerfile +1 -1
- {workbench-0.8.485 → workbench-0.8.486}/lambda_layers/build_deploy.sh +1 -1
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/base/inference/Dockerfile +1 -1
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/base/training/Dockerfile +1 -1
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/ml_pipelines/Dockerfile +1 -1
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/pytorch_chem/inference/Dockerfile +1 -1
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/pytorch_chem/training/Dockerfile +1 -1
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/inference_capture_check.py +1 -1
- {workbench-0.8.485 → workbench-0.8.486}/scripts/benchmark_fp_proximity.py +1 -1
- {workbench-0.8.485 → workbench-0.8.486}/scripts/compare_dataframes.py +1 -1
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/models/multi_task.md +10 -7
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/multi_task.py +23 -11
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench.egg-info/PKG-INFO +1 -1
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench.egg-info/scm_version.json +2 -2
- {workbench-0.8.485 → workbench-0.8.486}/tests/specific/multi_task_tests.py +61 -67
- {workbench-0.8.485 → workbench-0.8.486}/.flake8 +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.gitattributes +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.github/dependabot.yml +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.github/workflows/aws-tests.yml +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.github/workflows/deploy-docs.yml +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.github/workflows/endpoint-import-smoke.yml +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.github/workflows/gitleaks.yml +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.github/workflows/lockfile-drift.yml +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.github/workflows/publish.yml +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.github/workflows/python-lint.yml +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.gitignore +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.gitleaks.toml +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/.pre-commit-config.yaml +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/CONTRIBUTING.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/Dockerfile +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/LICENSE +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/Makefile +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/SECURITY.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/.gitignore +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/app.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/assets/contests/render.js +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/assets/contests/styles.css +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/assets/favicon.ico +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/assets/ml_pipelines/render.js +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/assets/ml_pipelines/styles.css +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/dashboard +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/deploy.sh +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/open_source_config.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/contests/callbacks.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/contests/layout.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/contests/page.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/data_sources/callbacks.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/data_sources/layout.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/data_sources/page.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/endpoints/callbacks.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/endpoints/layout.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/endpoints/page.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/feature_sets/callbacks.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/feature_sets/layout.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/feature_sets/page.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/main/callbacks.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/main/layout.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/main/page.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/ml_pipelines/callbacks.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/ml_pipelines/layout.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/ml_pipelines/page.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/models/callbacks.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/models/layout.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/models/page.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/status/page.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/requirements.in +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/requirements.lock +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/static/dark.css +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/static/light.css +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/aws_account_setup.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/aws_identity_check.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/build_ml_pipeline.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_compute/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_compute/app.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_compute/cdk.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_compute/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_compute/workbench_compute/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_compute/workbench_compute/lambdas/batch_failure/handler.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_compute/workbench_compute/lambdas/batch_trigger/handler.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_compute/workbench_compute/workbench_compute_stack.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_core/.gitignore +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_core/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_core/app.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_core/cdk.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_core/requirements-dev.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_core/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_core/source.bat +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_core/workbench_core/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_core/workbench_core/workbench_core_stack.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_dashboard/.gitignore +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_dashboard/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_dashboard/app.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_dashboard/cdk.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_dashboard/requirements-dev.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_dashboard/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_dashboard/source.bat +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_dashboard/workbench_dashboard/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_dashboard/workbench_dashboard/workbench_dashboard_stack.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_vpc/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_vpc/app.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_vpc/cdk.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_vpc/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_vpc/workbench_vpc/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/aws_setup/workbench_vpc/workbench_vpc/workbench_vpc_stack.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ci/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ci/endpoint_import_smoke.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ci/endpoint_smoke_requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ci/lock.sh +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ci/template_import_check.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ci/workbench_ci_config.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/abalone.csv +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/karate_graph.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/alignment_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/build_logp_logd_overlap.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/build_synthetic_multi_task.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/build_tagging_reference.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/descriptions.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/logp_to_feature_set.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/overlap_summary.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/pull_chembl_cyp_data.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/pull_common.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/pull_logd_data.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/pull_logp_data.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/pull_openadmet_data.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/pull_pubchem_cyp_data.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/pull_tox21_cyp_data.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/public_data/upload_data.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/test_data.csv +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/test_data.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/data/wine_dataset.csv +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/deploy_docker.sh +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/admin/aws_service_limits.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/admin/base_docker_push.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/admin/dashboard_docker_push.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/admin/dashboard_s3_plugins.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/admin/images/dashboard_secret_click.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/admin/images/serverless_quotas.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/admin/images/status_showing_S3_path.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/admin/pypi_release.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/admin/workbench_docker_for_lambdas.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/async_endpoint.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/compound.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/data_source.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/df_store.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/endpoint.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/feature_set.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/graph_store.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/inference_cache.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/inference_store.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/meta.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/meta_endpoint.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/model.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/monitor.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/overview.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/parameter_store.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/public_data.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/reports.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/api_classes/views.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/aws_setup/aws_setup.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/aws_setup/aws_tips_and_tricks.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/aws_setup/compute_stack.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/aws_setup/core_stack.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/aws_setup/dashboard_stack.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/aws_setup/domain_cert_setup.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/aws_setup/full_pipeline.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/aws_setup/iam_assume_role.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/aws_setup/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/aws_setup/redis_tunnel.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/aws_setup/sso_assume_role.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/aws_setup/stacks.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/3d_descriptors.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/aws_endpoint_architecture.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/chemprop_multi_task.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/chemprop_shap.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/confusion_explorer.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/cyp_challenge.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/feature_endpoints.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/ml_agent.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/molecular_standardization.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/pxr_weekend_experiments.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/storage/compound_etl.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/storage/compound_explorer.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/storage/eda.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/storage/feature_importances.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/storage/fun_with_endpoints.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/storage/htg.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/storage/model_monitoring.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/storage/residual_analysis.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/blogs/uncertainty_quantification.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/bosco/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/bosco/security.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/cached/cached_data_source.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/cached/cached_endpoint.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/cached/cached_feature_set.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/cached/cached_meta.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/cached/cached_model.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/cached/overview.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/chem_utils/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/ci/github_oidc_setup.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/ci/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/cloudwatch/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/comparisons/workbench_vs_databricks.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/compound_explorer/tox21.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/compound_explorer/toxicity_modeling.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/confidence/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/artifacts/artifact.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/artifacts/async_endpoint_core.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/artifacts/athena_source.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/artifacts/data_source_abstract.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/artifacts/endpoint_core.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/artifacts/feature_set_core.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/artifacts/model_core.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/artifacts/monitor_core.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/artifacts/overview.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/overview.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/pipelines/pipeline_meta.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/transforms/data_loaders_heavy.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/transforms/data_loaders_light.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/transforms/data_to_features.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/transforms/features_to_model.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/transforms/model_to_endpoint.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/transforms/overview.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/transforms/pandas_transforms.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/transforms/transform.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/views/column_subset_view.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/views/computation_view.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/views/create_view.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/views/display_view.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/views/inference_view.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/views/overview.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/core_classes/views/pandas_to_view.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/data_algorithms/dataframes/overview.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/data_algorithms/graphs/overview.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/data_algorithms/overview.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/data_algorithms/spark/overview.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/data_algorithms/sql/overview.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/enterprise/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/enterprise/private_saas.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/enterprise/project_branding.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/enterprise/themes.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/getting_started/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/glue/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/3d_descriptor_pipeline.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/3d_descriptor_pipeline_detail.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/3d_descriptor_v2_pipeline.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/agent_repl_chat.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/bedrock_prompt_path.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/big_spider.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/bosco_dashboard_model.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/bosco_egress_guarded.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/bosco_isoform_parity.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/bosco_neighborhood.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/bosco_top_residuals.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/chemprop_logd.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/chemprop_mt_expansion.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/chemprop_mt_transfer.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/chemprop_overview.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/chemprop_shap_logd.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/chemprop_shap_pipeline.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/confidence_percentile.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/conformal_calibration.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/confusion_explorer/drilldown_on_errors.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/confusion_explorer/high_confidence.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/confusion_explorer/overview.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/cyp_calibration_applied.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/default_stack_flow.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/endpoint_architecture.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/graph_representation.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/meta_endpoint_ensemble.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/meta_endpoint_feature.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/powered_aws_dark_blue.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/powered_aws_transparent.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/powered_aws_white.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/powered_aws_with_tm_grey.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/scp.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/scp_labs.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/small_spider.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/uq_conf_residual.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/uq_conformal.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/uq_endpoint_flow.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/uq_pred_scatter.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/uq_v1_signals.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/uq_v1_training.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/workbench_async_stack_flow.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/workbench_concepts.png +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/images/workbench_stack_flow.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/javascripts/mathjax.js +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/lambda_layer/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/local/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/misc/faq.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/misc/general_info.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/misc/scp_consulting.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/misc/workbench_classes_concepts.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/ml_pipelines/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/model_utils/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/chemprop_models.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/cleanlab_models.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/fingerprint_models.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/hpo.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/images/chemprop_decision_tree.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/images/chemprop_desc_architecture.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/images/confidence.jpg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/images/hpo_details.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/images/hpo_overview.svg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/meta_endpoints.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/pytorch_models.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/sklearn_models.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/models/xgboost_models.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/plugins/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/presentations/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/presentations/pxr_repl_demo.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/release_notes/0_8_158.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/release_notes/0_8_339.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/release_notes/0_8_358.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/release_notes/0_8_384.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/release_notes/0_8_396.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/release_notes/0_8_398.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/release_notes/0_8_441.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/release_notes/0_8_450.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/repl/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/road_maps/0_9_0.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/road_maps/0_9_5.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/stylesheets/extra.css +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/themes/details.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/docs/themes/index.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/ag-grid/hello_world.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/chem_utils/curate_admet_dataset.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/chem_utils/tag_molecules.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/chem_utils/tautomerize_smiles.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/datasource/datasource_from_df.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/datasource/datasource_from_s3.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/datasource/datasource_query.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/datasource/datasource_stats.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/datasource/datasource_to_featureset.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/endpoint/endpoint_details.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/endpoint/endpoint_inference.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/endpoint/endpoint_metrics.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/featureset/featureset_eda.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/featureset/featureset_query.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/full_ml_pipeline.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/glue_jobs/glue_example_1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/glue_jobs/glue_example_2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/glue_jobs/glue_example_3.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/glue_jobs/glue_launcher_examples/example_1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/glue_jobs/glue_launcher_examples/example_2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/graph/aqsol_proximity_path.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/meta/meta_list_endpoints.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/meta/meta_list_models.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/meta/meta_model_summary.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/ml_flow/.gitignore +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/ml_flow/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/ml_flow/aqsol_mlflow.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/ml_flow/aqsol_workbench_holdout.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/model_utils/model_metrics.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/model_utils/model_to_endpoint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/model_utils/onboard_model.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/aqsol_example.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/chemprop.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/chemprop_bounded_loss_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/chemprop_foundation.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/chemprop_hpo.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/chemprop_logp_logd_synthetic.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/chemprop_logp_logd_tiered.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/chemprop_open_admet.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/dbscan.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/knn.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/meta_endpoint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/pytorch.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/random_forest.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/split_comparison_chemprop.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/split_comparison_pytorch.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/split_comparison_xgb.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/uq_storage/bayesian_ridge.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/uq_storage/ensemble_xgb.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/uq_storage/gaussian_process.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/uq_storage/meta_uq.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/uq_storage/ngboost.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/uq_storage/quant_xgb.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/models/xgb_model.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/monitor/monitor_setup.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/monitor/monitor_usage.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/assets/hello/render.js +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/assets/hello/styles.css +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/branding/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/branding/scp.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/components/custom_plugin.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/components/endpoint_plugin.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/components/endpoint_turbo.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/components/model_markdown.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/components/model_plugin.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/packages/my_plugin_utils/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/packages/my_plugin_utils/assets/foo.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/packages/my_plugin_utils/cool_stuff.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/pages/plugin_page_1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/pages/plugin_page_2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/pages/plugin_page_3.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/pages/plugin_page_assets.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/templates/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/views/model_plugin_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/examples/plugins/views/my_view_plugin.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/experiments/chem_info/bulk_sims.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/experiments/chem_info/knn_sims.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/experiments/confidence_roc_curve.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/experiments/coverage_probability.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/experiments/db_scan_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/experiments/log_testing.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/experiments/networkx_id.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/experiments/prediction_intervals.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/experiments/residual_analysis.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/experiments/rocauc_testing.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/experiments/scatter_zoom_issue.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/_common.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/model_scripts/molecular_utils/fingerprints.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/model_scripts/molecular_utils/mol_descriptors.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/model_scripts/molecular_utils/mol_descriptors_3d.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/model_scripts/molecular_utils/mol_descriptors_3d_v2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/model_scripts/molecular_utils/mol_standardize.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/model_scripts/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/model_scripts/smiles_to_2d_model_script.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/model_scripts/smiles_to_2d_salt_model_script.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/model_scripts/smiles_to_3d_v1_model_script.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/model_scripts/smiles_to_3d_v2_model_script.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/model_scripts/smiles_to_fingerprints_model_script.template +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/smiles_to_2d_3d_salt_v2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/smiles_to_2d_3d_v1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/smiles_to_2d_3d_v2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/smiles_to_2d_salt_v1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/smiles_to_2d_v1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/smiles_to_3d_v1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/smiles_to_3d_v2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/feature_endpoints/smiles_to_fingerprints_v1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/glue_jobs/create_glue_workflow_with_trigger.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/glue_jobs/example_glue_job.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/lambda_layers/.gitignore +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/lambda_layers/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/lambda_layers/example_lambda/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/lambda_layers/example_lambda/handler.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/lambda_layers/example_lambda/local_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/lambda_layers/example_lambda/sample_pipelines/demo/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/lambda_layers/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/mkdocs.yml +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/.gitignore +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/README_rx.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/caco2_efflux/caco2_efflux.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/caco2_efflux/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/caco2_papp_a_b/caco2_papp_a_b.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/caco2_papp_a_b/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/cyp_aux_features.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/cyp_chemprop_2d6.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/cyp_chemprop_mt_aux_100.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/cyp_chemprop_union.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/cyp_feature_sets.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/cyp_union_features.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/cyp_xgb_3dv2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_2d6_pharmacophore.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_aux_alignment.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_calibration_figures.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_compare.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_ensemble_submit.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_error_decomposition.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_leaderboard.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_member_diversity.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_mix_submission.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_pooling_precheck.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_recalibrate.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_ruler_power.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_seed_noise.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_submit.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_tox21_anchors.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/cyp_verify_claims.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/openadmet_validation/LICENSE +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/openadmet_validation/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/openadmet_validation/activity_validation.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/scripts/openadmet_validation/tdi_validation.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/storage/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/storage/cyp_censored_features.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/storage/cyp_chemprop_mt.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/storage/cyp_chemprop_mt_100.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/storage/cyp_chemprop_mt_all.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/storage/cyp_chemprop_mt_aux.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/storage/cyp_chemprop_mt_censored.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/storage/cyp_pytorch_3dv2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/cyp/storage/cyp_xgb_fp.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/hlm_clint/hlm_clint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/hlm_clint/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/images/confidence.jpg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/images/open_admet_model.jpg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/inference/open_admet/rx_test_champions.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/ksol/ksol.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/ksol/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/load_data/load_data.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/load_data/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/logd/logd.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/logd/logd_chemprop_hpo.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/logd/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/mbpb/mbpb.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/mbpb/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/mgmb/mgmb.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/mgmb/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/mlm_clint/mlm_clint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/mlm_clint/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/mppb/mppb.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/mppb/mppb_chemprop_hpo.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/mppb/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase1/pxr_chemprop_chemeleon_phase1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase1/pxr_chemprop_hpo_phase1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase1/pxr_chemprop_mt_hpo_phase1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase1/pxr_chemprop_mt_phase1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase1/pxr_chemprop_phase1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase1/pxr_chemprop_readout_phase1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase1/pxr_chemprop_tuned_phase1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase1/pxr_pytorch_hpo_phase1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase1/pxr_tabicl_spike_phase1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase1/pxr_xgb_hpo_phase1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase2/activity_leaderboard_phase2.csv +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase2/pxr_chemprop_mt_phase2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/phase2/pxr_chemprop_phase2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/pxr_chemprop_lfc.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/pxr_chemprop_mt_feature_sets.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/pxr_feature_sets.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/pxr_lfc_feature_sets.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/pxr_pytorch_3dv2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/pxr/pxr_readout_feature_sets.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/support/hello_world.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/support/model_metrics.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/support/run_inference.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/OpenADMET/support/utils/compute_model_metrics.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/AqSol/aqsol_chemprop_hpo.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/AqSol/aqsol_class_1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/AqSol/aqsol_class_2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/AqSol/aqsol_feature_set.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/AqSol/aqsol_reg_1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/AqSol/aqsol_reg_2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/AqSol/aqsol_xgb_custom_space.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/AqSol/aqsol_xgb_hpo.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/AqSol/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/abalone/abalone.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/abalone/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/pipeline_utils_check/pipeline_utils_check.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/test_data/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/test_data/test_data.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/wine_data/pipelines.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/Testing/wine_data/wine_classifier.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/pipeline_utils/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/pipeline_utils/smoke.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/plugins/models/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ml_pipelines/plugins/models/model_promotion.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/presentations/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/pyproject.toml +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/base/inference/requirements.in +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/base/inference/requirements.lock +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/base/training/requirements.in +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/base/training/requirements.lock +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/build_deploy.sh +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/deploy_all +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/ml_pipelines/ml_pipeline_runner.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/ml_pipelines/requirements.lock +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/pytorch_chem/inference/requirements.in +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/pytorch_chem/inference/requirements.lock +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/pytorch_chem/training/requirements.in +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/pytorch_chem/training/requirements.lock +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/shared/main.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/shared/serve +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/tests/data/abalone_sm.csv +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/tests/example_model_script.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/tests/run_tests.sh +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/tests/test_inference.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/sagemaker_images/tests/test_training.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/active_logs.sh +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admet/partition_aqsol_alignment.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/async_typical_usage.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/athena_ddl_mixed_case.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/backfill_autoscaling_alarm_metadata.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/backfill_prm_endpoint_tags.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/backup_data_captures.sh +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/check_all_glue_tables.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/chemprop_timing_report.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/compact_inference_cache.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/contest_audit.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/data_capture_report.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/delete_data_captures.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/delete_old_lambda_layers.sh +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/delete_redis_keys.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/deploy_plugins.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/feature_endpoint_update_check.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/find_models_with_bridges.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/find_orphan_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/find_orphan_models.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/find_orphan_parameters.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/find_orphan_tables.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/inference_cache_concurrency_check.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/ladder_quotas.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/ladder_steps.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/list_datacatalog.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/migration/TAG_MIGRATION.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/migration/migrate_legacy_tags.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/populate_activity_cliffs_reference_compounds.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/populate_reference_compounds.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/pull_image_digest.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/push_chemeleon_models.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/redis_reaper.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/reference_compounds/3d.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/reference_compounds/3d_perf.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/reference_compounds/complexity_skips.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/reference_compounds/corner_cases.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/reference_compounds/standardization.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/reference_compounds_common.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/smiles_nan_investigation.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/spam_list_tags.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/storage/convert_training_views.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/storage/copy_data_sources_across_envs.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/storage/migrate_data_source_via_df.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/storage/migrate_ds_meta.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/test_3d_descriptors.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/test_3d_endpoint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/test_batch_job_failure.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/test_no_workbench_config.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/training_job_status.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/admin/verify_async_autoscaling.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/compare_model_packages.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/endpoint_timing.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/get_tags.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/llm_deploys/deepseek_deploy.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/model_cache_refresh.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/model_endpoint_sanity_check.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/monitor_event_bridge.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/onboard_endpoints.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/onboard_models.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/pubchem/pubchem_example.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/pubchem/pubchem_query.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/pubchem/pubchem_query_with_cid.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/sagemaker_pipeline_model_endpoint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/seaborn_to_plotly.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/test_feature_set_creation.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/tox21/test_tox_heuristic.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/tox21/tox21_to_df_store.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/scripts/uq_v1_baseline_metrics.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/setup.cfg +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/bosco.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/bosco/sessions.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/bosco/tokens.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/bosco/tutorial.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/bosco/using_bosco.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/challenges/cyp_challenge.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/compounds/cheminformatics.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/compounds/compounds.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/compounds/proximity.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/core/api_classes.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/core/code_search.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/core/exploring.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/core/introspection.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/core/publishing.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/data/data_and_features.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/data/data_cleanup.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/data/pk_data.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/data/public_data.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/general.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/models/contests.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/models/feature_endpoints.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/models/hpo.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/models/local_models.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/models/making_models.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/models/promotion.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/models/uq.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/ops/batch.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/ops/endpoints.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/ops/monitoring.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/ops/pipelines.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/ui/dashboard.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/ui/interactive_apps.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/ui/plotting.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/guides/ui/plugin_pages.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/prompts/egress.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/prompts/personalities.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/agent/tools.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/data_source_eda.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/feature_space_proximity.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/fingerprint_proximity.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/multi_task_alignment.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/projection_2d.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/proximity.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/residual_features.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/smart_aggregator.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/storage/aggregation.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/storage/feature_spider.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/storage/row_tagger.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/storage/target_gradients.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/target_landscape.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/uq_model_v0.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/uq_model_v1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/dataframe/uq_model_v2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/graph/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/graph/heavy/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/graph/light/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/graph/light/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/graph/light/laplacian_smoothness.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/graph/light/path_search.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/graph/light/proximity_graph.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/models/cleanlab_model.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/models/noise_model.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/spark/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/sql/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/sql/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/sql/column_stats.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/sql/correlations.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/sql/descriptive_stats.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/sql/outliers.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/sql/sample_rows.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/algorithms/sql/value_counts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/compound.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/data_source.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/df_store.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/endpoint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/feature_set.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/graph_store.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/inference_cache.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/inference_store.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/meta.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/meta_endpoint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/model.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/monitor.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/parameter_store.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/api/reports.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/batch/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/batch/models/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/batch/models/model_promotion.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/cached/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/cached/cached_artifact_mixin.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/cached/cached_data_source.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/cached/cached_endpoint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/cached/cached_feature_set.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/cached/cached_meta.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/cached/cached_model.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/artifact.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/artifacts/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/artifacts/async_endpoint_core.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/artifacts/athena_source.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/artifacts/aws_artifact.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/artifacts/data_capture_core.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/artifacts/data_source_abstract.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/artifacts/data_source_factory.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/artifacts/endpoint_core.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/artifacts/feature_set_core.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/artifacts/model_core.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/artifacts/monitor_core.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/cloud_platform/aws/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/cloud_platform/aws/aws_account_clamp.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/cloud_platform/aws/aws_graph_store.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/cloud_platform/aws/aws_meta.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/cloud_platform/aws/aws_secrets_manager.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/cloud_platform/aws/aws_session.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/cloud_platform/aws/boto_session.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/cloud_platform/aws/cache_dataframe.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/cloud_platform/azure/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/cloud_platform/cloud_meta.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/cloud_platform/gcp/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/df_store_core.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/model_types.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/parameter_store_core.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/pipelines/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/pipelines/pipeline_meta.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_loaders/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_loaders/heavy/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_loaders/heavy/s3_heavy_to_data_source.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_loaders/light/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_loaders/light/csv_to_data_source.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_loaders/light/json_to_data_source.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_loaders/light/s3_to_data_source_light.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_data/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_data/heavy/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_data/heavy/emr/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_data/heavy/glue/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_data/light/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_data/light/clean_data.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_data/light/data_to_data_light.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_features/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_features/heavy/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_features/heavy/chunk/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_features/heavy/emr/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_features/heavy/glue/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_features/light/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_features/light/data_to_features_light.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/data_to_features/light/molecular_descriptors.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/features_to_features/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/features_to_features/heavy/emr/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/features_to_features/heavy/glue/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/features_to_model/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/features_to_model/features_to_model.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/model_to_endpoint/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/model_to_endpoint/model_to_endpoint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/pandas_transforms/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/pandas_transforms/data_to_pandas.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/pandas_transforms/features_to_pandas.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/pandas_transforms/pandas_to_data.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/pandas_transforms/pandas_to_features.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/pandas_transforms/pandas_to_features_chunked.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/transforms/transform.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/views/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/views/column_subset_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/views/computation_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/views/create_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/views/display_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/views/inference_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/views/pandas_to_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/views/view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/core/views/view_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/async_inference.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/chemprop_shap_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/chemprop_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/df_store.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/fast_inference.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/feature_space_proximity.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/fingerprint_proximity.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/fingerprints.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/inference.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/meta_endpoint_dag.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/parameter_store.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/proximity.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/pytorch_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/residual_features.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/uq_harness.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/uq_model_v0.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/uq_model_v1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/uq_model_v2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/endpoints/uq_regression.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/lambda_layer/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/lambda_layer/artifact_times.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/lambda_layer/pipeline_manager.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/local/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/local/data_source.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/local/endpoint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/local/feature_set.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/local/local_artifact.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/local/meta.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/local/model.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/local/parameter_store.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/local/storage.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/chemprop/chemprop.template +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/chemprop/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/custom_models/network_security/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/custom_models/uq_models/Readme.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/custom_models/uq_models/bayesian_ridge.template +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/custom_models/uq_models/ensemble_xgb.template +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/custom_models/uq_models/feature_space_proximity.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/custom_models/uq_models/gaussian_process.template +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/custom_models/uq_models/ngboost.template +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/custom_models/uq_models/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/custom_script_example/custom_model_script.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/custom_script_example/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/meta_endpoint/meta_endpoint.template +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/pytorch_model/pytorch.template +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/pytorch_model/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/scikit_learn/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/scikit_learn/scikit_learn.template +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/script_generation.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/xgb_model/requirements.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/model_scripts/xgb_model/xgb_model.template +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/plugin_pages/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/plugin_pages/assets/mc/render.js +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/plugin_pages/assets/mc/styles.css +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/plugin_pages/components/prediction_plot.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/plugin_pages/pages/model_comparison_page.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/plugin_pages/views/model_comparison_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/public_data.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/repl/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/repl/workbench_shell.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/bedrock_verify.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/check_double_bond_stereo.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/df_store.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/endpoint_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/ensemble_sim.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/glue_launcher.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/lambda_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/ml_pipeline_batch.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/ml_pipeline_launcher.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/ml_pipeline_sqs.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/monitor_cloud_watch.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/redis_expire.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/redis_report.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/redis_tunnel.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/show_config.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/scripts/training_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/themes/dark/base_css.url +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/themes/dark/custom.css +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/themes/dark/plotly.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/themes/light/base_css.url +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/themes/light/branding.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/themes/light/custom.css +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/themes/light/plotly.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/themes/midnight_blue/base_css.url +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/themes/midnight_blue/branding.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/themes/midnight_blue/custom.css +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/themes/midnight_blue/plotly.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/chemprop_core.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/chemprop_hpo.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/foundation_models.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/hpo_harness.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/hpo_runner.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/pytorch_core.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/pytorch_hpo.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/splits.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/training_harness.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/validation.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/xgb_core.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/training/xgb_hpo.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/aggregation_nodes.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/apps/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/apps/_serve.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/apps/pk_explorer.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/async_endpoint_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/athena_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/aws_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/batch_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/bosco_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/bulk_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/cache.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chem_utils/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chem_utils/fingerprints.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chem_utils/misc.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chem_utils/mol_descriptors.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chem_utils/mol_descriptors_3d.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chem_utils/mol_descriptors_3d_v2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chem_utils/mol_standardize.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chem_utils/mol_tagging.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chem_utils/salts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chem_utils/sdf.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chem_utils/toxicity.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chem_utils/vis.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/chemprop_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/cloudwatch_handler.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/cloudwatch_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/color_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/config_manager.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/contest_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/cow_puns.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/dashboard_metrics.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/dashboard_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/datetime_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/deprecated_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/df_to_endpoint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/distribution_stats.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/ecs_info.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/endpoint_autoscaling.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/endpoint_metrics.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/endpoint_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/ensemble_simulator.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/ensemble_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/execution_environment.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/extract_model_artifact.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/feature_endpoint_job.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/feature_prep.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/glue_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/graph_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/inference_cache_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/ipython_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/job_tracker.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/json_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/llm_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/log_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/markdown_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/meta_endpoint_dag.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/metrics_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/model_comparison.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/model_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/monitor_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/pandas_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/performance_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/pipeline_serializer.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/pipeline_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/plot_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/plots/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/plots/hpo.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/plots/neighborhood.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/plots/pk.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/plugin_manager.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/prox_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/pytorch_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/redis_cache.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/repl_color_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/repl_themes.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/repl_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/s3_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/shap_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/shapley_values.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/symbols.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/synthetic_data_generator.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/theme_manager.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/training_job_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/tree_render.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/type_abbrev.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/version_drift.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/web_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/workbench_cache.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/workbench_event_bridge.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/workbench_logging.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/workbench_sqs.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/xgboost_local_crossfold.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/utils/xgboost_model_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/component_interface.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/correlation_matrix.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/data_details_markdown.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/endpoint_metric_plots.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/molecule_tooltip.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugin_interface.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugin_unit_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/ag_table.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/confusion_explorer.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/confusion_matrix.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/confusion_triangle.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/dashboard_status.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/data_details.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/endpoint_details.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/example_plot.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/graph_plot.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/model_details.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/model_plot.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/molecule_panel.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/molecule_viewer.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/multi_task_alignment_map.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/scatter_plot.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/plugins/shap_summary_plot.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/settings_menu.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/components/violin_plots.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/page_views/contests_page_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/page_views/data_sources_page_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/page_views/endpoints_page_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/page_views/feature_sets_page_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/page_views/main_page.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/page_views/ml_pipelines_page_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/page_views/models_page_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/page_views/page_view.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/themed_dash.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/utils/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/utils/clientside_callbacks.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench/web_interface/utils/page_callbacks.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench.egg-info/SOURCES.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench.egg-info/dependency_links.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench.egg-info/entry_points.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench.egg-info/requires.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench.egg-info/scm_file_list.json +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/src/workbench.egg-info/top_level.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_aqsol_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_aqsol_artifacts_all.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_aqsol_rt_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_basic_test_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_copy_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_empty_model_group.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_endpoints_for_timing.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_graph_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_knn_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_meta_endpoints.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_proximity_models.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_quant_regression_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_realtime_endpoint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_sagemaker_pipeline_model.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_training_adjusted_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_uq_compare_models.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/create_wine_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/delete_stress_test_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/delete_test_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/hyper_testing.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/local_artifacts/create_local_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/local_artifacts/delete_local_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/local_artifacts/publish_local_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/regression_ensemble.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/test_artifacts/stress_test_aws.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/README.md +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/agent/test_bosco_dispatch.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/agent/test_guide_api_references.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/agent/test_guide_structure.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/agent/test_run_python_log_capture.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/agent/test_web_guard.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/algorithms/dataframe/test_multi_task_alignment.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/algorithms/dataframe/test_proximity_neighbors.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/algorithms/dataframe/test_target_landscape.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/artifacts/data_source_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/artifacts/empty_model_group.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/artifacts/featureset_ingest_boundaries.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/artifacts/featureset_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/artifacts/graph_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/artifacts/meta_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/artifacts/model_metrics_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/artifacts/model_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/aws_account/aws_account_clamp_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/cached/cached_artifact_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/cached/cached_meta_api_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/cached/cached_meta_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/chem_info/test_complexity_cost_guard.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/chem_info/test_conformer_energies.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/chem_info/test_descriptors_3d_v2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/chem_info/test_standardization_reference.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/chem_info/test_tagging_reference.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/chem_info/test_tautomerization.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/chem_info/test_vis_diff.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/confidence/test_uq_harness.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/corner_cases/end_to_end.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/df_store/df_store_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/df_store/reports_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/endpoints/endpoint_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/endpoints/inference_cache_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/endpoints/meta_endpoint_dag_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/endpoints/pytorch_utils_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/endpoints/test_async_idempotent.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/endpoints/test_async_passthrough.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/endpoints/test_async_warmup.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/endpoints/test_capture_inference_metrics.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/endpoints/test_cold_start_retry.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/endpoints/test_multi_target_remap.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/feature_endpoints/test_3d_complexity_skips.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/feature_endpoints/test_3d_corner_cases.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/feature_endpoints/test_3d_timing.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/feature_endpoints/test_smiles_to_3d_v1.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/lambda_layer/test_layer_dependencies.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/local/test_aws_parity.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/local/test_feature_endpoint_job.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/local/test_job_tracker.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/local/test_local_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/local/test_local_endpoint.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/local/test_local_model.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/local/test_local_parameter_store.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/local/test_local_prox.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/local/test_publish.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/pandas_tests/test_convert_column_types.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/pandas_tests/test_drift.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/pandas_tests/test_multi_task.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/pandas_tests/test_target_health.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/pandas_tests/test_temporal_split.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/parameter_store/param_store_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/pipelines/test_pipeline_launcher.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/pipelines/test_pipeline_manager.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/pipelines/test_pipeline_meta.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/pipelines/test_pipeline_serializer.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/plugin_tests/crashing_plugin.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/pytorch/pytorch_hello.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/requirements-dev.txt +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/specific/capital_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/specific/column_changes.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/specific/config_manager.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/specific/deletion_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/specific/feature_ingest_multiprocessing_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/specific/public_data_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/specific/shap_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/specific/tag_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/chemprop_hpo_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/conftest.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/hpo_harness_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/hpo_ray_trials.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/hpo_runner_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/instance_ladder_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/pytorch_core_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/pytorch_hpo_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/script_generation_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/search_space_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/splits_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/test_analog_holdout_split.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/training/xgb_hpo_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/transforms/data_to_data_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/transforms/data_to_features_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/transforms/features_to_model_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/transforms/model_to_endpoint_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/transforms/pandas_to_data_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/transforms/pandas_to_features_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/uq/__init__.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/uq/conftest.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/uq/fixtures.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/uq/test_backend_selection.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/uq/test_conformal_calibration.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/uq/test_multi_target_uq.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_apps_pk_explorer.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_bootstrap_metrics.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_capture_content_types.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_ensemble_simulator.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_ensemble_utils.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_execution_environment.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_hpo_importance.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_hpo_search_space.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_llm_provider.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_markdown_display.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_model_artifacts.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_model_comparison.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_placement_metrics.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_plots_hpo.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_plots_pk.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_sample_weights.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_soft_threshold_rae.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_training_utilization.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/utils/test_tree_render.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/validation/chemprop_validation_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/validation/pytorch_validation_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/validation/row_roles_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/validation/validation_split_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/validation/xgb_validation_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/views/view_tests.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/views/view_tests_complex.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/web_components/confusion_matrix_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/web_components/correlation_matrix_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/web_components/graph_plot_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/web_components/plugin_interface_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tests/web_components/scatter_plot_test.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/tox.ini +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ui_testing/assets/custom.css +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ui_testing/table_comparison.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ui_testing/theme_switching.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/ui_testing/theme_switching_2.py +0 -0
- {workbench-0.8.485 → workbench-0.8.486}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: workbench
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.486
|
|
4
4
|
Summary: Workbench: A Dashboard and Python API for creating and deploying AWS SageMaker Model Pipelines
|
|
5
5
|
Author-email: SuperCowPowers LLC <support@supercowpowers.com>
|
|
6
6
|
License: MIT License
|
|
@@ -29,7 +29,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
|
|
29
29
|
-r /tmp/requirements.lock
|
|
30
30
|
|
|
31
31
|
# Layer 2: Workbench only (changes often, ~20 MB)
|
|
32
|
-
ARG WORKBENCH_VERSION=0.8.
|
|
32
|
+
ARG WORKBENCH_VERSION=0.8.485
|
|
33
33
|
RUN pip install --no-deps "workbench==${WORKBENCH_VERSION}"
|
|
34
34
|
|
|
35
35
|
# Copy app code and configuration (after pip installs to avoid cache invalidation)
|
|
@@ -26,7 +26,7 @@ WORKBENCH_ROOT="$(cd "$SCRIPT_DIR/.." &> /dev/null && pwd)"
|
|
|
26
26
|
AWS_ACCOUNT_ID="507740646243"
|
|
27
27
|
REGION_LIST=("us-east-1" "us-west-2")
|
|
28
28
|
PYTHON_VERSION="3.12"
|
|
29
|
-
WORKBENCH_VERSION=0.8.
|
|
29
|
+
WORKBENCH_VERSION=0.8.485 # keep in lockstep with the image's ARG WORKBENCH_VERSION
|
|
30
30
|
LAMBDA_ARCH="manylinux2014_x86_64"
|
|
31
31
|
|
|
32
32
|
GREEN='\033[0;32m'
|
|
@@ -33,7 +33,7 @@ COPY --from=builder /usr/local/lib/python3.12/site-packages /usr/local/lib/pytho
|
|
|
33
33
|
COPY --from=builder /usr/local/bin /usr/local/bin
|
|
34
34
|
|
|
35
35
|
# Layer 2: Workbench — rebuilds per version bump, ~20 MB delta.
|
|
36
|
-
ARG WORKBENCH_VERSION=0.8.
|
|
36
|
+
ARG WORKBENCH_VERSION=0.8.485
|
|
37
37
|
RUN pip install --no-deps "workbench==${WORKBENCH_VERSION}"
|
|
38
38
|
|
|
39
39
|
# Add the shared serve script
|
|
@@ -32,5 +32,5 @@ COPY --from=builder /usr/local/lib/python3.12/site-packages /usr/local/lib/pytho
|
|
|
32
32
|
COPY --from=builder /usr/local/bin /usr/local/bin
|
|
33
33
|
|
|
34
34
|
# Layer 2: Workbench — rebuilds per version bump, ~20 MB delta.
|
|
35
|
-
ARG WORKBENCH_VERSION=0.8.
|
|
35
|
+
ARG WORKBENCH_VERSION=0.8.485
|
|
36
36
|
RUN pip install --no-deps "workbench==${WORKBENCH_VERSION}"
|
|
@@ -46,7 +46,7 @@ COPY --from=builder /usr/local/lib/python3.12/site-packages /usr/local/lib/pytho
|
|
|
46
46
|
COPY --from=builder /usr/local/bin /usr/local/bin
|
|
47
47
|
|
|
48
48
|
# Layer 2: Workbench (changes often, small layer)
|
|
49
|
-
ARG WORKBENCH_VERSION=0.8.
|
|
49
|
+
ARG WORKBENCH_VERSION=0.8.485
|
|
50
50
|
RUN pip install --no-deps "workbench==${WORKBENCH_VERSION}"
|
|
51
51
|
|
|
52
52
|
# Layer 3: App code (tiny, changes rarely)
|
|
@@ -43,7 +43,7 @@ COPY --from=builder /usr/local/lib/python3.12/site-packages /usr/local/lib/pytho
|
|
|
43
43
|
COPY --from=builder /usr/local/bin /usr/local/bin
|
|
44
44
|
|
|
45
45
|
# Layer 2: Workbench — rebuilds per version bump, ~20 MB delta.
|
|
46
|
-
ARG WORKBENCH_VERSION=0.8.
|
|
46
|
+
ARG WORKBENCH_VERSION=0.8.485
|
|
47
47
|
RUN pip install --no-deps "workbench==${WORKBENCH_VERSION}"
|
|
48
48
|
|
|
49
49
|
# Add the shared serve script
|
|
@@ -39,5 +39,5 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
|
|
39
39
|
-r /tmp/requirements.lock
|
|
40
40
|
|
|
41
41
|
# Layer 2: Workbench — rebuilds per version bump, ~20 MB delta.
|
|
42
|
-
ARG WORKBENCH_VERSION=0.8.
|
|
42
|
+
ARG WORKBENCH_VERSION=0.8.485
|
|
43
43
|
RUN pip install --no-deps "workbench==${WORKBENCH_VERSION}"
|
|
@@ -57,7 +57,7 @@ def main():
|
|
|
57
57
|
|
|
58
58
|
# Auto-detect id / target / fingerprint columns
|
|
59
59
|
cols = list(df.columns)
|
|
60
|
-
id_candidates = [c for c in cols if c.lower() in ("id", "
|
|
60
|
+
id_candidates = [c for c in cols if c.lower() in ("id", "molregno", "compound_id")]
|
|
61
61
|
id_column = id_candidates[0] if id_candidates else cols[0]
|
|
62
62
|
target_col = "logp" if "logp" in cols else next((c for c in cols if "logp" in c.lower()), None)
|
|
63
63
|
if target_col is None:
|
|
@@ -24,4 +24,4 @@ old_df = old_df[~old_df["smiles"].isin([old_error_smiles_1, old_error_smiles_2])
|
|
|
24
24
|
new_df = new_df[~new_df["smiles"].isin([old_error_smiles_1, old_error_smiles_2])]
|
|
25
25
|
|
|
26
26
|
# Compare the dataframes
|
|
27
|
-
comparison = compare_dataframes(old_df, new_df, ["
|
|
27
|
+
comparison = compare_dataframes(old_df, new_df, ["compound_id", "smiles"])
|
|
@@ -23,18 +23,21 @@ validate_multi_task_data(df, target_columns=["logs", "logd"], id_column="id")
|
|
|
23
23
|
several sources gets all its targets on one row. `merge_on_smiles=True` joins external
|
|
24
24
|
data with no shared id namespace.
|
|
25
25
|
- **`pull_multi_task_data`** — the same, sourced from FeatureSets rather than frames.
|
|
26
|
-
Each source takes a `target_info
|
|
27
|
-
rename map
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
Each source takes a `target_info`: a list of columns or a `{src_col: output_col}`
|
|
27
|
+
rename map. Only columns every source has survive as shared features, so a public
|
|
28
|
+
source without `project_code` drops it for every row. List such columns in
|
|
29
|
+
`metadata`: each is taken from whichever sources have it (NaN elsewhere), collapses
|
|
30
|
+
to the first non-NaN value per row, and logs conflicting values.
|
|
30
31
|
|
|
31
32
|
```python
|
|
32
33
|
df = pull_multi_task_data(
|
|
33
34
|
{
|
|
34
|
-
"logd_f1": {"target_info": {"
|
|
35
|
-
"pka_a1_f1": {"target_info": {"
|
|
35
|
+
"logd_f1": {"target_info": {"assay_value": "logd"}},
|
|
36
|
+
"pka_a1_f1": {"target_info": {"assay_value": "pka_a1"}},
|
|
36
37
|
},
|
|
37
|
-
|
|
38
|
+
{"logp_public": {"target_info": ["logp"], "src_id_col": "id"}},
|
|
39
|
+
id_column="compound_id",
|
|
40
|
+
metadata=["project_code"],
|
|
38
41
|
)
|
|
39
42
|
```
|
|
40
43
|
- **`validate_multi_task_data`** — null/duplicate ids, missing smiles, empty targets,
|
|
@@ -195,7 +195,9 @@ def combine_multi_task_data(
|
|
|
195
195
|
for df in dataframes:
|
|
196
196
|
for col in df.columns:
|
|
197
197
|
if col not in col_dtypes and not df[col].isna().all():
|
|
198
|
-
|
|
198
|
+
# These dtypes fill all-NA columns, so int/bool map to their nullable forms
|
|
199
|
+
dtype = df[col].dtype
|
|
200
|
+
col_dtypes[col] = {"i": "Int64", "u": "UInt64", "b": "boolean"}.get(dtype.kind, dtype)
|
|
199
201
|
|
|
200
202
|
aligned_dfs = []
|
|
201
203
|
for df, targets, passthrough in zip(dataframes, target_columns, passthrough_columns):
|
|
@@ -229,7 +231,12 @@ def combine_multi_task_data(
|
|
|
229
231
|
agg_dict = {c: "mean" for c in numeric_cols}
|
|
230
232
|
agg_dict.update({c: "max" for c in date_cols})
|
|
231
233
|
agg_dict.update({c: "first" for c in other_cols})
|
|
232
|
-
|
|
234
|
+
grouped = result.groupby(merge_key)
|
|
235
|
+
for c in [p for p in all_passthrough if p in other_cols]:
|
|
236
|
+
n_conflict = (grouped[c].nunique() > 1).sum()
|
|
237
|
+
if n_conflict:
|
|
238
|
+
log.warning(f"'{c}': {n_conflict} molecules have conflicting values; keeping the first")
|
|
239
|
+
result = grouped.agg(agg_dict).reset_index()
|
|
233
240
|
log.info(f"Collapsing {n_before} rows -> {len(result)} ({len(dup_ids)} molecules appear in multiple sources)")
|
|
234
241
|
|
|
235
242
|
# --- Step 3b: Drop rows with no supervision ---
|
|
@@ -280,6 +287,7 @@ def pull_multi_task_data(
|
|
|
280
287
|
smiles_based_sources: dict = None,
|
|
281
288
|
id_column: str = "id",
|
|
282
289
|
date_col: str | None = None,
|
|
290
|
+
metadata: list[str] | None = None,
|
|
283
291
|
) -> pd.DataFrame:
|
|
284
292
|
"""Pull and combine multiple FeatureSets into a multi-task DataFrame.
|
|
285
293
|
|
|
@@ -291,7 +299,6 @@ def pull_multi_task_data(
|
|
|
291
299
|
Each source config is a dict shaped like:
|
|
292
300
|
{
|
|
293
301
|
"target_info": {<src_col>: <output_col>, ...} | [<col>, ...] # required; rename map or as-named list
|
|
294
|
-
"metadata": [<col>, ...] # optional; non-target columns to keep
|
|
295
302
|
"src_id_col": "<non_default_id_column>" # optional; FS id column, if not id_column
|
|
296
303
|
"df": <DataFrame> # optional; use this frame, not the FS
|
|
297
304
|
}
|
|
@@ -300,12 +307,6 @@ def pull_multi_task_data(
|
|
|
300
307
|
per-source date column and the log line), so any source already in hand —
|
|
301
308
|
a DataSource pull, a local file — can join the merge.
|
|
302
309
|
|
|
303
|
-
Metadata columns pass through as-named and merge like targets (NaN for rows
|
|
304
|
-
the source doesn't cover) but are not tasks: no target diagnostics, and they
|
|
305
|
-
don't keep an otherwise target-less row alive. A column listed by several
|
|
306
|
-
sources collapses to one, holding the first non-NaN value per row (in source
|
|
307
|
-
order).
|
|
308
|
-
|
|
309
310
|
Args:
|
|
310
311
|
id_based_sources: Mapping from FeatureSet name to source config.
|
|
311
312
|
Primary task convention: the first entry is treated as primary by
|
|
@@ -314,7 +315,7 @@ def pull_multi_task_data(
|
|
|
314
315
|
on canonical SMILES rather than id_column. Defaults to None / empty.
|
|
315
316
|
id_column: Canonical id column name across the id-based sources.
|
|
316
317
|
Defaults to "id".
|
|
317
|
-
date_col: Optional name of a per-source date column (e.g. "
|
|
318
|
+
date_col: Optional name of a per-source date column (e.g. "assay_date")
|
|
318
319
|
shared across all sources. When set, each source's date is carried
|
|
319
320
|
through the merge as a private per-source column and then collapsed
|
|
320
321
|
post-merge as the row-wise max into the canonical `date_col`. This
|
|
@@ -330,6 +331,12 @@ def pull_multi_task_data(
|
|
|
330
331
|
(no special date handling — `date_col` would flow through as a
|
|
331
332
|
shared feature and collapse to an arbitrary "first" value across
|
|
332
333
|
sources, which is unsafe for temporal splits).
|
|
334
|
+
metadata: Optional non-target columns to keep in the output, taken from
|
|
335
|
+
every source that has them. Unlike shared features, they survive a
|
|
336
|
+
source that lacks them (e.g. public data), which contributes NaN.
|
|
337
|
+
Each collapses to the first non-NaN value per row, in source order,
|
|
338
|
+
and conflicting values are logged. Raises if a column is in no
|
|
339
|
+
source. Defaults to None.
|
|
333
340
|
|
|
334
341
|
Returns:
|
|
335
342
|
Combined multi-task DataFrame from `combine_multi_task_data`, with all
|
|
@@ -340,6 +347,7 @@ def pull_multi_task_data(
|
|
|
340
347
|
from workbench.api import FeatureSet
|
|
341
348
|
|
|
342
349
|
smiles_based_sources = smiles_based_sources or {}
|
|
350
|
+
metadata = metadata or []
|
|
343
351
|
|
|
344
352
|
def _pull_and_normalize(
|
|
345
353
|
fs_name: str, fs_config: dict, date_required: bool = True
|
|
@@ -367,7 +375,7 @@ def pull_multi_task_data(
|
|
|
367
375
|
target_cols = list(target_info)
|
|
368
376
|
|
|
369
377
|
# Metadata rides the merge as passthrough columns
|
|
370
|
-
passthrough_cols
|
|
378
|
+
passthrough_cols = [c for c in metadata if c in df.columns]
|
|
371
379
|
|
|
372
380
|
# Carry per-source date through the merge as a private, source-specific
|
|
373
381
|
# column. If left as a shared feature, the outer-join collapse would
|
|
@@ -426,6 +434,10 @@ def pull_multi_task_data(
|
|
|
426
434
|
merged_targets.extend(target_cols)
|
|
427
435
|
merged_passthrough.extend(p for p in passthrough_cols if p not in merged_passthrough)
|
|
428
436
|
|
|
437
|
+
missing_metadata = [c for c in metadata if c not in merged.columns]
|
|
438
|
+
if missing_metadata:
|
|
439
|
+
raise ValueError(f"Metadata columns not found in any source: {missing_metadata}")
|
|
440
|
+
|
|
429
441
|
# Synthesize the canonical date as the row-wise max of all per-source
|
|
430
442
|
# dates. Holding out on the latest date across any task ensures no future
|
|
431
443
|
# information leaks into training through any auxiliary task.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: workbench
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.486
|
|
4
4
|
Summary: Workbench: A Dashboard and Python API for creating and deploying AWS SageMaker Model Pipelines
|
|
5
5
|
Author-email: SuperCowPowers LLC <support@supercowpowers.com>
|
|
6
6
|
License: MIT License
|
|
@@ -8,6 +8,7 @@ temporal-date handling — in particular the id-strict / smiles-lenient rule for
|
|
|
8
8
|
source that lacks the date column.
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
|
+
import logging
|
|
11
12
|
import sys
|
|
12
13
|
import types
|
|
13
14
|
|
|
@@ -180,21 +181,21 @@ def test_combine_smiles_merge():
|
|
|
180
181
|
# validate_multi_task_data
|
|
181
182
|
# ----------------------------------------------------------------------------
|
|
182
183
|
def test_validate_clean_passes():
|
|
183
|
-
df = pd.DataFrame({"
|
|
184
|
+
df = pd.DataFrame({"compound_id": ["1", "2", "3"], "smiles": ["CC", "CCC", "CCCC"], "t": [1.0, np.nan, 3.0]})
|
|
184
185
|
# Should not raise
|
|
185
|
-
validate_multi_task_data(df, ["t"], id_column="
|
|
186
|
+
validate_multi_task_data(df, ["t"], id_column="compound_id")
|
|
186
187
|
|
|
187
188
|
|
|
188
189
|
def test_validate_duplicate_ids_raise():
|
|
189
|
-
df = pd.DataFrame({"
|
|
190
|
+
df = pd.DataFrame({"compound_id": ["1", "1"], "smiles": ["CC", "CCC"], "t": [1.0, 2.0]})
|
|
190
191
|
with pytest.raises(ValueError, match="duplicate"):
|
|
191
|
-
validate_multi_task_data(df, ["t"], id_column="
|
|
192
|
+
validate_multi_task_data(df, ["t"], id_column="compound_id")
|
|
192
193
|
|
|
193
194
|
|
|
194
195
|
def test_validate_missing_target_raises():
|
|
195
|
-
df = pd.DataFrame({"
|
|
196
|
+
df = pd.DataFrame({"compound_id": ["1", "2"], "smiles": ["CC", "CCC"], "t": [1.0, 2.0]})
|
|
196
197
|
with pytest.raises(ValueError, match="missing"):
|
|
197
|
-
validate_multi_task_data(df, ["t", "does_not_exist"], id_column="
|
|
198
|
+
validate_multi_task_data(df, ["t", "does_not_exist"], id_column="compound_id")
|
|
198
199
|
|
|
199
200
|
|
|
200
201
|
# ----------------------------------------------------------------------------
|
|
@@ -205,18 +206,18 @@ def test_pull_date_synthesis_row_wise_max(monkeypatch):
|
|
|
205
206
|
frames = {
|
|
206
207
|
"src_a": pd.DataFrame(
|
|
207
208
|
{
|
|
208
|
-
"
|
|
209
|
+
"compound_id": ["1", "2"],
|
|
209
210
|
"smiles": ["CC", "CCC"],
|
|
210
211
|
"ta": [10.0, 20.0],
|
|
211
|
-
"
|
|
212
|
+
"assay_date": ["2024-01-01", "2025-12-01"],
|
|
212
213
|
}
|
|
213
214
|
),
|
|
214
215
|
"src_b": pd.DataFrame(
|
|
215
216
|
{
|
|
216
|
-
"
|
|
217
|
+
"compound_id": ["2", "3"],
|
|
217
218
|
"smiles": ["CCC", "CCCC"],
|
|
218
219
|
"tb": [30.0, 40.0],
|
|
219
|
-
"
|
|
220
|
+
"assay_date": ["2025-12-31", "2023-01-01"],
|
|
220
221
|
}
|
|
221
222
|
),
|
|
222
223
|
}
|
|
@@ -224,14 +225,14 @@ def test_pull_date_synthesis_row_wise_max(monkeypatch):
|
|
|
224
225
|
|
|
225
226
|
out = pull_multi_task_data(
|
|
226
227
|
{"src_a": {"target_info": ["ta"]}, "src_b": {"target_info": ["tb"]}},
|
|
227
|
-
id_column="
|
|
228
|
-
date_col="
|
|
228
|
+
id_column="compound_id",
|
|
229
|
+
date_col="assay_date",
|
|
229
230
|
)
|
|
230
231
|
|
|
231
232
|
# Synthesized date is a plain YYYY-MM-DD string (not datetime64) so it stores
|
|
232
233
|
# verbatim via PandasToFeatures and round-trips through a tz-naive temporal split.
|
|
233
|
-
assert out["
|
|
234
|
-
dates = dict(zip(out["
|
|
234
|
+
assert out["assay_date"].dtype == object
|
|
235
|
+
dates = dict(zip(out["compound_id"], out["assay_date"]))
|
|
235
236
|
# id 2 is in both sources -> max(2025-12-01, 2025-12-31) = 2025-12-31
|
|
236
237
|
assert dates["2"] == "2025-12-31"
|
|
237
238
|
assert dates["1"] == "2024-01-01"
|
|
@@ -243,16 +244,16 @@ def test_pull_date_synthesis_row_wise_max(monkeypatch):
|
|
|
243
244
|
def test_pull_id_source_missing_date_raises(monkeypatch):
|
|
244
245
|
"""An ID-based (internal) source missing date_col fails loudly — likely a typo."""
|
|
245
246
|
frames = {
|
|
246
|
-
"src_a": pd.DataFrame({"
|
|
247
|
-
"src_no_date": pd.DataFrame({"
|
|
247
|
+
"src_a": pd.DataFrame({"compound_id": ["1"], "smiles": ["CC"], "ta": [1.0], "assay_date": ["2024-01-01"]}),
|
|
248
|
+
"src_no_date": pd.DataFrame({"compound_id": ["1"], "smiles": ["CC"], "tb": [2.0]}),
|
|
248
249
|
}
|
|
249
250
|
_install_fake_feature_set(monkeypatch, frames)
|
|
250
251
|
|
|
251
252
|
with pytest.raises(ValueError, match="missing required date_col"):
|
|
252
253
|
pull_multi_task_data(
|
|
253
254
|
{"src_a": {"target_info": ["ta"]}, "src_no_date": {"target_info": ["tb"]}},
|
|
254
|
-
id_column="
|
|
255
|
-
date_col="
|
|
255
|
+
id_column="compound_id",
|
|
256
|
+
date_col="assay_date",
|
|
256
257
|
)
|
|
257
258
|
|
|
258
259
|
|
|
@@ -264,13 +265,13 @@ def test_pull_smiles_source_missing_date_is_training(monkeypatch):
|
|
|
264
265
|
frames = {
|
|
265
266
|
"ppb": pd.DataFrame(
|
|
266
267
|
{
|
|
267
|
-
"
|
|
268
|
+
"compound_id": ["1", "2"],
|
|
268
269
|
"smiles": ["CCO", "CCC"],
|
|
269
270
|
"ppb_human": [10.0, 20.0],
|
|
270
|
-
"
|
|
271
|
+
"assay_date": ["2024-01-01", "2026-01-01"], # id 2 is post-cutoff
|
|
271
272
|
}
|
|
272
273
|
),
|
|
273
|
-
# public LogP: 'id' identifier, no
|
|
274
|
+
# public LogP: 'id' identifier, no assay_date
|
|
274
275
|
"logp_public": pd.DataFrame(
|
|
275
276
|
{"id": ["a", "b", "c"], "smiles": ["CCO", "CCCC", "CCCCC"], "logp": [1.0, 2.0, 3.0]}
|
|
276
277
|
),
|
|
@@ -280,91 +281,84 @@ def test_pull_smiles_source_missing_date_is_training(monkeypatch):
|
|
|
280
281
|
out = pull_multi_task_data(
|
|
281
282
|
{"ppb": {"target_info": ["ppb_human"]}},
|
|
282
283
|
{"logp_public": {"target_info": ["logp"], "src_id_col": "id"}},
|
|
283
|
-
id_column="
|
|
284
|
-
date_col="
|
|
284
|
+
id_column="compound_id",
|
|
285
|
+
date_col="assay_date",
|
|
285
286
|
)
|
|
286
287
|
|
|
287
288
|
# Public-only molecules (CCCC, CCCCC) have no date -> NaT
|
|
288
289
|
public_only = out[out["logp"].notna() & out["ppb_human"].isna()]
|
|
289
290
|
assert len(public_only) == 2
|
|
290
|
-
assert public_only["
|
|
291
|
+
assert public_only["assay_date"].isna().all()
|
|
291
292
|
|
|
292
293
|
# The CCO molecule overlaps the internal compound -> carries the internal date
|
|
293
294
|
cco = out[out["smiles"].str.contains("O", na=False)].iloc[0]
|
|
294
295
|
assert cco["ppb_human"] == 10.0 and cco["logp"] == 1.0
|
|
295
|
-
assert pd.to_datetime(cco["
|
|
296
|
+
assert pd.to_datetime(cco["assay_date"]) == pd.Timestamp("2024-01-01")
|
|
296
297
|
|
|
297
298
|
# Temporal split: only the post-cutoff internal compound is held out; the
|
|
298
299
|
# date-less public rows fall to the training side (NaT is neither <= nor > cutoff).
|
|
299
|
-
_train, holdout = temporal_split(out, "
|
|
300
|
-
assert set(holdout["
|
|
300
|
+
_train, holdout = temporal_split(out, "assay_date", end_date="2025-10-17")
|
|
301
|
+
assert set(holdout["compound_id"]) == {"2"}
|
|
301
302
|
|
|
302
303
|
|
|
303
304
|
# ----------------------------------------------------------------------------
|
|
304
305
|
# pull_multi_task_data — metadata columns
|
|
305
306
|
# ----------------------------------------------------------------------------
|
|
306
|
-
def
|
|
307
|
-
"""
|
|
307
|
+
def test_pull_metadata_coalesces_across_sources(monkeypatch, caplog):
|
|
308
|
+
"""Metadata from every source collapses to one column: first non-NaN, in source order, conflicts logged."""
|
|
308
309
|
frames = {
|
|
309
310
|
"src_a": pd.DataFrame(
|
|
310
|
-
{"
|
|
311
|
+
{"compound_id": ["1", "2"], "smiles": ["CC", "CCC"], "ta": [1.0, 2.0], "qual": ["=", ">"], "n": [5, 6]}
|
|
311
312
|
),
|
|
312
313
|
"src_b": pd.DataFrame(
|
|
313
|
-
{"
|
|
314
|
+
{"compound_id": ["2", "3"], "smiles": ["CCC", "CCCC"], "tb": [3.0, 4.0], "qual": ["<", "="]}
|
|
314
315
|
),
|
|
315
316
|
}
|
|
316
317
|
_install_fake_feature_set(monkeypatch, frames)
|
|
318
|
+
# workbench logger has propagate=False, so attach caplog's handler directly.
|
|
319
|
+
monkeypatch.setattr(logging.getLogger("workbench"), "handlers", [caplog.handler])
|
|
317
320
|
|
|
318
321
|
out = pull_multi_task_data(
|
|
319
|
-
{
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
},
|
|
323
|
-
id_column="udm_mol_bat_id",
|
|
322
|
+
{"src_a": {"target_info": ["ta"]}, "src_b": {"target_info": ["tb"]}},
|
|
323
|
+
id_column="compound_id",
|
|
324
|
+
metadata=["qual", "n"],
|
|
324
325
|
)
|
|
325
326
|
|
|
326
|
-
rows = out.set_index("
|
|
327
|
-
assert rows
|
|
328
|
-
|
|
329
|
-
assert
|
|
327
|
+
rows = out.set_index("compound_id")
|
|
328
|
+
assert list(rows["qual"]) == ["=", ">", "="]
|
|
329
|
+
# 'n' is only in src_a: it survives the merge (a shared feature would be dropped), NaN for id 3
|
|
330
|
+
assert rows.loc["1", "n"] == 5 and rows.loc["2", "n"] == 6 and pd.isna(rows.loc["3", "n"])
|
|
331
|
+
# id 2's sources disagree on 'qual', so the conflict is logged
|
|
332
|
+
assert "'qual': 1 molecules have conflicting values" in caplog.text
|
|
330
333
|
|
|
331
334
|
|
|
332
|
-
def
|
|
333
|
-
"""
|
|
335
|
+
def test_pull_metadata_survives_public_source(monkeypatch):
|
|
336
|
+
"""A SMILES-based source lacking a metadata column keeps the internal values, NaN for public-only rows."""
|
|
337
|
+
pytest.importorskip("rdkit") # the smiles pass standardizes SMILES
|
|
334
338
|
frames = {
|
|
335
|
-
"
|
|
336
|
-
{"
|
|
337
|
-
),
|
|
338
|
-
"src_b": pd.DataFrame(
|
|
339
|
-
{"udm_mol_bat_id": ["2", "3"], "smiles": ["CCC", "CCCC"], "tb": [3.0, 4.0], "qual": ["<", "="], "n": [9, 7]}
|
|
339
|
+
"internal": pd.DataFrame(
|
|
340
|
+
{"compound_id": ["1", "2"], "smiles": ["CCO", "CCC"], "ta": [1.0, 2.0], "project_code": ["P1", "P2"]}
|
|
340
341
|
),
|
|
342
|
+
"public": pd.DataFrame({"id": ["a", "b"], "smiles": ["CCO", "CCCC"], "logp": [0.5, 2.0]}),
|
|
341
343
|
}
|
|
342
344
|
_install_fake_feature_set(monkeypatch, frames)
|
|
343
345
|
|
|
344
346
|
out = pull_multi_task_data(
|
|
345
|
-
{
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
id_column="udm_mol_bat_id",
|
|
347
|
+
{"internal": {"target_info": ["ta"]}},
|
|
348
|
+
{"public": {"target_info": ["logp"], "src_id_col": "id"}},
|
|
349
|
+
id_column="compound_id",
|
|
350
|
+
metadata=["project_code"],
|
|
350
351
|
)
|
|
351
352
|
|
|
352
|
-
|
|
353
|
-
assert
|
|
354
|
-
|
|
355
|
-
assert list(rows["n"]) == [5, 6, 7]
|
|
353
|
+
prj = dict(zip(out["smiles"], out["project_code"]))
|
|
354
|
+
assert prj["CCO"] == "P1" and prj["CCC"] == "P2"
|
|
355
|
+
assert pd.isna(prj["CCCC"])
|
|
356
356
|
|
|
357
357
|
|
|
358
|
-
def
|
|
359
|
-
"""A metadata column
|
|
360
|
-
frames = {
|
|
361
|
-
"src_a": pd.DataFrame({"udm_mol_bat_id": ["1"], "smiles": ["CC"], "ta": [1.0]}),
|
|
362
|
-
"src_b": pd.DataFrame({"udm_mol_bat_id": ["1"], "smiles": ["CC"], "tb": [2.0], "ta": [3.0]}),
|
|
363
|
-
}
|
|
358
|
+
def test_pull_metadata_missing_everywhere_raises(monkeypatch):
|
|
359
|
+
"""A metadata column found in no source is almost always a typo."""
|
|
360
|
+
frames = {"src_a": pd.DataFrame({"compound_id": ["1"], "smiles": ["CC"], "ta": [1.0]})}
|
|
364
361
|
_install_fake_feature_set(monkeypatch, frames)
|
|
365
362
|
|
|
366
|
-
with pytest.raises(ValueError, match="
|
|
367
|
-
pull_multi_task_data(
|
|
368
|
-
{"src_a": {"target_info": ["ta"]}, "src_b": {"target_info": ["tb"], "metadata": ["ta"]}},
|
|
369
|
-
id_column="udm_mol_bat_id",
|
|
370
|
-
)
|
|
363
|
+
with pytest.raises(ValueError, match="not found in any source"):
|
|
364
|
+
pull_multi_task_data({"src_a": {"target_info": ["ta"]}}, id_column="compound_id", metadata=["typo"])
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/assets/contests/render.js
RENAMED
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/assets/contests/styles.css
RENAMED
|
File without changes
|
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/assets/ml_pipelines/render.js
RENAMED
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/assets/ml_pipelines/styles.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/contests/callbacks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/data_sources/callbacks.py
RENAMED
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/data_sources/layout.py
RENAMED
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/data_sources/page.py
RENAMED
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/endpoints/callbacks.py
RENAMED
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/endpoints/layout.py
RENAMED
|
File without changes
|
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/feature_sets/callbacks.py
RENAMED
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/feature_sets/layout.py
RENAMED
|
File without changes
|
{workbench-0.8.485 → workbench-0.8.486}/applications/aws_dashboard/pages/feature_sets/page.py
RENAMED
|
File without changes
|