An AI-powered spreadsheet application that combines spreadsheet functionality with Python data analysis capabilities.
- Interactive Spreadsheet: Full-featured spreadsheet with formula support
- Python Analysis: Run Python code directly in your browser using WebAssembly
- Data Visualization: Create charts and visualizations from your data
- AI-Powered: Get intelligent suggestions and automated analysis
- Prompt Library: Access predefined prompts or save your own for quick reuse
Probly uses a modern architecture:
- Frontend: Next.js application that runs in the browser
- Python Execution: Pyodide (Python compiled to WebAssembly) runs entirely in the browser
- LLM Integration: OpenAI API calls are proxied through the server
This design means that data analysis happens locally in your browser, providing better performance and privacy.
- Node.js 18 or higher
- npm or yarn
- A modern web browser (Chrome, Firefox, Edge, or Safari)
- OpenAI API key
The easiest way to get started with Probly is using Docker:
-
Clone the repository:
git clone https://github.com/PragmaticMachineLearning/probly.git cd probly
-
Create a simple
.env
file with your OpenAI API key:OPENAI_API_KEY=your_api_key_here
-
Build and start the application:
docker compose build docker compose up -d
-
Access Probly at http://localhost:3000
The Docker container serves the Next.js application and handles API requests to OpenAI, while all Python code execution happens in your browser using WebAssembly.
If you prefer to run Probly without Docker:
-
Clone the repository
git clone https://github.com/PragmaticMachineLearning/probly.git cd probly
-
Install dependencies:
npm install
-
Create a
.env
file with your OpenAI API key:OPENAI_API_KEY=your_api_key_here
-
Start the development server:
npm run dev
-
For production, build and start:
npm run build npm start
- Start the application and open it in your browser
- Import data using the import button or start with a blank spreadsheet
- Open the AI chat with the keyboard shortcut:
- Windows/Linux:
Ctrl+Shift+?
- Mac:
⌘+Shift+?
(Command+Shift+?)
- Windows/Linux:
- Access the prompt library to use predefined prompts or save your own
- Ask questions about your data or request analysis
Action | Windows/Linux | Mac |
---|---|---|
Toggle AI Chat | Ctrl+Shift+? |
⌘+Shift+? (Command+Shift+?) |
Open Prompt Library | Ctrl+Shift+L |
⌘+Shift+L (Command+Shift+L) |
You can also pass the API key directly to Docker Compose:
OPENAI_API_KEY=your_api_key_here docker compose build
OPENAI_API_KEY=your_api_key_here docker compose up -d
To build a custom Docker image with your API key baked in:
docker build -t probly:custom --build-arg OPENAI_API_KEY=your_api_key_here .
docker run -p 3000:3000 probly:custom
- Frontend: Next.js 14, TypeScript, React
- Spreadsheet: Handsontable, HyperFormula
- Python Runtime: Pyodide (WebAssembly)
- LLM: OpenAI API
- Visualization: ECharts
For comprehensive documentation, visit the Probly Documentation.