Skip to main content
Time commitment: 5 minutes Outcome: Complete a real data analysis with SignalPilot’s AI agent

Step 1: Install SignalPilot

Prerequisites: macOS, Linux, or Windows (WSL) • Internet connection Install SignalPilot:
uvx signalpilot
Install uv first (takes seconds):
curl -LsSf https://astral.sh/uv/install.sh | sh
Then run SignalPilot:
uvx signalpilot
See uv installation guide for other methods (Homebrew, Windows, etc.)
What happens:
 Creating workspace at ~/SignalPilotHome
 Installing isolated Python 3.12 + Jupyter Lab + SignalPilot extension
 Installing data packages (pandas, numpy, matplotlib, plotly...)
 Setup complete in ~2 minutes

 Launching Jupyter Lab at http://localhost:8888
Option 1: Using uvx (recommended)
uvx signalpilot home
Option 2: Manual activation
cd ~/SignalPilotHome
source .venv/bin/activate && jupyter lab
See the Installation Guide for:
  • Manual installation with pip, conda, or uv
  • Working in different modes (default, home, project)
  • Auto-update configuration
  • Troubleshooting

Step 2: Create Your First Notebook

1

Create a new notebook

Your browser opened Jupyter Lab at http://localhost:8888You’ll see the SignalPilot panel in the left and right sidebar.Click File → New → Notebook and select Python 3Name it revenue-analysis.ipynb
Always use the default Python 3 kernel. SignalPilot uses this kernel and may not work with other kernels due to missing system variables.
2

Load your data

Option 1: Use local files (recommended)Type @ in the SignalPilot chat to mention any CSV, Excel, or data file:
  • Home workspace: ~/SignalPilotHome/data/
  • Project folder: ./data/ in current working project directory
Use the File Scanner in the left sidebar to add more folders to index.
Option 2: Generate sample dataIf you don’t have data files, create sample data in the first cell:
import pandas as pd
import numpy as np

# Create sample revenue data
dates = pd.date_range('2025-01-01', '2025-12-31', freq='D')
revenue = pd.DataFrame({
    'date': dates,
    'revenue': np.random.randint(1000, 5000, len(dates)) +
               (np.sin(np.arange(len(dates)) / 7) * 500).astype(int)
})

revenue.head()
Expected: DataFrame loaded from file or displayed from generated data
3

Ask SignalPilot to analyze

Open the SignalPilot chat panel (left sidebar) and ask:
Analyze this revenue data. Show me:
1. Total revenue for the year
2. Average daily revenue
3. A time-series plot showing trends
4. Identify any anomalies or patterns
Expected: SignalPilot creates multiple cells with:
  • Aggregation queries
  • Visualization code
  • Statistical analysis
  • Interpretation of results
4

Iterate on the analysis

Ask a follow-up question:
What's the week-over-week revenue growth rate? Show me a chart.
Expected: SignalPilot adds new cells calculating WoW growth and visualizing it

What You Just Learned

SignalPilot automatically understood the revenue dataframe in your kernel and used it without you having to copy-paste or describe it.
The agent broke down your request into multiple steps: aggregation, visualization, and interpretation.
You asked a follow-up question, and SignalPilot used context from the previous analysis to build on it.
SignalPilot wrote executable pandas and matplotlib code directly into notebook cells.

Next Steps

Troubleshooting

Solution: Ensure you’ve executed the cell that creates the dataframe. SignalPilot reads from the active kernel state.
Solution: Check that you’re in Agent Mode (not Ask Mode). You can switch modes in the SignalPilot panel.
Solution: Ensure matplotlib is installed: uv add matplotlib