Skip to main content

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

  1. Install JupyterLab if you haven't already:
pip install jupyterlab>=4.0.0
  1. Install Jupyter Whisper:
pip install jupyter_whisper
  1. 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:


Made with ❤️ by Maxime

Note: This project is independent and not affiliated with Anthropic, OpenAI, or Perplexity AI.

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

jupyter_whisper-0.1.0b5.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

jupyter_whisper-0.1.0b5-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

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

Hashes for jupyter_whisper-0.1.0b5.tar.gz
Algorithm Hash digest
SHA256 2cd162a2e929f9cc520c17c98bc4e9206dda3c068d7afb64b188961993193f8c
MD5 69a6c1d6f8a4971d050c20d756361337
BLAKE2b-256 6fea218017bab15b4f07e025861e34e40269c3064d913a1ced6dac6f3c8127a6

See more details on using hashes here.

File details

Details for the file jupyter_whisper-0.1.0b5-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyter_whisper-0.1.0b5-py3-none-any.whl
Algorithm Hash digest
SHA256 1c7784cabf1ec86307bc33b40dad3cfd4a98d0438141631e2820f5968b660937
MD5 960e0b2b0effbec1fb943d1add572d26
BLAKE2b-256 6611890b38ce06432e1e4427332cb6f8d64c255723186cf2a8ec352efd020a5c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page