Skip to main content

PrismNote

Data science notebook with support for 15+ programming languages, SQL execution across 9+ databases, and intelligent code assistance.

A local-first notebook for data exploration, analysis, and systems programming. Works offline, requires no cloud account, and integrates seamlessly with your existing infrastructure.


Core Capabilities

Multi-Language Support

Execute code in 15+ languages with full kernel support:

Data Science: Python, R, Julia, Mojo
Systems Programming: C++, Rust, Go, Zig, Scala
GPU Computing: CUDA C++
Query Languages: SQL (PostgreSQL, MySQL, BigQuery, Snowflake, Redshift, DuckDB, SQLite, T-SQL, Oracle)
Web/Script: TypeScript, JavaScript
Documentation: Markdown, Raw Text

Each language includes:

  • Syntax highlighting via Monaco editor
  • Full execution environment
  • Session state preservation
  • Visualization support where applicable
  • Auto-completion and formatting

SQL First-Class Support

Write SQL once, execute across multiple databases:

SELECT user_id, COUNT(*) as activity_count
FROM events
WHERE date > CURRENT_DATE - INTERVAL 7 DAY
GROUP BY user_id
ORDER BY activity_count DESC
LIMIT 100;

Features:

  • Connection picker to switch databases without editing code
  • Query result pagination and export (CSV, JSON, TSV)
  • Query cost estimation (BigQuery, Snowflake)
  • Syntax highlighting for 10 SQL dialects
  • Automatic optimization suggestions

Code Assistance

Intelligent code features without vendor lock-in:

  • Auto-format (black, rustfmt, prettier, clang-format)
  • Auto-documentation (Sphinx, JSDoc, Rustdoc)
  • Auto-completion (LSP-based)
  • Code templates for all languages
  • Error detection and suggestions
  • Performance analysis

Terminal Integration

Split terminals for complex workflows:

  • Vertical splits (side-by-side panes)
  • Horizontal splits (stacked panes)
  • Up to 4 independent terminals
  • Perfect for monitoring, logging, concurrent processes
  • Useful for robotics, DevOps, data pipelines

Data Exploration

Visual data inspection without code:

  • Click a file to see schema and statistics
  • Automatic data quality scoring
  • Column histograms and NULL detection
  • PII detection (emails, phone numbers, SSNs)
  • Data lineage tracking
  • Filter and sort visually

Installation

macOS

brew install prismnote
prismnote

Linux

# Ubuntu/Debian
sudo apt-get install prismnote

# Fedora/RHEL
sudo dnf install prismnote

# Or from source
npm install -g prismnote
prismnote

Windows

# Using Chocolatey
choco install prismnote
prismnote

# Or via npm
npm install -g prismnote
prismnote

Docker

docker run -p 3000:3000 -v $(pwd)/notebooks:/app/notebooks prismnote:latest
# Open http://localhost:3000

From Source

git clone https://github.com/Mullassery/prismnote.git
cd prismnote
npm install
npm run dev
# Open http://localhost:3000

Quick Start

