Heidi's (silly?) friend — a wxPython-based reinterpretation of HeidiSQL
PeterSQL is a graphical client for database management, inspired by the excellent HeidiSQL, but written entirely in Python using wxPython, with a focus on portability and native look & feel.
The project is in active development and currently unstable. Features may be incomplete or change without notice.
Use at your own risk and do not rely on this project in production environments yet.
Over the years, I have used HeidiSQL as my primary tool for working with MySQL, MariaDB, SQLite, and other databases. It is a tool I deeply appreciate: streamlined, intuitive, and powerful.
Rather than trying to compete with HeidiSQL, PeterSQL started as a personal challenge: to recreate the same spirit in a pure Python application.
PeterSQL is not a 1:1 port. It is a Python-first reinterpretation, built with different goals in mind.
- 🐍 Written entirely in Python
- 🧩 Built entirely in Python to enable easy modification and extension
- 🎯 Focused on simplicity and clarity, inspired by HeidiSQL
- 🆓 Free and open source
PeterSQL exists for developers who love HeidiSQL’s approach, but want a tool that feels native to the Python ecosystem.
- Python 3.11+
- wxPython 4.2.4 - native cross-platform interface
- wxFormBuilder 4.2.1 - for the construction of the interface
PeterSQL uses uv for fast and reliable dependency management.
- Python 3.11+
- uv (install with:
curl -LsSf https://astral.sh/uv/install.sh | sh)
-
Clone the repository:
git clone https://github.com/gtripoli/petersql.git cd petersql -
Install dependencies (including dev tools for testing):
uv sync --group dev
-
Run the application:
uv run python main.py
For production deployments, install only functional dependencies:
uv syncTo run tests:
uv run --group dev pytestTo run mypy:
uv run --group dev mypy






