Notebooks overview
A Labelty notebook is a managed Amazon SageMaker Studio JupyterLab environment tied to one project. It is for interactive Python work against your project via the Python SDK.
Labelty does not embed Jupyter inside the web app. Clicking Notebook opens Studio in a new browser tab.
Diagram: Labelty UI → ensure SageMaker space/app → presigned Studio URL → JupyterLab with lifecycle env injection
Why use a notebook?
Section titled “Why use a notebook?”- Experiment with dataset downloads and model code next to your labeled data
- Reuse the same project API key the platform creates for the space
- Persist files on the space’s EBS volume across Stop → Open cycles
Prerequisites
Section titled “Prerequisites”| Requirement | Detail |
|---|---|
| Active organization subscription | Required to open |
Plan feature notebook_enabled |
Must be allowed on your plan |
| Prepaid wallet | Minimum balance required (commonly $1.00 USD) |
| Permission | Ability to read the project (PROJECT_READ) |
| Platform infra | SageMaker domain configured for the environment |
If open fails for billing reasons, top up the organization wallet and retry.
How to open (UI)
Section titled “How to open (UI)”- Open your project in the Labelty dashboard.
- Click Notebook (near Members / Labels on the project header).
- In the modal, pick an instance size.
- Click Open Notebook.
- Wait while status polls (
starting…). Cold start is often ~30–60 seconds. - When status is
running, click Open JupyterLab to open a fresh presigned URL. - When finished, click Stop to delete the app (files on the space remain).
Screenshot: Project header → Notebook button
Screenshot: Notebook modal — instance picker and Open JupyterLab
URL timing
Section titled “URL timing”- Presigned open links are short-lived (about 5 minutes, single-use). If the tab fails, click Open JupyterLab again.
- Studio sessions last on the order of 12 hours.
Instance sizes (UI)
Section titled “Instance sizes (UI)”Exact prices can change; the UI shows approximate hourly rates. Backend safelist includes:
| Type | Typical UI label |
|---|---|
ml.t3.medium |
Small (CPU) |
ml.t3.large |
Medium (CPU) |
ml.m5.large |
Large (CPU) |
ml.g4dn.xlarge |
GPU (T4) |
Billing is PAYG from the org wallet while the app runs. Idle timeout is fixed at 60 minutes. Wallet ≤ $0 can auto-stop the notebook.
Backend API (advanced)
Section titled “Backend API (advanced)”Base: /api/v1/projects/{project_id}/notebook
| Method | Path | Purpose |
|---|---|---|
POST |
/open |
Ensure space + app; body { "instance_type": "ml.t3.medium" } |
GET |
/status |
Read state without creating resources |
POST |
/stop |
Delete app and finalize billing |
States: stopped | starting | running | stopping | failed.
What Labelty configures for you
Section titled “What Labelty configures for you”On first open, Labelty creates a SageMaker space for the project and a project-scoped API key (name pattern like notebook-…). Space tags store:
labelty:api_urllabelty:api_key
On every JupyterLab start, lifecycle.sh injects those values as environment variables (see next page).
Next step
Section titled “Next step”Use the SDK inside JupyterLab: Work in JupyterLab.