# Release 0.8.339

!!!tip inline end "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](mailto:workbench@supercowpowers.com) or on chat us up on [Discord](https://discord.gg/WHAJuz8sw8) 

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?
<img align="right" src="../../images/scp.png" width="180">

The SuperCowPowers team is happy to answer any questions you may have about AWS and Workbench. Please contact us at [workbench@supercowpowers.com](mailto:workbench@supercowpowers.com) or on chat us up on [Discord](https://discord.gg/WHAJuz8sw8) 


