Metadata-Version: 2.4
Name: seaql
Version: 0.1.3
Summary: Unified CLI for MySQL, PostgreSQL, and SQLite databases (seaql).
Author: seaql Contributors
License-Expression: BSD-3-Clause
Project-URL: Homepage, https://github.com/ChannyClaus/seaql
Keywords: mysql,postgresql,sqlite,cli,database,client
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Database
Classifier: Topic :: Database :: Database Engines/Servers
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Pygments>=2.19.0
Requires-Dist: prompt_toolkit<4.0.0,>=3.0.41
Requires-Dist: PyMySQL>=1.1.2
Requires-Dist: psycopg>=3.0.14; sys_platform != "win32"
Requires-Dist: psycopg-binary>=3.0.14; sys_platform == "win32"
Requires-Dist: sqlparse<0.6.0,>=0.4.4
Requires-Dist: sqlglot[c]>=30.7.0
Requires-Dist: configobj>=5.0.9
Requires-Dist: cli_helpers[styles]>=2.15.0
Requires-Dist: wcwidth>=0.6.0
Requires-Dist: pyperclip>=1.11.0
Requires-Dist: pycryptodomex>=3.23.0
Requires-Dist: pyfzf>=0.3.1
Requires-Dist: rapidfuzz>=3.14.0
Requires-Dist: keyring>=12.2.0
Requires-Dist: setproctitle>=1.1.9; sys_platform != "win32" and "CYGWIN" not in sys_platform
Requires-Dist: tzlocal>=5.2
Provides-Extra: test
Requires-Dist: pytest>=7.0; extra == "test"
Dynamic: license-file

# seaql

A unified CLI for MySQL, PostgreSQL, and SQLite databases.

Auto-detects the database type from connection URIs, port numbers, or file extensions.

```bash
# Connect to PostgreSQL via URI
seaql postgres://user:pass@localhost:5432/mydb

# Connect to MySQL via flags
seaql -u root -p root -h localhost -P 3306 mydb

# Connect to SQLite via file path
seaql path/to/database.db

# Backslash commands work (PostgreSQL)
> \dt
> \l
> \d users
```

## Installation

```bash
pip install seaql
```

Or with uv:

```bash
uv tool install seaql
```

## Usage

```
seaql [OPTIONS] [DBNAME]
```

Database type is auto-detected from:
- **URI scheme**: `mysql://`, `postgres://`, `postgresql://`, `sqlite://`
- **Port numbers**: `-P 3306` (MySQL), `-p 5432` (PostgreSQL)
- **File extensions**: `.db`, `.sqlite`, `.sqlite3`, `.db3` (SQLite)
- **Flags**: `-u` (MySQL), `-U` (PostgreSQL)

## License

BSD-3-Clause