Create Your First Notebook

  1. Start PrismNote: prismnote (opens http://localhost:3000)
  2. Click "New Notebook"
  3. Add cells by clicking "+" or pressing Cmd+Enter
  4. Select language from dropdown
  5. Write code and press Shift+Enter to execute

Try a Multi-Language Workflow

Cell 1 (Python): Load data

import pandas as pd
df = pd.read_csv('data.csv')
print(f"Loaded {len(df)} rows")

Cell 2 (SQL): Query database

SELECT * FROM analytics 
WHERE date > CURRENT_DATE - INTERVAL 30 DAY
ORDER BY timestamp DESC

Cell 3 (Python): Process results

# Continue working with results
print(df.describe())

Cell 4 (Markdown): Document findings

# Analysis Summary

Key findings:
- User count: 1,500
- Active rate: 78%

Keyboard Shortcuts

Common commands:

Cmd/Ctrl + Enter     Add cell
Shift + Enter        Execute cell
Cmd/Ctrl + K         AI assistance (if configured)
Cmd/Ctrl + S         Save notebook
Cmd/Ctrl + /         Toggle comment
Cmd/Ctrl + Shift + F Format code

Features by Language

Python

Full IPython kernel integration:

# Data analysis
import pandas as pd
df = pd.read_csv('data.csv')

# Visualization
import matplotlib.pyplot as plt
plt.plot(df['date'], df['value'])

# ML/AI
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
  • Rich output (images, tables, HTML)
  • Variable inspector
  • Package installation (pip)
  • Magic commands (%time, %timeit)

R

R kernel for statistical analysis:

library(tidyverse)

df <- read_csv('data.csv')

df %>%
  filter(value > 100) %>%
  mutate(normalized = scale(value)) %>%
  ggplot(aes(x = date, y = normalized)) +
    geom_line()
  • ggplot2 visualization
  • tidyverse data manipulation
  • Statistical functions
  • Package management

Julia

Julia kernel for numerical computing:

using LinearAlgebra
using Plots

A = rand(100, 100)
eigenvalues(A)

# Numerical computation
solve(A, rand(100))
  • Multiple dispatch
  • Parallel computing
  • Scientific computing
  • High performance

Rust

Compile and run Rust code:

fn main() {
    let data = vec![1, 2, 3, 4, 5];
    for x in data {
        println!("{}", x * 2);
    }
}
  • Safe systems programming
  • Zero-cost abstractions
  • Fast execution
  • C/C++ interoperability

Go

Concurrent programming:

package main

func main() {
    ch := make(chan string)
    go func() {
        ch <- "Hello from goroutine"
    }()
    msg := <-ch
    println(msg)
}
  • Goroutines and channels
  • Fast compilation
  • Production-grade
  • Excellent stdlib

CUDA

GPU acceleration:

__global__ void add(float *a, float *b, float *c, int n) {
    int i = blockIdx.x * blockDim.x + threadIdx.x;
    if (i < n) c[i] = a[i] + b[i];
}
  • NVIDIA GPU support
  • Parallel computing
  • High performance
  • Deep learning acceleration

SQL

Multi-database support:

-- Works with PostgreSQL, MySQL, BigQuery, Snowflake, etc.
WITH ranked_users AS (
  SELECT user_id, score,
    ROW_NUMBER() OVER (ORDER BY score DESC) as rank
  FROM users
)
SELECT * FROM ranked_users WHERE rank <= 100;
  • 9+ database backends
  • Query optimization hints
  • Cost estimation
  • Result export

Workflows

Data Analysis Pipeline

  1. Load Data (Python/SQL)

    import pandas as pd
    df = pd.read_csv('data.csv')
    
  2. Explore Visually

    • Open Data Explorer
    • Click columns to see distributions
    • Identify patterns and outliers
  3. Query Database (SQL)

    SELECT * FROM source_table WHERE conditions
    
  4. Process Results (Python/R/Julia)

    • Clean data
    • Calculate metrics
    • Create visualizations
  5. Document (Markdown)

    • Write findings
    • Embed visualizations
    • Record methodology

Systems Programming

  1. Write Core Logic (Rust/Go/C++)

    fn process(data: &[u8]) -> Result<Vec<u8>, Error> {
        // High-performance code
    }
    
  2. Benchmark

    import time
    start = time.time()
    # Run benchmark
    elapsed = time.time() - start
    
  3. Test

    func TestMyFunction(t *testing.T) {
        // Test cases
    }
    

DevOps/Monitoring

  1. Terminal 1: Monitor logs

    kubectl logs -f pod-name
    
  2. Terminal 2: Watch metrics

    watch kubectl get pods
    
  3. Terminal 3: Execute commands

    kubectl apply -f config.yaml
    
  4. Terminal 4: Debug

    kubectl exec -it pod-name -- bash
    

Configuration

Database Connections

Configure in Settings (Cmd/Ctrl + ,):

{
  "database": {
    "type": "postgresql",
    "host": "localhost",
    "port": 5432,
    "database": "analytics",
    "user": "analyst"
  }
}

Supported databases:

  • PostgreSQL (recommended)
  • MySQL/MariaDB
  • BigQuery
  • Snowflake
  • Amazon Redshift
  • DuckDB (embedded)
  • SQLite (file-based)
  • SQL Server (T-SQL)
  • Oracle Database

Code Formatting

Auto-format on save for all languages:

{
  "formatting": {
    "enabled": true,
    "formatOnSave": true
  }
}

Execution

Control how code runs:

{
  "execution": {
    "timeout": 30000,
    "maxOutputLines": 10000,
    "autoSave": true
  }
}

Keyboard Shortcuts

Core Operations

Shortcut Action
Cmd/Ctrl + N New notebook
Cmd/Ctrl + S Save
Cmd/Ctrl + P Command palette
Cmd/Ctrl + / Toggle comment

Cells

Shortcut Action
Cmd/Ctrl + Enter Add cell
Shift + Enter Execute cell
Cmd/Ctrl + Shift + Enter Run all cells
Cmd/Ctrl + Delete Delete cell

Navigation

Shortcut Action
Cmd/Ctrl + F Find in notebook
Cmd/Ctrl + G Go to cell
Cmd/Ctrl + E Data explorer

Performance

Benchmark results on typical workloads:

Language Startup 1KB Code 1MB Data
Python <1s Fast Fast
R <2s Medium Fast
Julia <3s Very Fast Very Fast
Rust <2s Very Fast Very Fast
Go <1s Very Fast Very Fast
SQL <0.5s Variable Fast

Memory usage: ~45 MB baseline, scales with data size.


Documentation

Comprehensive documentation organized by topic:

🚀 Getting Started

📚 Reference

🛠️ Development

🤖 AI & Integration

See Complete Documentation Index for all resources.

Troubleshooting

Python kernel not found

pip install jupyter ipython
# Restart PrismNote

R kernel missing

install.packages("IRkernel")
IRkernel::installspec()

Terminal commands not working

Check that commands exist in your PATH:

which python
which go
which rustc

High memory usage

  • Restart kernel from settings
  • Close unused cells
  • Reduce data size
  • Monitor with system tools

Use Cases

Data Science

  • Exploratory data analysis
  • Statistical analysis
  • Machine learning workflows
  • Data visualization
  • Report generation

Systems Programming

  • Algorithm development
  • Performance optimization
  • Concurrent system design
  • Systems testing
  • Benchmarking

Database Administration

  • Query development
  • Schema exploration
  • Performance tuning
  • Data migration
  • Documentation

Education

  • Teaching programming
  • Lab assignments
  • Interactive tutorials
  • Code examples
  • Student projects

Monitoring

  • Real-time log analysis
  • System status dashboard
  • Alert investigation
  • Trend analysis
  • Performance debugging

Project Status

Version: 1.8.0
Status: Production Ready
License: Proprietary
GitHub: github.com/Mullassery/prismnote
Issues: github.com/Mullassery/prismnote/issues

Supported Platforms

  • macOS (Intel, Apple Silicon)
  • Linux (Ubuntu, Fedora, Debian)
  • Windows (WSL2 recommended)
  • Docker

Browser Support

  • Chrome/Chromium 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+

Architecture Highlights

Local-First Design

  • Runs entirely on your machine
  • No cloud account required
  • All data stays local
  • Works offline
  • No bandwidth overhead

Multi-Language Engine

  • Language-agnostic execution
  • Jupyter kernel integration
  • Direct compiler support
  • Database driver abstraction
  • Extensible architecture

Type-Safe Frontend

  • TypeScript throughout
  • React for UI
  • Comprehensive testing
  • Keyboard-accessible
  • Performance optimized

Support & Resources

  • GitHub Issues: Report bugs or request features
  • GitHub Discussions: Ask questions and share ideas
  • Releases: View changelog and download binaries
  • Documentation: GETTING_STARTED.md and docs/

License

Proprietary Software - See LICENSE file for details


Next Steps

  1. Install: npm install -g prismnote or brew install prismnote
  2. Start: prismnote
  3. Create: Your first notebook
  4. Explore: Try different languages
  5. Contribute: Help improve PrismNote

Questions? Visit github.com/Mullassery/prismnote/discussions

Enjoy data science and systems programming without boundaries.

Download files

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

Source Distribution

prismnote-1.8.1.tar.gz (26.7 kB view details)

Uploaded Source

Built Distribution

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

prismnote-1.8.1-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file prismnote-1.8.1.tar.gz.

File metadata

  • Download URL: prismnote-1.8.1.tar.gz
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.5

File hashes

Hashes for prismnote-1.8.1.tar.gz
Algorithm Hash digest
SHA256 623a6d0b53859938ff5f850b3ded882daea3880e600f0d15b8de88ce564fb83a
MD5 b9b016a6df48091733cdfc834cc01acb
BLAKE2b-256 6b78b989ec21850c229e88786973bfa011cd2d6c899060f4f14e132266c0bbb7

See more details on using hashes here.

File details

Details for the file prismnote-1.8.1-py3-none-any.whl.

File metadata

  • Download URL: prismnote-1.8.1-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.5

File hashes

Hashes for prismnote-1.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 97cd8d3e7f40c00c0658f6e544bd217744a2884cad2ea2141c95d3d81a22fb65
MD5 6b41435bdf5a3a0f04a4a1e337103949
BLAKE2b-256 e492ea51ea7c741c99d5ec32ef69c3307b06b85c11544f4283f982023b4d17d8

See more details on using hashes here.

Supported by

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