Skip to content

scttfrdmn/prism

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Prism

Prism Logo

Academic Research Computing Platform - Pre-configured cloud environments made simple

CI GitHub release (latest by date) License Go Report Card ESLint

What is Prism?

Prism provides researchers with pre-configured cloud workstations for data analysis, machine learning, and computational research. Launch production-ready environments without manual configuration.

From individual researchers to institutional deployments - research computing made simple, scalable, and cost-effective.

Learn more at prismcloud.io

🎯 Core Design Principles

  • 🎯 Default to Success: Every template works out of the box in every supported region
  • ⚑ Optimize by Default: Smart instance sizing and cost-performance optimization
  • πŸ” Transparent Fallbacks: Clear communication when configurations change
  • πŸ’‘ Helpful Warnings: Gentle guidance for optimal choices
  • 🚫 Zero Surprises: Users always know what they're getting
  • πŸ“ˆ Progressive Disclosure: Simple by default, detailed when needed

πŸš€ Installation

macOS

Homebrew (Recommended)

brew install scttfrdmn/tap/prism

Manual Installation

# Download and extract
curl -L https://github.com/scttfrdmn/prism/releases/latest/download/prism_0.5.11_darwin_arm64.tar.gz | tar xz

# Install binaries
sudo mv prism prismd /usr/local/bin/

Linux

Debian/Ubuntu

wget https://github.com/scttfrdmn/prism/releases/download/v0.5.11/prism_0.5.11_linux_amd64.deb
sudo dpkg -i prism_0.5.11_linux_amd64.deb

RHEL/CentOS/Fedora

wget https://github.com/scttfrdmn/prism/releases/download/v0.5.11/prism_0.5.11_linux_amd64.rpm
sudo rpm -i prism_0.5.11_linux_amd64.rpm

Alpine Linux

wget https://github.com/scttfrdmn/prism/releases/download/v0.5.11/prism_0.5.11_linux_amd64.apk
sudo apk add --allow-untrusted prism_0.5.11_linux_amd64.apk

Windows

Scoop

scoop bucket add scttfrdmn https://github.com/scttfrdmn/scoop-bucket
scoop install prism

Manual Installation

# Download from GitHub releases
# https://github.com/scttfrdmn/prism/releases/latest
# Extract and add to PATH

πŸš€ Quick Start

First-Time Users: Interactive Wizard (⏱️ 30 seconds)

Launch your first workspace with a guided wizard!

# Configure AWS credentials (if not already set up)
aws configure

# Launch the interactive wizard
prism init

The wizard will guide you through:

  1. βœ… Template Selection: Browse by category (ML/AI, Data Science, Bioinformatics, Web)
  2. βœ… Workspace Configuration: Name and size with cost estimates
  3. βœ… Review: See exactly what you're launching
  4. βœ… Launch: Real-time progress tracking
  5. βœ… Connect: SSH connection details and next steps

Time to first workspace: ~30 seconds πŸš€


Advanced: Direct Commands

For experienced users or automation:

# View available templates
prism templates

# Launch a Python ML environment
prism launch python-ml my-research

# Connect via SSH
prism connect my-research

# View running workspaces
prism list

Automatic Features:

  • βœ… Daemon starts if not running
  • βœ… Optimal instance type selected
  • βœ… Security groups configured
  • βœ… SSH keys generated and managed
  • βœ… Template provisioned and ready

Credential Discovery (automatic):

  • Environment variables (AWS_PROFILE, AWS_ACCESS_KEY_ID)
  • AWS CLI configuration (~/.aws/credentials)
  • Prism profiles (for multi-account management)

🌟 Key Features

πŸ’° Cost Optimization

  • Hibernation: Preserve state while reducing costs by 90%
  • Idle Detection: Automated hibernation policies with configurable thresholds
  • Budget Management: Project-level cost tracking and alerts
  • Cost Analytics: Real-time spending reports and forecasts

πŸ—οΈ Research Templates

  • 21+ Pre-configured Environments: Python ML, R, bioinformatics, web dev, and more
  • Template Inheritance: Compose complex environments from simple building blocks
  • Smart Defaults: Optimal instance sizing and cost-performance ratios
  • Regional Fallbacks: Automatic handling of availability constraints

🏒 Enterprise & Collaboration

  • Project-Based Organization: Multi-user projects with role-based access
  • Research User System: Persistent identities across workspaces
  • Multi-Account Support: Manage multiple AWS profiles efficiently
  • Template Marketplace: Share and discover community templates

πŸ“± Multi-Modal Access

  • CLI: Fast, scriptable command-line interface
  • TUI: Interactive terminal interface with keyboard navigation
  • GUI: Desktop application (available when building from source)
  • REST API: Complete HTTP API on port 8947

πŸ“¦ Example Templates

Prism includes 21+ pre-configured templates for research computing:

  • Python ML: Jupyter, scikit-learn, TensorFlow, PyTorch
  • R Research: RStudio, tidyverse, Bioconductor
  • Bioinformatics: BLAST, bowtie2, samtools, bedtools
  • Web Development: Node.js, Docker, nginx
  • Deep Learning: GPU-optimized environments with CUDA
# View all templates
prism templates

# Get detailed template info
prism templates info python-ml

πŸ’» Usage Examples

Basic Workspace Management

# Launch a workspace
prism launch python-ml my-project

