Introduction
DataPyn is a desktop IDE built with Tauri for SQL and Python analysis in the same session.
Pynia is the AI built into DataPyn.
Mixed blocks
SQL and Python blocks in one file.
Per-block connections
Each SQL block can use a different connection.
Pynia
Chat with your data stack.
Monaco + offline SQL
Schema-aware editing, cross-database refs.
Installation
All downloads · Tauri releases
Choose the Tauri channel with tags tauri-vX.Y.Z. Python and the analysis libraries are bundled.
Windows
Windows x64: choose the Tauri Setup.exe or portable ZIP. Setup includes WebView2 and prepares the SQL Server ODBC driver.
Linux
Linux x64, Ubuntu 22.04+: choose DEB, AppImage, or tar.gz. SQL Server requires unixODBC and the Microsoft ODBC driver. AppImage supports extract-and-run when FUSE is unavailable.
macOS
macOS 14+, Apple Silicon: download the Tauri DMG and copy DataPyn Tauri to Applications. The current distribution may require permission in Privacy & Security.
Updates
Windows, Linux, and macOS use the signed Tauri update channel. When an update is ready, save your work and install it from the app.
From source
For contributors: Node.js 22, Rust 1.90+, Python 3.12+, uv, and the native dependencies documented in the repository.
git clone https://github.com/natharuc/datapyn.git
cd datapyn
uv sync --dev --frozen
npm --prefix desktop ci
npm --prefix desktop run desktop:dev
First connection
You need at least one saved connection.
- Open connections panel.
- New connection.
- Test and save.
- Connect to session.
Schema loads after connect.
Code blocks
A session is a stack of blocks.
Add or switch blocks
- Toolbar buttons
- Shortcuts
- Language picker
Named results
Name SQL blocks for Python.
-- block: sales
SELECT region, SUM(amount) AS total FROM orders GROUP BY region
# Python
print(sales.sort_values("total", ascending=False).head())
SQL editor
Monaco editor with SQL intelligence.
Offline intelligence
Schema-based autocomplete without internet.
Cross-database references
other_db..table notation.
SELECT p.nome, v.valor
FROM minha_base..vendas v
JOIN outro_catalogo..pessoa p ON p.id = v.pessoa_id
Pynia ghost text
Inline AI suggestions while typing.
Databases
Supported connectors:
| Database | Notes |
|---|---|
| SQL Server | Windows Auth, SQL Auth |
| MySQL | Multiple databases |
| PostgreSQL | Schemas |
| MariaDB | MySQL-compatible |
| SQLite | Local file |
| Databricks | SQL warehouse |
Execution
Common shortcuts:
| Shortcut | Action |
|---|---|
| F5 | Run selection or all |
| Ctrl+F5 | Run all in order |
| Shift+Enter | Run and advance |
SQL → Python
SQL results in Python:
SELECT category, SUM(revenue) AS total FROM sales GROUP BY category
# df or named block
df.plot(kind="bar", x="category", y="total", legend=False)
Visualization
Python charts and interactive result visualizations.
Pynia datapyn_chart tool.
Import & export
Drag & drop
CSV, Excel, JSON.
Export
- Results grid
- Python script
- Workspace .dpw
What is Pynia
Pynia is the chat layer in DataPyn.
Context-aware help for SQL, Python, schema.
DataPyn is free; providers may charge.
Agents & settings
Open Agents & configuration in the Pynia panel.
- GitHub Copilot
- Claude
- Cursor
- Codex
Chat
Open Pynia panel.
Reference blocks, variables, selection, and schema with @ references.
Choose a model and reasoning level when the agent exposes them.
Inline autocomplete
Ghost text in blocks.
Inline suggestions use an authenticated ACP agent.
Tools Pynia can call
Just ask naturally.
| Tool | What it does |
|---|---|
datapyn_snapshot | Workspace snapshot |
datapyn_inspect | Inspect block/variable |
datapyn_query | Quiet SQL/Python run |
datapyn_run | Visible run/write |
datapyn_edit | Edit blocks |
datapyn_blocks | Create/focus tabs |
datapyn_database | Connections & schema |
datapyn_chart | Charts |
datapyn_notify | Toasts |
Example prompts
Day-one ideas:
Explore data
- What tables are in this database?
- Summarize revenue by region for last quarter
- Find duplicates in the orders table
Charts
- Bar chart of the last query by category
- Plot monthly trend from block sales
Fix & automate
- Why did this SQL block fail?
- Refactor this query to use a CTE
- Add a Python block that exports top 100 rows to Excel
Keyboard shortcuts
Execution
| F5 | Run |
| Ctrl+F5 | Run all |
| Shift+Enter | Run + next |
| Ctrl+Enter | Run current block or selection |
Editing
| Ctrl+D | Duplicate line |
| Ctrl+/ | Toggle comment |
| Ctrl+F | Find |
| Ctrl+H | Replace |
| Ctrl+G | Go to line |
Tabs
| Ctrl+T | New tab |
| Ctrl+W | Close tab |
Blocks
| Ctrl+Shift+B | Add block |
Pynia & connections
| Ctrl+Shift+M | Manage connections |
| Toolbar / menu | Open Pynia |
FAQ
Windows Auth?
Choose Windows authentication.
Multiple DBs?
Per-block connection selector.
Password storage?
Connection credentials use the operating system credential store.
Open Pynia?
Toolbar, menu, or View dock.
Which provider?
Claude, Cursor, GitHub Copilot, and Codex agents.
Export .py?
Menu → Export → Python script.