Metadata-Version: 2.4
Name: signalpilot_ai
Version: 0.4.3
Summary: SignalPilot Agent - Your Jupyter Notebook Assistant
Project-URL: Homepage, https://signalpilot.ai/
Author-email: Daniel Schaffield <danielschaffield@gmail.com>
License: BSD 3-Clause License
        
        Copyright (c) 2025, Daniel Schaffield
        All rights reserved.
        
        Redistribution and use in source and binary forms, with or without
        modification, are permitted provided that the following conditions are met:
        
        1. Redistributions of source code must retain the above copyright notice, this
           list of conditions and the following disclaimer.
        
        2. Redistributions in binary form must reproduce the above copyright notice,
           this list of conditions and the following disclaimer in the documentation
           and/or other materials provided with the distribution.
        
        3. Neither the name of the copyright holder nor the names of its
           contributors may be used to endorse or promote products derived from
           this software without specific prior written permission.
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
        AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
        DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
        FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
        SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
        CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
        OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
        OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License-File: LICENSE
Keywords: jupyter,jupyterlab,jupyterlab-extension
Classifier: Framework :: Jupyter
Classifier: Framework :: Jupyter :: JupyterLab
Classifier: Framework :: Jupyter :: JupyterLab :: 4
Classifier: Framework :: Jupyter :: JupyterLab :: Extensions
Classifier: Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.9
Requires-Dist: jupyter-server<3,>=2.4.0
Requires-Dist: pandas>=2.0.0
Provides-Extra: test
Requires-Dist: coverage; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-asyncio; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-jupyter[server]>=0.6.0; extra == 'test'
Description-Content-Type: text/markdown

# **SignalPilot Agent — The AI-Powered Assistant for Jupyter Notebooks**

![Logo](https://i.imgur.com/JdA8ilQ.png)

---

## **What is SignalPilot Agent?**

**SignalPilot is an AI-native notebook assistant that supercharges your existing Jupyter workflows.**

Built by leading AI and quant researchers from YC, Harvard, MIT, and Goldman Sachs, SignalPilot brings real-time, context-aware assistance directly into JupyterLab.

Use natural language to clean data, write analysis code, debug errors, explore dataframes, and build models—faster and with fewer mistakes.

**No hallucinated code. No context switching. Just faster insights.**

---

## **Why Use SignalPilot Agent in Jupyter?**

Whether you’re a quant, data scientist, or analyst living in notebooks, SignalPilot helps you:

✅ Clean and transform messy data in seconds

✅ Visualize trends, rollups, and anomalies from a prompt

✅ Connect your custom databases in one click and easily explore from notebooks 

✅ Generate *runnable* Python or SQL that fits your current cell + variable context

✅ Auto-detect schema changes and debug downstream errors

✅ Stay private: run entirely *local-first* or in your own secure VPC

✅ Extend JupyterLab without changing how you work

---

## **Perfect For:**

- Data scientists cleaning huge CSVs
- Quant researchers testing ML pipelines
- Product and analytics teams tired of building dashboards and flaky notebooks
- Anyone tired of LLM tools that break their code

---

## **Installation**

### **📦 Requirements**

- JupyterLab >= 4.0.0
- NodeJS (for development)

### **🧠 Install SignalPilot Agent:**

```
pip install jupyterlab signalpilot_ai
```

### **❌ Uninstall:**

```
pip uninstall signalpilot_ai
```

---

## **How to Get Started**

To unlock full functionality, you’ll need SignalPilot API credentials.

👉 [**Request your API key**](https://signalpilot.ai/#contact) or email us at [fahim@signalpilot.ai](mailto:fahim@signalpilot.ai)

---

## **Why SignalPilot**

- ✅ Context-aware code gen: understands variables, dataframes, imports, and prior cells
- ✅ AI that *fixes* schema issues and silent join bugs
- ✅ Inline review + diffs before you run any code
- ✅ Visualizations via natural language (matplotlib, plotly, seaborn supported)
- ✅ BYO LLM: Anthropic, OpenAI, vLLM, Ollama, or HF endpoints
- ✅ Built to run in air-gapped / enterprise environments

---

## **Local Development Instructions**

To contribute or develop locally:

```
# Clone the repo and enter the directory
git clone https://github.com/sagebook/signalpilot_ai.git
cd signalpilot_ai

# Install in editable mode
pip install -e "."

# Link extension to JupyterLab
jupyter labextension develop . --overwrite

# Rebuild on changes
jlpm build
```

For auto-rebuild while editing:

```
# Watch source
jlpm watch

# Run JupyterLab in parallel
jupyter lab
```

---

## **Uninstall in Dev Mode**

```
pip uninstall signalpilot_ai
# Then manually remove labextension symlink from JupyterLab extensions dir.
```

---

## **Want to See SignalPilot in Action?**

🎥 Try the demo notebook or explore at [https://signalpilot.ai](https://signalpilot.ai/)

---

**Built for teams working with sensitive data:**

- Zero data retention by default
- Optional BYO keys for Claude, OpenAI, or local models
- Notebook-specific controls for what the model can “see”
- Fine-grained telemetry settings

---

## **Contact**

Questions? Ideas?

Email: [fahim@signalpilot.ai](mailto:fahim@signalpilot.ai)

Website: [https://signalpilot.ai](https://signalpilot.ai/)

---

AI Jupyter Notebook, JupyterLab Extension, Jupyter Assistant, Data Science Assistant, Jupyter LLM, AI code generation, dataframe cleaning, Jupyter AI, SignalPilot, SignalPilot Agent, AI for dataframes, Jupyter SQL assistant, notebook extension
