General Introduction
Probly is a spreadsheet tool developed by the PragmaticMachineLearning team and open-sourced on GitHub that combines the functionality of a traditional spreadsheet with powerful AI data analysis capabilities. Not only does it allow users to manage data like Excel, but it also enables in-depth analysis and visualization of data directly through the built-in Python runtime environment and AI chat. Whether it's organizing data, calculating formulas, generating charts, or leveraging AI for insights, Probly is a one-stop shop. The project uses modern front-end technologies (such as Next.js and React) and Pyodide (Python runtime based on WebAssembly), suitable for data enthusiasts, developers and small teams that need to quickly analyze data. As an open source project, users are free to download, modify and contribute to the code, which is both practical and extensible.
Function List
- Interactive spreadsheets: Provides an Excel-like table interface with support for formula calculations and data editing.
- Python Data Analysis: Run code to process tabular data directly through the built-in Python environment.
- data visualization: Generate dynamic charts based on ECharts, such as bar charts, line charts, etc.
- AI Chat Analytics: Intelligent advice and automated data interpretation through the OpenAI API.
- Data import and management: Supports external data import to easily manage multi-source datasets.
- Open Source and Customization: Users can modify the source code to customize exclusive features that meet their needs.
Using Help
Installation process
Probly is a web-based tool, but requires local deployment to fully utilize its features. Below are detailed installation steps to help you get started quickly:
- Project Clone to Local
- Open a terminal (e.g. CMD for Windows or Terminal for macOS).
- Enter the command:
git clone https://github.com/PragmaticMachineLearning/probly.git
The project will be downloaded locally after Enter. - Go to the project catalog:
cd probly
The
- Installation of dependencies
- Make sure you have Node.js installed on your computer (recommended version 18 or above, downloadable from the official website).
- Enter it in the terminal:
npm install
This step will download the front-end frameworks such as Next.js, React, and related libraries. This step downloads front-end frameworks such as Next.js, React, and related libraries.
- Configuring OpenAI API Keys
- In the project root directory, create the
.env
file (which can be created with a text editor such as VS Code). - Enter it in the file:
OPENAI_API_KEY=your API key
, save the file. - How do I get a key? Log in to the OpenAI website, register an account and generate a key on the API management page, copy and paste it into the
.env
Documentation.
- In the project root directory, create the
- Initiate development mode
- Enter it in the terminal:
npm run dev
The system will start the local server after Enter. - Open your browser and visit
http://localhost:3000
You can see Probly's interface.
- Enter it in the terminal:
- Production environment deployment (optional)
- If you need to use it formally, enter
npm run build
Build the project, then typenpm run start
Initiation. - Upon completion, Probly will run in a production environment out of the box.
- If you need to use it formally, enter
How to use the main features
1. Data entry and editing
- Launch form: Once on Probly's homepage, you'll see a blank spreadsheet interface, based on Handsontable, that operates like Excel.
- manual input: Enter data directly into the cell, e.g. "Sales" in A1, "1000" in A2.
- Import data: Click the "Import" button at the top of the interface, and select the local
.csv
maybe.xlsx
file, the data is automatically populated into the table. - formula calculation: Supports HyperFormula formulas, e.g. in B1 input.
=SUM(A1:A10)
The sum of columns A and B can be calculated.
2. Python data analysis
- Open the Python environment: Find the code editor on the right side of the interface and click on the "Python" tab.
- Write code: Assuming that the form has sales data, you can enter the following code:
import pandas as pd data = probly.get_data() # Get table data average = data['Sales'].mean() # Calculate the average value print(f "Average sales: {average}")
- running code: Click on the "Run" button and the results will be displayed in the output area below.
- Save results: The results of the analysis can be written directly back into the table, e.g.
probly.set_data('B1', average)
The
3. Data visualization
- Generate Charts: Select the data area to be visualized (e.g. A1:B10) and click on the "Visualize" button at the top.
- Select Type: In the pop-up window, select the type of chart (e.g. bar chart, line chart) and click "Generate".
- Adjusting the styleSupport for adjusting colors, labels, etc. Click "Save" to embed the chart on the page when you are done.
- typical exampleAssuming Column A is the date and Column B is the sales, the trend can be clearly seen after generating a line graph.
4. AI chat analytics
- Open AI Chat: Press the shortcut key
Ctrl+Shift+/
, a chat window will pop up on the right side. - Asking questions about data: Enter "How are sales trending?" or "What data points are unusual?" .
- Get Advice: AI will analyze and give answers based on tabular data, such as "Sales grew 20% in March, suggesting to focus on this range".
- operation suggestion: AI may also recommend visualizations or Python code that can be executed with a single click.
5. Data management and export
- multi-table management: Support creating multiple worksheets, click the "+" sign at the bottom to add a new sheet.
- Export data: Click on the "Export" button and select
.csv
maybe.json
format to save locally.
Example of operation flow
Suppose you want to analyze a sales data:
- import (data)
sales.csv
file, containing both date and sales columns. - Check the data in the table to make sure there are no errors.
- Calculate the average with Python code and write it to cell C1.
- Select A1:B10 to generate a line graph to view the trend.
- Open an AI chat and ask, "What were the best performing months?" and adjust your strategy based on the recommendations.
- Export the analyzed tables and charts and share them with the team.
caveat
- network requirement: The AI feature requires networking and ensuring that the OpenAI API key is valid.
- Browser compatibility: Chrome or Firefox is recommended to ensure WebAssembly support.
- code debugging: Checks for correct syntax or data formatting when Python runs into errors.
With the above steps, you can easily use Probly to complete data organization, analysis and visualization, and greatly improve work efficiency.