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_KEYenvironment 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
-
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". -
Configure API Key:
- Go to the Settings tab
- Add a new profile with your API key
- Or use the
BIOLM_API_KEYenvironment variable
-
Browse Models:
- Switch to the Models tab
- Search or filter by tags
- Click a tag button to insert code for that model + action
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
443aa24cd7d97c943710802759447b31549469fe18d589301d22e3f39d07f05b
|
|
| MD5 |
b1e6d11bb4b790a216d78b168eb6bef3
|
|
| BLAKE2b-256 |
fe1989eadd680df0da1bf024b411244f7b0dd06c25910c75fb5b1b93d2290574
|
Provenance
The following attestation bundles were made for jupyterlab_biolm-1.0.8.tar.gz:
Publisher:
publish.yml on BioLM/jupyterlab-biolm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyterlab_biolm-1.0.8.tar.gz -
Subject digest:
443aa24cd7d97c943710802759447b31549469fe18d589301d22e3f39d07f05b - Sigstore transparency entry: 691028964
- Sigstore integration time:
-
Permalink:
BioLM/jupyterlab-biolm@66cac134b0634c6e0b6f7741b2cc4f7e3f96d65b -
Branch / Tag:
refs/tags/v1.0.8 - Owner: https://github.com/BioLM
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@66cac134b0634c6e0b6f7741b2cc4f7e3f96d65b -
Trigger Event:
release
-
Statement type:
File details
Details for the file jupyterlab_biolm-1.0.8-py3-none-any.whl.
File metadata
- Download URL: jupyterlab_biolm-1.0.8-py3-none-any.whl
- Upload date:
- Size: 26.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63e7d81b72110bcc6a516e49f8c71c65d4c78a5d2b50a29541f2a81e3a659c23
|
|
| MD5 |
5e1a08c9da0d5900f6ba52a7eacd64e9
|
|
| BLAKE2b-256 |
e3d0a174da6aee401d847b33836a45251a635c9317a205571aecdcce19892f67
|
Provenance
The following attestation bundles were made for jupyterlab_biolm-1.0.8-py3-none-any.whl:
Publisher:
publish.yml on BioLM/jupyterlab-biolm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyterlab_biolm-1.0.8-py3-none-any.whl -
Subject digest:
63e7d81b72110bcc6a516e49f8c71c65d4c78a5d2b50a29541f2a81e3a659c23 - Sigstore transparency entry: 691028992
- Sigstore integration time:
-
Permalink:
BioLM/jupyterlab-biolm@66cac134b0634c6e0b6f7741b2cc4f7e3f96d65b -
Branch / Tag:
refs/tags/v1.0.8 - Owner: https://github.com/BioLM
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@66cac134b0634c6e0b6f7741b2cc4f7e3f96d65b -
Trigger Event:
release
-
Statement type: