Skip to main content

No project description provided

Project description

BioLM JupyterLab Extension

A JupyterLab extension that provides a graphical interface for browsing BioLM models, inserting SDK code snippets, and managing authentication - all from within JupyterLab's sidebar.

Features

🧠 Models Tab

  • Browse all available BioLM models
  • Search and filter models by name, description, or tags
  • Click tags to insert code snippets with model + action pre-filled
  • Copy model IDs to clipboard
  • Expandable model descriptions

⚙️ Operations Tab

  • Quick access to common SDK operation examples
  • Searchable list of operations (Generate, Predict, Embed, etc.)
  • One-click code insertion into notebook cells
  • Organized by category

🔑 Settings Tab

  • Manage multiple API key profiles
  • Test API key connections
  • Set default model and action preferences
  • Respects BIOLM_API_KEY environment variable

Installation

From PyPI (when available)

pip install jupyterlab-biolm

From Source

# Clone the repository
git clone https://github.com/yourusername/jupyterlab-biolm.git
cd jupyterlab-biolm

# Install the extension
pip install -e .

# Build the extension
jlpm install
jlpm build

# Rebuild JupyterLab
jupyter lab build

Usage

  1. Open the Extension: The BioLM sidebar will appear in JupyterLab's left sidebar. If not visible, use the command palette (Cmd/Ctrl + Shift + C) and search for "Open BioLM".

  2. Configure API Key:

    • Go to the Settings tab
    • Add a new profile with your API key
    • Or use the BIOLM_API_KEY environment variable
  3. Browse Models:

    • Switch to the Models tab
    • Search or filter by tags
    • Click a tag button to insert code for that model + action
  4. Use Operations:

    • Switch to the Operations tab
    • Browse common SDK operations
    • Click "Insert" to add code to your active notebook cell

Development

Prerequisites

  • Node.js >= 16
  • Python >= 3.8
  • JupyterLab >= 4.0.0

Setup

# Install dependencies
jlpm install

# Build TypeScript
jlpm build:lib

# Build extension in development mode
jlpm build:labextension:dev

# Watch for changes
jlpm watch

Project Structure

jupyterlab-biolm/
├── src/                    # TypeScript source
│   ├── index.ts           # Extension entry point
│   ├── widget.tsx         # Main sidebar widget
│   ├── api/               # API client
│   ├── components/        # React components
│   ├── services/          # Business logic
│   └── data/              # Static data
├── style/                  # CSS styles
├── schema/                 # Settings schema
└── jupyterlab_biolm/       # Python package

Configuration

The extension stores settings in JupyterLab's settings system. You can configure:

  • API Key Profiles: Multiple named profiles with different API keys
  • Active Profile: Which profile to use (or environment variable)
  • Default Model: Default model ID for code generation
  • Default Action: Default action (predict, generate, etc.)

API Integration

The extension fetches model metadata from https://api.biolm.ai/models. Models are cached for 5 minutes to reduce API calls.

Requirements

  • JupyterLab >= 4.0.0
  • React >= 18.0.0

License

BSD-3-Clause

Support

For issues and feature requests, please visit the GitHub repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyterlab_biolm-1.0.8.tar.gz (143.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jupyterlab_biolm-1.0.8-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

Details for the file jupyterlab_biolm-1.0.8.tar.gz.

File metadata

  • Download URL: jupyterlab_biolm-1.0.8.tar.gz
  • Upload date:
  • Size: 143.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for jupyterlab_biolm-1.0.8.tar.gz
Algorithm Hash digest
SHA256 443aa24cd7d97c943710802759447b31549469fe18d589301d22e3f39d07f05b
MD5 b1e6d11bb4b790a216d78b168eb6bef3
BLAKE2b-256 fe1989eadd680df0da1bf024b411244f7b0dd06c25910c75fb5b1b93d2290574

See more details on using hashes here.

Provenance

The following attestation bundles were made for jupyterlab_biolm-1.0.8.tar.gz:

Publisher: publish.yml on BioLM/jupyterlab-biolm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jupyterlab_biolm-1.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyterlab_biolm-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 63e7d81b72110bcc6a516e49f8c71c65d4c78a5d2b50a29541f2a81e3a659c23
MD5 5e1a08c9da0d5900f6ba52a7eacd64e9
BLAKE2b-256 e3d0a174da6aee401d847b33836a45251a635c9317a205571aecdcce19892f67

See more details on using hashes here.

Provenance

The following attestation bundles were made for jupyterlab_biolm-1.0.8-py3-none-any.whl:

Publisher: publish.yml on BioLM/jupyterlab-biolm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page