Skip to main content

A CLI and GUI tool to convert PostgreSQL/MySQL databases to SQLite

Project description

DbConvert

Python SQLAlchemy Typer License: MIT

Convert your PostgreSQL or MySQL database to an SQLite file with ease. DbConvert provides both a modern Command-Line Interface (CLI) and a user-friendly Graphical User Interface (GUI).

Features

  • Convert PostgreSQL databases to SQLite
  • Convert MySQL databases to SQLite
  • Command-line interface for fast, scriptable usage
  • Graphical user interface for easy, no-code conversion
  • Preserves table structures and data
  • Supports all common data types
  • Rich progress display and error reporting

Installation

You can install DbConvert using pip:

pip install dbconvert

To use the GUI, install with the extra dependencies:

pip install dbconvert[gui]

Requirements

  • Python 3.8 or higher
  • PostgreSQL or MySQL database to convert from
  • (For GUI) Pillow >= 10.0.0

Usage

Command Line Interface (CLI)

dbconvert [COMMAND] [OPTIONS]

Commands:
  convert              Convert a database to SQLite
  supported-databases  Show supported database types
  gui                  Launch the graphical user interface

Options for convert:
  --source TEXT    Source database type (postgres, mysql)  [required]
  --conn TEXT      Source database connection string         [required]
  --sqlite TEXT    Target SQLite database file path         [required]
  --help          Show this help message and exit

Connection String Format

PostgreSQL
postgresql://[user[:password]@][host][:port][/dbname]
MySQL
mysql://[user[:password]@][host][:port][/dbname]

CLI Examples

  1. Convert a PostgreSQL database:
dbconvert convert --source postgres --conn "postgresql://user:password@dbhost:5432/mydb" --sqlite mydb.sqlite
  1. Convert a MySQL database:
dbconvert convert --source mysql --conn "mysql://user:password@dbhost:3306/production" --sqlite prod_backup.sqlite
  1. List supported database types:
dbconvert supported-databases
  1. Launch the GUI:
dbconvert gui

Graphical User Interface (GUI)

After installing with GUI support, launch the GUI with:

dbconvert gui
  • Select your source database type, enter the connection string, and choose the target SQLite file path.
  • Click "Convert" to start the conversion process.
  • The GUI provides progress and error reporting, and allows you to reset or clear output easily.

Development

Setup Development Environment

  1. Clone the repository:
git clone https://github.com/ysskrishna/dbconvert.git
cd dbconvert
  1. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install development dependencies:
pip install -e .
  1. Install development dependencies with GUI support:
pip install -e ".[gui]"

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

If you encounter any issues or have questions, please open an issue on GitHub.

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

dbconvert-1.2.0.tar.gz (50.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dbconvert-1.2.0-py3-none-any.whl (50.5 kB view details)

Uploaded Python 3

File details

Details for the file dbconvert-1.2.0.tar.gz.

File metadata

  • Download URL: dbconvert-1.2.0.tar.gz
  • Upload date:
  • Size: 50.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.5

File hashes

Hashes for dbconvert-1.2.0.tar.gz
Algorithm Hash digest
SHA256 c7a1b61cc3e9fcae6b2f9488453178eb11fd2fedf39a17bc65ac11fa9024b7da
MD5 326d1d54e5a30015b5dd1d4de8219197
BLAKE2b-256 b361d4bade90798e378ac20c44490fb78ff5a16b5723bde3b34557a33b388112

See more details on using hashes here.

File details

Details for the file dbconvert-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: dbconvert-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 50.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.5

File hashes

Hashes for dbconvert-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2d9fac3a84ff9501bbf4c22a18a94cb243a7b0f8edf43dfbd19f5050b46a358a
MD5 49bd07b07f56edce0328c0e16e7ed276
BLAKE2b-256 4a39da90c2625ce3a395dc8d961ee8de7fa55eac5db21fcf8c66262f40d9f9ee

See more details on using hashes here.

Supported by

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