Skip to content

Release 0.8.339

Need Help?

The SuperCowPowers team is happy to give any assistance needed when setting up AWS and Workbench. So please contact us at workbench@supercowpowers.com or on chat us up on Discord

The Workbench framework continues to flex to support different real world use cases for creating, managing, and deploying large collections of machine learning pipelines.

General

Consolidate workbench-bridges into workbench

Folds the entire workbench-bridges package into workbench, drops the cross-repo dependency, and restructures pyproject.toml so an endpoint-safe install (no extras) gets only what an inference container needs. Eliminates the symlink/dual-import gymnastics that the UQ refactor needed to ship classes into endpoint bundles.

Layout changes

  • New workbench/endpoints/ subpackage holds both client-side (fast_inference, async_inference) and server-side (inference, training_harness, uq_harness, pytorch_utils, chemprop_shap_utils) endpoint runtime code. The old workbench/model_script_utils/ and its 5 symlinks are deleted.
  • Bridges' api/utils/core classes moved to natural workbench locations:
    • workbench/core/parameter_store_core.py (endpoint-safe core)
    • workbench/core/df_store_core.py (endpoint-safe core; the artifacts/df_store_core.py subclass now uses ConfigManager + AWSAccountClamp on top)
    • workbench/core/cloud_platform/aws/boto_session.py (lightweight get_boto3_session() that short-circuits on running_as_service() so endpoints don't try to assume the Workbench role)
    • workbench/api/inference_store.py, workbench/api/public_data.py (replaces the previous re-export)
    • workbench/utils/execution_environment.py
    • workbench/utils/ensemble_utils.py (was model_script_utils)
  • workbench/utils/athena_utils.py gains table_s3_path, dataframe_to_table, delete_table (used by InferenceStore).
  • All ~10 internal from workbench_bridges import ... sites now point at workbench's own modules.
  • Templates (xgb/pytorch/chemprop/meta_endpoint) and the morgan_fingerprints custom model import directly from workbench.endpoints.* / workbench.algorithms.dataframe.* / workbench.utils.chem_utils.*. script_generation.py no longer bundles model_script_utils/ into the model.tar.gz — workbench is pip-installed in the SageMaker base image instead.
  • Per-framework dir symlinks (xgb_model/model_script_utils, etc.) and the meta_endpoint symlinks all deleted.

pyproject.toml

Core deps trimmed to the endpoint-safe set:

boto3, botocore, awswrangler, requests, numpy, pandas, scipy, scikit-learn, joblib, rdkit, pyyaml.

Heavy deps moved to extras:

  • [aws] — sagemaker, aiobotocore, redis, cryptography
  • [modeling] — xgboost, umap-learn, mordredcommunity, cleanlab, ipython
  • [ui] (unchanged) — plotly, dash, etc.
  • [all] rolled up to include aws + modeling + ui + dev

workbench-bridges dependency removed.

Tests + CI

  • Ported unique execution_env_tests.py to tests/utils/test_execution_environment.py. Other bridges tests duplicated workbench coverage.
  • New endpoint-import-smoke job (tox env + GH Actions workflow): pip install workbench (no extras) → import the runtime surface → assert heavy deps did NOT land. Catches regressions where a careless module-top import would break endpoint containers.
  • tox.ini: removed -e ../workbench-bridges cross-repo install line.

Deployment note

Endpoints already deployed point at :latest and their bundles import workbench_bridges at runtime. Plan is to keep pip install workbench-bridges==0.2.10 in the new base image alongside pip install workbench so old bundles continue to work after the image flips. Bridges install can be removed from the image in a later rev once all relevant endpoints have been retrained against the new templates. workbench-bridges will be deprecated/archived as a follow-up.

Who doesn't like looking at release notes! Also +3 points for getting down this far! Here's a cow joke as a reward:

What do you call that feeling like you’ve done this before? Deja-moo

Questions?

The SuperCowPowers team is happy to answer any questions you may have about AWS and Workbench. Please contact us at workbench@supercowpowers.com or on chat us up on Discord