A CLI and GUI tool to convert PostgreSQL/MySQL databases to SQLite
Project description
DbConvert
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
- Convert a PostgreSQL database:
dbconvert convert --source postgres --conn "postgresql://user:password@dbhost:5432/mydb" --sqlite mydb.sqlite
- Convert a MySQL database:
dbconvert convert --source mysql --conn "mysql://user:password@dbhost:3306/production" --sqlite prod_backup.sqlite
- List supported database types:
dbconvert supported-databases
- 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
- Clone the repository:
git clone https://github.com/ysskrishna/dbconvert.git
cd dbconvert
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install development dependencies:
pip install -e .
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7a1b61cc3e9fcae6b2f9488453178eb11fd2fedf39a17bc65ac11fa9024b7da
|
|
| MD5 |
326d1d54e5a30015b5dd1d4de8219197
|
|
| BLAKE2b-256 |
b361d4bade90798e378ac20c44490fb78ff5a16b5723bde3b34557a33b388112
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d9fac3a84ff9501bbf4c22a18a94cb243a7b0f8edf43dfbd19f5050b46a358a
|
|
| MD5 |
49bd07b07f56edce0328c0e16e7ed276
|
|
| BLAKE2b-256 |
4a39da90c2625ce3a395dc8d961ee8de7fa55eac5db21fcf8c66262f40d9f9ee
|