# List running workspaces
prism list

# Connect via SSH
prism connect my-project

# Stop workspace
prism stop my-project

Cost Optimization

# Hibernate to preserve state while saving costs
prism hibernate my-workspace
prism resume my-workspace

# Automated idle policies
prism idle profile list
prism idle workspace my-gpu --profile gpu

Project Management

# Create project with budget
prism project create ml-research --budget 500

# Add team members
prism project member add ml-research [email protected] --role member

# Launch workspace in project
prism launch python-ml analysis --project ml-research

Multi-Modal Access

# Command line
prism templates

# Terminal UI
prism tui

# REST API
curl http://localhost:8947/api/v1/instances

πŸ“– Documentation

πŸ“š Complete Documentation Site - User guides, architecture docs, and persona walkthroughs

prism --help                      # Show all commands
prism templates                   # List available templates
prism templates info <template>   # Detailed template info
prism doctor                      # System health check

Guides:

πŸ—“οΈ Version History

v0.5.11 (Current) - Complete User Invitation & Collaboration System

  • User Invitation System: Individual, bulk, and shared token invitations with full lifecycle management
  • Automatic Provisioning: Research users created with SSH keys, UID/GID, and EFS home directories on invitation acceptance
  • Quota Validation: Pre-flight AWS capacity checking prevents bulk invitation failures
  • Professional GUI: Cloudscape-based invitation management interface with QR code generation
  • Zero Manual Setup: End-to-end automation from invitation send to workspace access

v0.5.10 - Multi-Project Budget System & Rebranding

  • Multi-Project Budgets: Projects can reference multiple budgets for complex funding scenarios
  • Budget Surplus Banking: Track and leverage surplus funds for burst research needs
  • Budget Performance Metrics: ROI analysis, utilization tracking, and forecasting
  • Complete Prism Rebrand: CloudWorkStation β†’ Prism across entire codebase (29,225 files)
  • Binary Rename: cws/cwsd β†’ prism/prismd

v0.5.9 - Navigation Restructure & UX Polish

  • Streamlined Navigation: 14 β†’ 6 top-level menu items for clearer workspace focus
  • Unified Storage: Single storage interface combining EFS and EBS management
  • Hierarchical Settings: Advanced features organized under collapsible settings
  • Terminal/WebView Integration: Merged into workspaces view for better context

v0.5.8 - Quick Start Experience & Reliability

  • Quick Start Wizard: Launch first workspace in 30 seconds with GUI wizard
  • CLI Init Command: Interactive prism init onboarding in terminal
  • Workspace Terminology: Consistent "workspace" naming across all interfaces
  • Background State Monitoring: Async daemon monitoring of AWS state changes
  • Billing Accuracy: Correct hibernation billing exception handling
  • Reliability Improvements: AWS system status checks, IAM eventual consistency

v0.5.7 - Template File Provisioning & Test Infrastructure

  • Template File Provisioning: Provision files directly from template definitions
  • AWS Cost Testing: Complete integration test suite with cost tracking
  • Instance Lifecycle Testing: Full workflow validation including cleanup

v0.5.6 - Complete Prism Rebrand

  • Project Rename: CloudWorkStation β†’ Prism (complete rebrand)
  • Repository Rename: cloudworkstation β†’ prism on GitHub
  • Configuration Directory: .cloudworkstation β†’ .prism
  • Module Path Update: Complete Go module path migration

v0.5.5 - AWS Research Services Integration

  • EMR Studio: Big data analytics and Spark-based research
  • Amazon Braket: Quantum computing research access
  • Web Service Framework: Unified interface for EC2 + AWS research services

v0.5.4 - Universal Version System

  • Dynamic OS Versions: Choose OS versions at launch time with --version flag
  • Version Aliases: Support for latest, lts, previous-lts
  • AMI Freshness Checking: prism ami check-freshness validates static AMI IDs
  • AWS SSM Integration: Automatic latest AMI discovery for major distributions
  • Package Management: Available via Homebrew (macOS), Scoop (Windows), deb, rpm, apk

v0.5.3 - Research User System & Template Marketplace

  • Multi-User Architecture: Persistent research identities across workspaces
  • SSH Key Management: Complete key generation and distribution
  • Template Registry: Multi-registry support with community templates
  • Policy Framework: Institutional governance and access control

v0.4.5 - Enterprise Research Platform

  • Project-Based Organization: Multi-user projects with role-based access
  • Budget Management: Real-time cost tracking and automated controls
  • Hibernation Ecosystem: Manual + automated idle detection policies
  • Template Inheritance: Stackable template system

πŸš€ Roadmap

Phase 5 (Current): Multi-user collaboration and template marketplace Phase 6: Advanced storage (FSx, S3 integration) and AWS research services Phase 7: Enterprise authentication (OAuth, LDAP, SAML) and TUI enhancements

🀝 Contributing

Prism is open source and welcomes contributions!

  • Issues: Report bugs or request features
  • Pull Requests: Submit code improvements
  • Templates: Contribute research environment templates
  • Documentation: Help improve guides

Development:

git clone https://github.com/scttfrdmn/prism.git
cd prism
make build
make test

πŸ“„ License

Apache License 2.0 - Free for academic and commercial use

πŸ†˜ Support


Prism v0.5.11 - Research computing environments made accessible | prismcloud.io

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •