SQLite REPL written in python3
Project description
SQLite REPL written in Python3
Good completion
usage: SQLiteREPL [-h] [-H [PATH]] [-e [FILE]] [-m] [-v] [-M]
[--no-history-search] [--no-complete-while-typing]
[--no-infobar] [--no-editor] [-t STYLE] [-s STYLE]
[-p STRING]
[database]
A dead simple REPL for SQLite
positional arguments:
database path to database
optional arguments:
-h, --help show this help message and exit
-H [PATH], --history [PATH]
path to history file
-e [FILE], --eval [FILE]
eval SQL script before running the REPL
-m, --multiline enable multiline mode (useful for creating tables)
-v, --verbose enable verbose logging
-M, --memory in memory database
--no-history-search disable history search
--no-complete-while-typing
disable completion while typing
--no-infobar disable info bar at the bottom of the screen
--no-editor disable opening in $EDITOR
-t STYLE, --table_style STYLE
set table style to <STYLE>, (see
https://pypi.org/project/tabulate/) (hint: try
"simple", "orgtbl", "pipe", "html" or "latex")
-s STYLE, --style STYLE
pygments style (see
http://pygments.org/docs/styles/#builtin-styles)
-p STRING, --prompt STRING
prompt string
Modify REPL whilst it's running
The following .meta commands are supported:
.dump [FILE] Stringify database into SQL commands or STDOUT if FILE is not provided.
.exit Exit the REPL.
.help [PATTERN] Display meta commands matching PATTERN or ALL if PATTERN is not provided.
.mode [STYLE] Change table style to STYLE or display current style if STYLE is not provided.
.open [DATABASE] Close this database and open DATABASE or show current database if DATABASE is not provided.
.output [FILE] Redirect output of commands to FILE (or to STDOUT if FILE == "stdout"), shows current output stream if FILE is not provided.
.print [STRING, ...] Display given STRING in the terminal.
.prompt [STRING] Change prompt to STRING.
.quit Exit the REPL.
.read [FILE] Eval SQL from FILE.
.save <FILE> Save in-memory database to FILE.
.schema [PATTERN] Show schemas for tables in the database matching PATTERN.
.shell <CMD> [ARG, ...] Run an OS command CMD.
.show [PATTERN] Display info about the REPL starting with PATTERN or all info if PATTERN is not provided.
.style [STYLE] Change style to STYLE or show current style if STYLE is not provided.
.system <CMD> [ARG, ...] Run an OS command CMD with ARGS.
.tables [PATTERN] Show tables in the database matching PATTERN or show all tables if PATTERN is not provided.
NOTE:
These are actually a subset of what the official sqlite3 REPL supports. The syntax is kept similar.
NOTE:
unless you specify the database location with database, it will be loaded in memory.
Customisation
- check out pygments for all the possible styles
- check out tabulate for all the table types
- use aliases for "semi-permanent" config e.g.:
alias sqlite='sqliterepl --multiline'
Compatibility
It should work on Win10 and Linux.
Installation
$ pip install --user sqliterepl
NOTE
make sure your ~/.local/bin (GNU/Linux) or ~\AppData\Roaming\Python\Python<VERSION>\Scripts (Win10) dir is in $PATH.
Running
$ sqliterepl
Limitations
- not context sensitive
- doesn't complete table names
- no table headings
Dependencies
- prompt-toolkit
- tabulate
- Python >= 3.7
Note:
SQLiteREPL has been updated to use prompt_toolkit 2.
Related
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 Distributions
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 sqliterepl-2.0.0-py3-none-any.whl.
File metadata
- Download URL: sqliterepl-2.0.0-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.7.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c05be0cc59624b80c1a5cd1ea71b44fcca362d7d4d815a3dcbc09d34d731bba1
|
|
| MD5 |
d67d203593276f2793f6ca82dc9dd720
|
|
| BLAKE2b-256 |
520f0182961237f72d7e50b98e42fcf35e97867f850b2c6a976fa9e6b114e055
|