Metadata-Version: 2.4
Name: workbench
Version: 0.8.479
Summary: Workbench: A Dashboard and Python API for creating and deploying AWS SageMaker Model Pipelines
Author-email: SuperCowPowers LLC <support@supercowpowers.com>
License: MIT License
        
        Copyright (c) 2021-2026 SuperCowPowers LLC
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/SuperCowPowers/workbench
Keywords: SageMaker,Machine Learning,AWS,Python,Utilities
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: boto3>=1.42.2
Requires-Dist: botocore>=1.42.2
Requires-Dist: awswrangler>=3.4.0
Requires-Dist: sagemaker<3.13,>=3.6.0
Requires-Dist: sagemaker-core<2.13,>=2.12.0
Requires-Dist: sagemaker-mlops<1.13,>=1.12.0
Requires-Dist: sagemaker-serve<1.13,>=1.12.0
Requires-Dist: sagemaker-train<1.13,>=1.12.0
Requires-Dist: redis>=5.0.1
Requires-Dist: requests>=2.26.0
Requires-Dist: aiobotocore>=3.7.0
Requires-Dist: pandas<3.0,>=2.2.1
Requires-Dist: scikit-learn>=1.5.2
Requires-Dist: xgboost>=3.0.3
Requires-Dist: joblib>=1.3.2
Requires-Dist: duckdb>=1.5.0
Requires-Dist: rdkit>=2026.3.1
Requires-Dist: mordredcommunity>=2.0.6
Requires-Dist: ipython>=8.37.0
Requires-Dist: pyreadline3; sys_platform == "win32"
Requires-Dist: rich>=13.0
Requires-Dist: matplotlib>=3.9.2
Requires-Dist: networkx>=3.2
Requires-Dist: anthropic[bedrock]>=0.117.0
Provides-Extra: misc
Requires-Dist: umap-learn>=0.5.8; extra == "misc"
Provides-Extra: ui
Requires-Dist: plotly>=6.5.0; extra == "ui"
Requires-Dist: dash>=4.0.0; extra == "ui"
Requires-Dist: dash-bootstrap-components>=1.6.0; extra == "ui"
Requires-Dist: dash_ag_grid>=33.3.3; extra == "ui"
Provides-Extra: modeling
Requires-Dist: ray[tune]; extra == "modeling"
Requires-Dist: optuna; extra == "modeling"
Requires-Dist: torch; extra == "modeling"
Requires-Dist: chemprop>=2.3.0; extra == "modeling"
Provides-Extra: dev
Requires-Dist: tox; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-sugar; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: coverage; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: aws-cdk-lib; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs<2.0,>=1.6; extra == "docs"
Requires-Dist: mkdocs-material<10,>=9.7; extra == "docs"
Requires-Dist: mkdocstrings; extra == "docs"
Requires-Dist: mkdocstrings-python; extra == "docs"
Provides-Extra: all
Requires-Dist: workbench[ui]; extra == "all"
Requires-Dist: workbench[modeling]; extra == "all"
Requires-Dist: workbench[misc]; extra == "all"
Requires-Dist: workbench[dev]; extra == "all"
Requires-Dist: workbench[docs]; extra == "all"
Dynamic: license-file

# ADMET Workbench

## Getting Started

```bash
pip install workbench
workbench
```

```
Workbench Version: 0.8.475
Bosco: Claude via Anthropic API key

Welcome to Workbench!

🐶  New to Workbench? Ask me to walk you through building your first model.

Workbench:Bosco>
```

**No AWS account needed to start.** Local mode gives you the whole chain —
`DataSource → FeatureSet → Model → Endpoint` — on your filesystem, training with the
same generated script SageMaker runs. `pub_data` reads public ADMET datasets straight
from S3, so there's real data to model from the first prompt:

```
Workbench:Bosco> build me a solubility model from the aqsol public data
```

