Skip to content

Apps designed for generating insights into user data in KBase using KBase Datalake

License

Notifications You must be signed in to change notification settings

kbaseapps/KBDatalakeApps

Repository files navigation

KBDatalakeApps

KBase Datalake Applications - A collection of apps for interacting with the KBase data lake, including data retrieval, processing, and analysis utilities.

This is a KBase module generated by the KBase Software Development Kit (SDK).

Setup

This project was created with the create-new-project Claude command and includes:

  • Virtual environment management via venvman
  • Claude Code integration via claude-commands
  • Cursor workspace configuration

Prerequisites

  • Python 3.11+
  • KBase SDK installed (Learn more)
  • venvman for virtual environment management
  • claude-commands for Claude Code integration

Installation

  1. Open the Cursor workspace:

    code !KBDatalakeApps.code-workspace
  2. Activate the virtual environment:

    source activate.sh
    # or
    venvman activate KBDatalakeApps
  3. Install dependencies:

    pip install -r requirements.txt

KBase SDK Setup

Add your KBase developer token to test_local/test.cfg and run:

make
kb-sdk test

After making any additional changes to this repo, run kb-sdk test again to verify that everything still works.

Project Structure

KBDatalakeApps/
├── agent-io/              # Claude command execution tracking
├── lib/
│   └── KBDatalakeApps/
│       └── KBDatalakeAppsImpl.py  # Implementation code
├── ui/
│   └── narrative/
│       └── methods/       # Narrative UI definitions
├── test/                  # Unit tests
├── data/                  # Reference data (<100MB)
├── scripts/               # Utility scripts
├── .claude/               # Claude Code configuration
│   ├── CLAUDE.md          # System prompt
│   └── commands/          # Claude commands (managed by claude-commands)
├── KBDatalakeApps.spec    # KIDL specification
├── kbase.yml              # Module metadata
├── Dockerfile             # Container definition
└── !KBDatalakeApps.code-workspace  # Cursor workspace

Apps

run_datalake_query

Query the KBase datalake for various data types including:

  • Genomes
  • Metabolic Models
  • Media definitions
  • Assemblies

Development

Adding New Apps

  1. Define the function in KBDatalakeApps.spec
  2. Run make to compile the spec
  3. Implement the function in lib/KBDatalakeApps/KBDatalakeAppsImpl.py
  4. Create UI files in ui/narrative/methods/<app_name>/
  5. Write tests in test/

KBUtilLib Integration

This module uses KBUtilLib for common functionality:

  • KBWSUtils - Workspace operations
  • KBCallbackUtils - Callback server handling
  • SharedEnvUtils - Configuration and token management

Claude Code Integration

This project includes Claude Code integration:

  • Command tracking stored in agent-io/ for project history
  • Commands automatically installed to .claude/commands/ (managed by claude-commands)
  • Update commands: claude-commands update

Installation from Another Module

To use this code in another SDK module:

kb-sdk install KBDatalakeApps

Help

Author

  • chenry - Owner and primary author

License

See LICENSE file.

About

Apps designed for generating insights into user data in KBase using KBase Datalake

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages