Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_dbms_cli-2.5.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

py_dbms_cli-2.5.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

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

Hashes for py_dbms_cli-2.5.0.tar.gz
Algorithm Hash digest
SHA256 6ce4f6788df9359c66e385fcb4969b4e8903797aaa77e165716dc2565a54dac4
MD5 7ee391ce277d04425579746d7abec516
BLAKE2b-256 257da92d389a22ec761abfd62faf7e7a24839dd21a89a3399cf6f555413afea6

See more details on using hashes here.

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

Hashes for py_dbms_cli-2.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 15073b886d4f6be0d19385e49464789170e2b984779b4a6a3c7244939d5d7920
MD5 1e630710752c46299e91439742b34888
BLAKE2b-256 dcce7de4042b99e6a943012d479c71c3b96c55d6ead7fc70e8726bb06f354cbd

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