Metadata-Version: 2.4
Name: jupydeep
Version: 0.1.3
Summary: Jupyter-Native AI Agent Engine
Project-URL: Homepage, https://github.com/yezhenqing/jupydeep#readme
Project-URL: Bug Tracker, https://github.com/yezhenqing/jupydeep/issues
Project-URL: Repository, https://github.com/yezhenqing/jupydeep.git
Author-email: Zheqning Ye <iamyezheqning@gmail.com>
License: BSD 3-Clause License
        
        Copyright (c) 2025, Project Jupyter Contributors
        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: agents,ai,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.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Requires-Dist: deepdiff>=9.0.0
Requires-Dist: fastmcp>=3.2.0
Requires-Dist: jupyter-collaboration>=4.3.0
Requires-Dist: jupyter-kernel-client>=0.9.0
Requires-Dist: jupyter-mcp-server
Requires-Dist: jupyter-server-client>=0.1.1
Requires-Dist: jupyter-ydoc>=3.0.0
Requires-Dist: jupyterlab>=4.5.8
Requires-Dist: matplotlib>=3.10.8
Requires-Dist: mcp>=1.27.0
Requires-Dist: pydantic-ai>=1.106.0
Requires-Dist: pydantic-deep[all,liteparse]>=0.3.28
Requires-Dist: seaborn>=0.13.2
Provides-Extra: test
Requires-Dist: ipykernel; extra == 'test'
Requires-Dist: pytest-jupyter; extra == 'test'
Requires-Dist: pytest>=7.0; extra == 'test'
Description-Content-Type: text/markdown

# JupyDeep: Your AI partner in Jupyter

[![Build](https://github.com/yezhenqing/jupydeep/actions/workflows/build.yml/badge.svg)](https://github.com/yezhenqing/jupydeep/actions/workflows/build.yml)

**JupyDeep** is an AI-native extension for JupyterLab, your always-on intelligent partner powered by Pydantic AI/Agents and beyond.

<!--
![JupyDeep Main Panel](https://github.com/yezhenqing/jupydeep/tree/main/assets/images/jupydeep_demo.png)
-->
<div align="center">
<img src="./assets/images/jupydeep_demo.png" width="600" height="600">
</div>

JupyDeep bridges the gap between large language models and complex, high-performance data analysis workflows. By integrating an intelligent agent engine directly into the Jupyter ecosystem, it transforms your standard workspace into a reactive, collaborative, and AI-assisted environment. Crucially, instead of piping your Jupyter context to external third-party services, JupyDeep is designed to embed AI agents as native citizens within your local Jupyter environment. With it, you can configure diverse agents by simply binding them to specific MCP tools, custom skills, and a wide array of underlying features.

> ⚠️ **Note:** JupyDeep is an active proof of concept under rapid development. Because its underlying foundation—including Pydantic AI/Agents—is also evolving quickly, unexpected issues may arise. We appreciate your patience as we lay the groundwork for a mature future.

## 🗺️ Roadmap / Upcoming Features

- **Conversation Persistence & Checkpoint Rewind** (State management)
- **Multimodal Capabilities** (Voice, images, and visual reasoning)
- **Collaborative AI Workspaces** (Multi-user shared sessions)
- **Cross-Domain Data Analysis Demos** (Bioinformatics, network algorithm, etc.)
- **And much more...**

Please visit our [Documentation](https://yezhenqing.github.io/jupydeep/) for installation, guides, examples, and more (link coming soon).

## 🚀 Getting Started

Please install it via pip or uv first (here we use uv as an example)

```bash
  uv init
  uv add jupyterlab jupydeep
```

Then simply launch JupyterLab as below

```bash
  uv run jupyter lab
```

After installing **JupyDeep** for the first time, you'll need to configure a few settings to get the engine running:

1. **Locate Settings:** Open the JupyterLab Settings Editor and search for options prefixed with `jupydeep`.
2. **Configure Your LLM (Required) and MCP (Recommended):** The agent engine requires an LLM backend to function. Set up your model provider (e.g., OpenAI) and the Jupyter MCP by following the configurations below:

<!--
![LLM Configuration](https://github.com/yezhenqing/jupydeep/tree/main/assets/images/jupydeep_llm.png)
-->
<table align="center">
  <tr>
    <td><img src="./assets/images/jupydeep_llm.png" width="400"></td>
    <td><img src="./assets/images/jupydeep_mcp.png" width="400"></td>
  </tr>
</table>

3. **Meet Your Built-in Agents:** Once your LLM is connected, two default agents will instantly populate your `jupydeep.agent` panel:
   - 🐵 **Wu Kong:** Built for heavy-lifting code execution and technical problem-solving.
   - 🐴 **Monk Tang:** Built for high-level tactical planning and orchestration.
     <!--
     ![Agent Configuration](https://github.com/yezhenqing/jupydeep/tree/main/assets/images/jupydeep_agent.png)
     -->
     <div align="center">
     <img src="./assets/images/jupydeep_agent.png" width="450" height="400">
     </div>

> 💡 **Go Beyond the Defaults:** You can easily tweak their skillsets or register your own custom agents in the workspace. Head over to our [Documentation](https://yezhenqing.github.io/jupydeep/) for the full customization guide. If the agents aren't visible, try refreshing the page; that might help.

## 🤝 Contributing

We welcome all forms of contributions—whether it's fixing bugs, improving documentation, or proposing new functionality.

### Local Development Setup

JupyDeep consists of a Python backend (`Hatch` / `uv`) and a TypeScript-based JupyterLab frontend extension (`yarn` / `jlpm`). Follow the steps below to set up your local development environment:

**Clone the repository:**

```bash
git clone https://github.com/yezhenqing/jupydeep.git
cd jupydeep
```

**Install dependencies and create a virtual environment**:

We highly recommend using uv for fast and robust package and environment management:

```
uv sync
uv pip install -e .
```

Since JupyDeep adheres to standard JupyterLab architecture, please refer to the official JupyterLab Extension Examples for detailed frontend compilation (jlpm build, jlpm watch) and source extension link workflows.

## ✨ Acknowledgments

### Open-Source Credits

JupyDeep is built upon exceptional open-source projects, including the Jupyter ecosystem, Pydantic AI/Agents, and jupyter-mcp-server/tools from Datalayer, among others. We extend our deepest gratitude to all the creators and contributors who made this work possible.

### AI Disclosure / Development Statement

AI was used primarily as a conversational sounding board for debugging; all core architecture and code logic remain purely human-authored.
