Skip to main content

SignalPilot CLI - Your Trusted CoPilot for Data Analysis

Project description

SignalPilot Installer CLI

This installer CLI is a bootstrap installer that sets up the SignalPilot-AI Jupyter extension in one command.

**The CLI is NOT the product.** It's a convenience installer. The **SignalPilot Jupyter extension** (agentic harness) is the actual product.

What You're Installing

SignalPilot is a Jupyter-native AI agentic harness that investigates data by connecting to your organizational context:

Four core capabilities:

  • 🔌 Multi-Source Context — Auto-connects to db warehouse, dbt lineage, query history, Slack threads, Jira tickets, and past investigations via MCP
  • 🔄 Long-Running Agent Loop — Plans, executes, iterates until task complete with analyst-in-the-loop approval (not single-shot completions)
  • 🧠 Multi-Session Memory — Remembers past hypotheses, validated assumptions, known data quirks across investigations
  • 📚 Skills & Rules — Custom analysis patterns (skills) + team coding standards (rules) + business logic

Security: Zero data retention • Read-only access • Local-first execution • SOC 2 in progress

Quick Install

Prerequisites: macOS, Linux, or Windows (WSL) • Internet connection

Don't have uv? Install it first (takes 10 seconds):

curl -LsSf https://astral.sh/uv/install.sh | sh

Install SignalPilot:

uvx signalpilot

What happens:

  • Creates ~/SignalPilotHome workspace with starter notebooks
  • Installs isolated Python 3.12 + Jupyter Lab + SignalPilot extension
  • Installs data packages (pandas, numpy, matplotlib, seaborn, plotly)
  • Optimizes Jupyter cache for fast startup
  • Launches Jupyter Lab at http://localhost:8888

Time: ~2 minutes

Why uv?

  • 10-100x faster than pip/conda for package installation
  • SignalPilot runs on it — native integration with kernel
  • Modern Python package management with better dependency resolution

Launch Jupyter Lab Anytime

Once installed, start Jupyter Lab with:

uvx signalpilot lab

What this does:

  • Opens Jupyter Lab in ~/SignalPilotHome (default workspace)
  • Uses existing .venv (no reinstallation)
  • SignalPilot extension pre-loaded
  • Opens browser at http://localhost:8888

What Gets Installed

Python Packages:

  • signalpilot-ai — AI agent integration (the actual product)
  • jupyterlab — Modern Jupyter interface
  • pandas, numpy — Data manipulation
  • matplotlib, seaborn, plotly — Visualization
  • python-dotenv, tomli — Configuration utilities

Directory Structure:

~/SignalPilotHome/
├── user-skills/       # Custom analysis patterns
├── user-rules/        # Team coding standards
├── team-workspace/    # Shared notebooks (git-tracked)
├── demo-project/      # Example notebooks
├── pyproject.toml     # Python project config
├── start-here.ipynb   # Quick start guide
└── .venv/             # Python environment

Working in Different Directories

By default, SignalPilot works in ~/SignalPilotHome. Use these flags to customize:

--here flag: Use current directory with default environment

cd ~/projects/my-analysis
uvx signalpilot lab --here

What this does:

  • Opens Jupyter Lab in your current directory
  • Uses default environment from ~/SignalPilotHome/.venv
  • Perfect for quick exploration without setting up new environment

Use case: Analyzing data files in an existing project folder

--project flag: Use current directory with local environment

cd ~/projects/custom-analytics
uvx signalpilot lab --project

What this does:

  • Opens Jupyter Lab in your current directory
  • Uses local .venv in that directory
  • Great for project-specific work with custom dependencies

Requirements:

  • A .venv must exist in current directory
  • Must have jupyterlab and signalpilot-ai installed

Create project environment:

mkdir ~/projects/custom-analytics && cd ~/projects/custom-analytics
uv venv --seed --python 3.12
source .venv/bin/activate
uv pip install jupyterlab signalpilot-ai pandas numpy matplotlib plotly
uvx signalpilot lab --project

Pass Jupyter Lab Arguments

You can pass any Jupyter Lab flags after the command:

# Custom port
uvx signalpilot lab --port=8888

# Disable browser auto-open
uvx signalpilot lab --no-browser

# Combine with directory flags
uvx signalpilot lab --here --port=8888

# Bind to all interfaces (remote access)
uvx signalpilot lab --ip=0.0.0.0 --port=9999

All standard jupyter lab arguments work.

Alternative Installation Methods

Option 1: Run with uvx (Recommended)

uvx signalpilot

No permanent installation needed. Perfect for most users.

Option 2: Install with uv tool

uv tool install signalpilot
sp init

Installs sp command globally. Use sp lab to launch later.

Option 3: Install with pip

pip install signalpilot
sp init

Works but slower than uv (10-100x). May have dependency conflicts.

Requirements

  • Python 3.10 or higher
  • uv package manager (recommended)

Links

License

MIT License - See LICENSE file for details

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

signalpilot-0.5.3.tar.gz (396.6 kB view details)

Uploaded Source

Built Distribution

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

signalpilot-0.5.3-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file signalpilot-0.5.3.tar.gz.

File metadata

  • Download URL: signalpilot-0.5.3.tar.gz
  • Upload date:
  • Size: 396.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for signalpilot-0.5.3.tar.gz
Algorithm Hash digest
SHA256 9fc3336eeacc7d01d81ef282183cac3393c41eb2f98cecc03a49296b0b004e66
MD5 b376b0c3c58b26d248bc34c70dd8ba48
BLAKE2b-256 90e390d30800a1d3f17628fa980efccaee39357f21df25541411d8054df4fcd2

See more details on using hashes here.

File details

Details for the file signalpilot-0.5.3-py3-none-any.whl.

File metadata

File hashes

Hashes for signalpilot-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b1d3acad2a01d4bcff5bb721d0e98916fb922a3f94b7fdb20e463a8ca1b89816
MD5 a80b6dbfb7e24c2cd3d481f0044a95b1
BLAKE2b-256 eee6e239a9e2dc4c69addba9dbe46d99adcad5821827b544c20163c716daf165

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 Pingdom Monitoring Sentry Error logging StatusPage Status page