A modern, secure, aesthetic and your ultimate DBMS client. Implemented as a CLI (Command-Line Interface) tool and written 100% in Python
Project description
PY DBMS — A Modern, Secure MySQL CLI Client
Stable Release — v2.5.0
PY DBMS is a modern, developer-focused command-line client for MySQL, built with Python.
It provides a clean terminal UI, readable query output, and powerful helper commands—without sacrificing safety or simplicity.
Designed for developers who live in the terminal but want a more structured, reliable experience than the default MySQL CLI.
Key Features
Terminal UX
- Rich-based terminal interface with structured panels and tables
- Clean, readable formatting for query results
- Typewriter-style text rendering for status messages
- ASCII startup banner and session dashboard
Query Execution
- Multi-line SQL query support
- Accurate execution feedback (success, warnings, errors)
- Execution time reporting for SELECT queries
- Separate handling for SELECT vs DML / DDL operations
Configuration & Control
- Persistent JSON-based configuration system (
config.json) - Session-level configuration for runtime behavior changes
- Inline query flags (e.g.
--expand) for per-query output overrides - Interactive configuration inspection and modification via meta-commands
Security
- Masked password input
- Safe defaults for local development
- No credential persistence
Installation
Prerequisites
- Python 3.10+ (recommended)
- A running MySQL Server
Install via pip
pip install py-dbms-cli
Usage
1. Run from your terminal
pydbms
2. When prompted, enter credentials to establish connection with MySQL You will be prompted for:
- Host
- Username
- Password (masked)
3. Begin querying
Enter SQL commands as you normally would.
Multi-line queries are supported and executed once terminated with ;.
Meta Commands
PY DBMS includes several helper commands for interactive usage:
| Command | Description |
|---|---|
.help |
Show all helper commands |
.databases |
List all databases |
.tables |
List tables in the current database |
.schema <table> |
Show CREATE TABLE definition |
.clear |
Clear the terminal screen |
.version |
Show build and version information |
.config |
Show persistent configuration |
.config set <section>.<key> <value> |
Update a config value |
.config reset <section>.<key> |
Reset a config value |
.session-config |
Show session-level configuration |
.session-config set <key> <value> |
Update session-only settings |
.session-config reset <key> |
Reset a session setting |
.exit |
Exit the CLI |
Roadmap
Planned future improvements include:
- Exporting query results to CSV and JSON
- Extended output formatting options
- Support for additional database engines
- Improved extensibility for plugins and integrations
Author
Anish Sethi
B.Tech Computer Science & Engineering
Delhi Technological University (Class of 2029)
License
This project is licensed under the BSD 3-Clause License.
Visit the BSD 3-Clause License page for more information.
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 py_dbms_cli-2.5.0.tar.gz.
File metadata
- Download URL: py_dbms_cli-2.5.0.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ce4f6788df9359c66e385fcb4969b4e8903797aaa77e165716dc2565a54dac4
|
|
| MD5 |
7ee391ce277d04425579746d7abec516
|
|
| BLAKE2b-256 |
257da92d389a22ec761abfd62faf7e7a24839dd21a89a3399cf6f555413afea6
|
File details
Details for the file py_dbms_cli-2.5.0-py3-none-any.whl.
File metadata
- Download URL: py_dbms_cli-2.5.0-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15073b886d4f6be0d19385e49464789170e2b984779b4a6a3c7244939d5d7920
|
|
| MD5 |
1e630710752c46299e91439742b34888
|
|
| BLAKE2b-256 |
dcce7de4042b99e6a943012d479c71c3b96c55d6ead7fc70e8726bb06f354cbd
|