Skip to content

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

  • 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
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.

  1. Open your project in the Labelty dashboard.
  2. Click Notebook (near Members / Labels on the project header).
  3. In the modal, pick an instance size.
  4. Click Open Notebook.
  5. Wait while status polls (starting …). Cold start is often ~30–60 seconds.
  6. When status is running, click Open JupyterLab to open a fresh presigned URL.
  7. 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

  • 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.

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.

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.

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_url
  • labelty:api_key

On every JupyterLab start, lifecycle.sh injects those values as environment variables (see next page).

Use the SDK inside JupyterLab: Work in JupyterLab.