Ask Bosco in plain language, or type Python — both land in the same session, and the
variables persist for both of you. See [Local Mode](https://supercowpowers.github.io/workbench/local/).

### Giving Bosco a model

Bosco is the [resident ML agent](https://supercowpowers.github.io/workbench/blogs/ml_agent/).
He needs a path to Claude, and `status` always names the one he took:

- **With an AWS account** — he runs on Bedrock *inside it*, with Zero Data Retention.
  Nothing to install and nothing leaves your account.
- **Without one** — set `ANTHROPIC_API_KEY` and restart. Bring your own key, or email
  [workbench@supercowpowers.com](mailto:workbench@supercowpowers.com) and we'll issue
  you a trial key.

### Connecting your AWS account

- [Initial Setup](https://supercowpowers.github.io/workbench/getting_started/)
- [One-time AWS Onboarding](https://supercowpowers.github.io/workbench/aws_setup/core_stack/)
- [Using Bosco](https://supercowpowers.github.io/workbench/bosco/) &nbsp;·&nbsp; [Security & Admin](https://supercowpowers.github.io/workbench/bosco/security/)

📝 [Bosco: Workbench ML Agent](https://supercowpowers.github.io/workbench/blogs/ml_agent/) — a real eleven-turn session, start to finish.

## Chemprop Models

All the rage for the Open ADMET Challenge. ADMET Workbench supports:

- Single Task Chemprop Models
- Multi Task Chemprop Models
- Chemprop + Descriptors Models (MPNN + Molecular Descriptors)
- Foundation Chemprop Models (CheMeleon Pretrained)

Examples: [Deploying Chemprop Models](examples/models/chemprop.py) &nbsp;·&nbsp;
[Deploying Foundation Chemprop Models](examples/models/chemprop_foundation.py)

**References**

- [Open ADMET Challenge](https://huggingface.co/spaces/openadmet/OpenADMET-ExpansionRx-Challenge)
- **ChemProp:** Yang et al. "Analyzing Learned Molecular Representations for Property Prediction" *J. Chem. Inf. Model.* 2019 — [GitHub](https://github.com/chemprop/chemprop) | [Paper](https://pubs.acs.org/doi/10.1021/acs.jcim.9b00237)
- [CheMeleon Github](https://github.com/JacksonBurns/chemeleon)

### Chemprop Action Shots!

<table>
  <tr>
    <td>
      <a href="https://github.com/user-attachments/assets/a36c6eff-c464-4c9a-9859-a45cd7e35145">
        <img width="800" alt="theme_dark" src="https://github.com/user-attachments/assets/a36c6eff-c464-4c9a-9859-a45cd7e35145" />
      </a>
    </td>
  </tr>
  <tr>
    <td>
      <a href="https://github.com/user-attachments/assets/d65ec1da-e04e-44fe-8782-4da0fb50588a">
        <img width="800" alt="theme_quartz" src="https://github.com/user-attachments/assets/d65ec1da-e04e-44fe-8782-4da0fb50588a" />
      </a>
    </td>
  </tr>
</table>

## The Dashboard

Health monitoring, dynamic updates, and a high-level summary across the whole
pipeline, with drill-down views for Incoming Data, Glue Jobs, DataSources,
FeatureSets, Models, and Endpoints. Try it: [Workbench Dashboard Demo](https://workbench-dashboard.com).

## Private SaaS Architecture

*Secure your Data, Empower your ML Pipelines*

Workbench deploys as an AWS Stack inside your own cloud environment (BYOC), so your
data never leaves it — and plugin support lets you tailor it to your own workflows.
See the [Private SaaS Architecture](https://docs.google.com/presentation/d/1f_1gmE4-UAeUDDsoNdzK_d_MxALFXIkxORZwbJBjPq4/edit?usp=sharing) deck.

## Documentation

The ADMET Workbench framework makes AWS® both easier to use and more powerful: a simple
Python API over Glue, Athena, Feature Store, Models, and Endpoints, with web interfaces
on top of it.

[Workbench Docs](https://supercowpowers.github.io/workbench/) covers the Python API
in depth, fully searchable, with code examples throughout. Runnable versions of every
example live in [`examples/`](https://github.com/SuperCowPowers/workbench/blob/main/examples).

Workbench takes something genuinely complex — the full set of AWS ML services — and
makes it less complex, so there's conceptual documentation too:
[Workbench Presentations](https://supercowpowers.github.io/workbench/presentations/).

## AWS Marketplace

Workbench is on the AWS Marketplace as a [Dashboard for ML Pipelines](https://aws.amazon.com/marketplace/pp/prodview-5idedc7uptbqo)
and can be billed through AWS.

## Installation extras

```bash
pip install workbench               # API + REPL + orchestration (the default)
pip install 'workbench[ui]'         # + plotly, dash — the Workbench Dashboard
pip install 'workbench[modeling]'   # + torch, chemprop, ray[tune], optuna
pip install 'workbench[misc]'       # + umap-learn
pip install 'workbench[dev]'        # + pytest, coverage, flake8, black
pip install 'workbench[all]'        # everything above
```

Quotes are needed — shells read square brackets as globs.

**Cleanlab/Datalab** workflows aren't bundled in any extra. Install
`cleanlab[datalab]>=2.8.0` before calling `cleanlab_model()`.

## Questions?

The SuperCowPowers team is happy to answer any questions about AWS and Workbench —
[workbench@supercowpowers.com](mailto:workbench@supercowpowers.com) or
[Discord](https://discord.gg/WHAJuz8sw8).

**Beta Program** — if your company would like to be a Workbench Beta Tester, get in
touch at the same address.

**Contributions** are welcome, and fall under the existing project
[license](https://github.com/SuperCowPowers/workbench/blob/main/LICENSE).

<img align="right" src="docs/images/scp.png" width="180">

® Amazon Web Services, AWS, the Powered by AWS logo, are trademarks of Amazon.com, Inc. or its affiliates
