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@latest

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@latest lab

What this does:

  • Opens Jupyter Lab in your current directory
  • Uses home environment from ~/SignalPilotHome/.venv
  • SignalPilot extension pre-loaded
  • Opens browser at http://localhost:8888

โš ๏ธ Smart Detection: If a local .venv with jupyter is detected in your current directory, you'll see a red warning. Use --project flag to use it instead.

Keeping SignalPilot Updated

SignalPilot automatically checks for updates when you launch Jupyter Lab. When an update is available, you'll see a notification:

For minor updates:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ ๐Ÿ“ฆ SignalPilot Update โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Update Available: 0.11.8 (installed: 0.11.7)        โ”‚
โ”‚ Run 'sp upgrade' to update                          โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

For major updates:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ ๐Ÿ“ฆ SignalPilot Update โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Important Update: 0.12.0 (installed: 0.11.7)        โ”‚
โ”‚ This is a MAJOR update                              โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
Upgrade now? [y/n] (n):

Manual Upgrade

Upgrade both the CLI and library anytime:

uvx signalpilot@latest upgrade

Upgrade your project's local environment:

cd /path/to/project
uvx signalpilot@latest upgrade --project

Note: Update checks happen in the background and never slow down Jupyter startup. You can disable them in ~/SignalPilotHome/.signalpilot/config.toml if desired.

๐Ÿ“– Full upgrade guide: docs/UPGRADE-USER-GUIDE.md

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 Modes

SignalPilot offers three ways to launch Jupyter Lab:

Default Mode (Current Folder + Home Environment)

cd ~/projects/my-analysis
uvx signalpilot@latest lab

What this does:

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

โš ๏ธ Warning: If you have a local .venv with jupyter, you'll see a red warning prompting you to use --project flag.

Project Mode (Current Folder + Local Environment)

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

What this does:

  • Opens Jupyter Lab in your current directory
  • Uses local .venv in that directory (fails if missing)
  • 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@latest lab --project

Home Mode (SignalPilotHome Workspace + Home Environment)

uvx signalpilot@latest lab --home
# Or use the shortcut:
uvx signalpilot@latest home

What this does:

  • Opens Jupyter Lab in ~/SignalPilotHome directory
  • Uses home environment from ~/SignalPilotHome/.venv
  • Default workspace with all your skills, rules, and team notebooks

Pass Jupyter Lab Arguments

You can pass any Jupyter Lab flags after the command:

# Custom port
uvx signalpilot@latest lab --port=8889

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

# Combine with mode flags
uvx signalpilot@latest lab --project --port=8889
uvx signalpilot@latest home --no-browser

# Bind to all interfaces (remote access)
uvx signalpilot@latest 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@latest

No permanent installation needed. Perfect for most users. Always gets the latest version.

Option 2: Install with uv tool

uv tool install signalpilot
sp init

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

Note: Global installations don't auto-update. Reinstall periodically:

uv tool install --force signalpilot

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.6.1.tar.gz (421.1 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.6.1-py3-none-any.whl (25.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: signalpilot-0.6.1.tar.gz
  • Upload date:
  • Size: 421.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for signalpilot-0.6.1.tar.gz
Algorithm Hash digest
SHA256 891d25b012c4b2d79f867b4c69f2cb4545c4ed14fcab575c08c2cca8f2102917
MD5 ee9135790aeef5fd9c144bac634a2a73
BLAKE2b-256 b9d31602e4f642336009aa07bc9a5ad5ea9836c274383fb10e4392912537bb01

See more details on using hashes here.

File details

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

File metadata

  • Download URL: signalpilot-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 25.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for signalpilot-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9cb04e8e47083ce7e412e15550c1aca296881e6b019904104a7554e168d2a9b6
MD5 15b36241ed21bea4be7cf882b76a8cc6
BLAKE2b-256 57029a3678adc573480294e667a7207ca1f48bda7685a6aebeaf7ccdba8fc659

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