AI-Powered Chat Interface for Jupyter Notebooks
Project description
JupyterWhisper - AI-Powered Chat Interface for Jupyter Notebooks
JupyterWhisper transforms your Jupyter notebook environment by seamlessly integrating Claude AI capabilities. This extension enables natural chat interactions, intelligent code execution, and voice command features to enhance your notebook workflow.
✨ Key Features
- 🤖 Native integration with Claude 3.5 Sonnet
- 🎯 Intelligent code execution and cell management
- 🔍 Advanced search capabilities powered by Perplexity AI
- 🎙️ Voice command support using OpenAI Whisper
- 📝 Context-aware text processing and formatting
- 💬 Comprehensive chat history management
- ⚡ Real-time streaming responses
🚀 Installation
pip install jupyter_whisper
📋 Requirements
- Python 3.7+
- JupyterLab 4.0+ (important: this extension is designed for JupyterLab, not classic Notebook)
- Jupyter Notebook 7.0+ (if using Notebook instead of Lab)
- Required API keys:
- Anthropic API key (for Claude integration)
- OpenAI API key (optional, for voice features)
- Perplexity API key (for advanced search capabilities)
Installation Steps
- Install JupyterLab if you haven't already:
pip install jupyterlab>=4.0.0
- Install Jupyter Whisper:
pip install jupyter_whisper
- Start JupyterLab:
jupyter lab
JupyterLab Compatibility
JupyterWhisper is specifically designed and tested for JupyterLab 4.0+. While it may work in classic Jupyter Notebook (7.0+), we recommend using JupyterLab for the best experience and full feature support.
Key compatibility notes:
- Voice features require a modern browser
- WebSocket support is required for real-time streaming
- Some features may require JupyterLab extensions to be enabled
🏁 Quick Start
1. Configure API Keys
The easiest way to set up your API keys is using the built-in configuration tool:
from jupyter_whisper import setup_jupyter_whisper
setup_jupyter_whisper()
This will:
- Guide you through entering your API keys
- Securely store them in
~/.jupyter_whisper/config.json
- Make them available for all future sessions
Alternative configuration methods:
Environment Variables (Linux/MacOS)
# Add to ~/.bashrc or ~/.zshrc
echo 'export ANTHROPIC_API_KEY="your-key-here"' >> ~/.bashrc
echo 'export OPENAI_API_KEY="your-key-here"' >> ~/.bashrc # Optional for voice features
echo 'export PERPLEXITY_API_KEY="your-key-here"' >> ~/.bashrc # For search features
source ~/.bashrc
Environment Variables (Windows)
# Run in PowerShell as administrator
[Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "your-key-here", "User")
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "your-key-here", "User")
[Environment]::SetEnvironmentVariable("PERPLEXITY_API_KEY", "your-key-here", "User")
Direct Python Configuration
import os
# Set environment variables programmatically
os.environ["ANTHROPIC_API_KEY"] = "your-key-here"
os.environ["OPENAI_API_KEY"] = "your-key-here" # Optional for voice
os.environ["PERPLEXITY_API_KEY"] = "your-key-here" # For search
2. Import and Use
import jupyter_whisper as jw
💡 Usage
Basic Chat
Interact with the AI using the %%user
magic command:
%%user
How do I read a CSV file using pandas?
Online Search
Access web information directly within your notebook:
style = "Be precise and concise"
question = "What's new in Python 3.12?"
search_online(style, question)
Voice Commands
Leverage voice input capabilities:
- Control recording with keyboard shortcuts
- Automatic speech-to-text conversion
- Seamless chat interface integration
History Management
Access your conversation history:
hist() # Display formatted chat history
🛠️ Advanced Features
Magic Commands
%%user [index]
- Initiate a user message%%assistant [index]
- Include assistant response- Multi-language support (Python, R, SQL, etc.)
Smart Processing
- Automatic code detection and execution
- Dynamic cell type conversion
- Live markdown rendering
- Syntax highlighting support
🔧 Development
Setup Development Environment
git clone https://github.com/yourusername/jupyter_whisper.git
cd jupyter_whisper
pip install -e ".[dev]"
Running Tests
python -m pytest tests/
🤝 Contributing
We welcome contributions! Please submit your Pull Requests.
📄 License
MIT License - see LICENSE for details
🙏 Credits
Powered by:
- Claude by Anthropic
- OpenAI Whisper
- Perplexity AI
Made with ❤️ by Maxime
Note: This project is independent and not affiliated with Anthropic, OpenAI, or Perplexity AI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file jupyter_whisper-0.1.0b5.tar.gz
.
File metadata
- Download URL: jupyter_whisper-0.1.0b5.tar.gz
- Upload date:
- Size: 20.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cd162a2e929f9cc520c17c98bc4e9206dda3c068d7afb64b188961993193f8c |
|
MD5 | 69a6c1d6f8a4971d050c20d756361337 |
|
BLAKE2b-256 | 6fea218017bab15b4f07e025861e34e40269c3064d913a1ced6dac6f3c8127a6 |
File details
Details for the file jupyter_whisper-0.1.0b5-py3-none-any.whl
.
File metadata
- Download URL: jupyter_whisper-0.1.0b5-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c7784cabf1ec86307bc33b40dad3cfd4a98d0438141631e2820f5968b660937 |
|
MD5 | 960e0b2b0effbec1fb943d1add572d26 |
|
BLAKE2b-256 | 6611890b38ce06432e1e4427332cb6f8d64c255723186cf2a8ec352efd020a5c |