Metadata-Version: 2.4
Name: py-dbms-cli
Version: 2.1.0
Summary: A modern, secure, aesthetic and your ultimate DBMS client. Implemented as a CLI (Command-Line Interface) tool and written 100% in Python
Author-email: Anish Sethi <sethi.dynasty123@gmail.com>
License: Copyright 2025 Anish Sethi
        
        Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
        
        1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
        
        2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
        
        3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Project-URL: Homepage, https://github.com/Anish-Sethi-12122/py-dbms-cli
Project-URL: Source, https://github.com/Anish-Sethi-12122/py-dbms-cli
Project-URL: Issues, https://github.com/Anish-Sethi-12122/py-dbms-cli/issues
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mysql-connector-python
Requires-Dist: rich
Requires-Dist: pyfiglet
Requires-Dist: sqlparse
Requires-Dist: pwinput
Dynamic: license-file

**EXPERIMENTAL RELEASE**

PY DBMS — A Modern, Secure, All-in-One DBMS CLI Client

PY DBMS is a lightweight, secure, and modern command-line database client built using Python.
It provides a clean user experience, readable output formatting, and convenient helper commands while connecting to MySQL.

This tool is designed for developers who prefer the terminal but want a more enhanced experience than the default MySQL CLI.

Features
Visual & UI

Rich-based terminal interface for clean, formatted output

Typewriter-style text rendering

ASCII banner and structured dashboard

Tabular display for query results

Password masking during login

Functional

Multi-line SQL query support

Built-in meta commands (.help, .tables, .schema, .version, etc.)

Execution time for SELECT queries

Graceful error handling (no session crashes)

Security

Secure password input using masked characters

Localhost defaults for safe development usage

Installation

Prerequisites

Python (3.10 or newer recommended)

A running MySQL Server

Install using pip:

pip install py-dbms-cli


All required dependencies are installed automatically.

Usage

1. Start the CLI
pydbms

2. Enter MySQL login credentials

You will be prompted for:

Host

Username

Password (masked using *)

3. Begin querying

Enter SQL commands as you normally would. The client supports multi-line queries and executes them once terminated with a ;.

Query Support

Standard SQL queries

Multi-line input

Separate behaviors for SELECT vs UPDATE/INSERT

MySQL-style syntax

Meta Commands

The tool includes additional helper commands:

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 screen
.version	            Show build/version info
.exit	                Exit the CLI

Roadmap

Future planned features include:

User profile support with encrypted JSON storage

Support for additional database engines (Oracle, MongoDB, etc.)

Consistent UI formatting across engines

Exportable session history

Customizable UI themes

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.
