A lightweight terminal-based database and S3 client built with Textual.
Project description
Shovl
A lightweight terminal-based database and S3 client built with Textual.
Installation
Install Shovle using pip:
pip install shovl
Database-Specific Dependencies
Shovl requires additional drivers depending on your target database systems. Install the appropriate extras for your use case:
# Individual database support
pip install shovl[sqlite] # SQLite support
pip install shovl[postgresql] # PostgreSQL support
pip install shovl[mysql] # MySQL support
pip install shovl[mariadb] # MariaDB support
pip install shovl[oracle] # Oracle Database support
pip install shovl[snowflake] # Snowflake support
pip install shovl[duckdb] # DuckDB support
pip install shovl[ibmdb] # IBM DB2 support
# General database support (SQLAlchemy only)
pip install shovl[database]
# S3 and cloud storage support
pip install shovl[bucket]
# Complete installation with all features
pip install shovl[all]
Note: Shovl leverages SQLAlchemy's extensive database support. You may install additional SQLAlchemy-compatible drivers as needed for other database systems.
Configuration
Shovl uses a hierarchical configuration system to manage connection details and application settings. The configuration file is loaded in the following priority order:
- Path specified via the
--configcommand-line option - Local configuration file (
.shovlin the current directory) - Global user configuration file (
~/.shovlor%USERPROFILE%\.shovlon Windows) - Default configuration (fallback)
Generating Configuration Files
Create a sample configuration file:
# Local configuration
shovl --sample-config > .shovl
# Global configuration
shovl --sample-config > ~/.shovl
View the complete configuration schema with detailed parameter descriptions:
shovl --config-schema
Security Best Practices
Important: Never store credentials in plain text within configuration files. Shovl supports environment variable substitution using double curly bracket syntax: {{VARIABLE_NAME}}.
Load environment variables from a .env file using the --env option.
Usage
Basic Usage
Launch Shovl with default settings:
shovl
Advanced Options
Load credentials from an environment file:
shovl --env .env
Specify a custom configuration file:
shovl --config /path/to/custom/config.json
Display all available command-line options:
shovl --help
System Requirements
- Python 3.12 or higher
- Terminal with Unicode support
- Network connectivity for database and S3 operations
License
This project is distributed under the terms specified in the LICENSE.md file.
Contributing
Shovl is an open-source project. For bug reports, feature requests, or contributions, please visit the project repository.
Support
For issues and support requests, please use the project's issue tracker.
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 shovl-0.2.2.tar.gz.
File metadata
- Download URL: shovl-0.2.2.tar.gz
- Upload date:
- Size: 27.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c9929a01b902f11d43294862bd0dc538d047dca1719f9efa7f981c94b9494b2
|
|
| MD5 |
15272a646462b2d94a7e95d420c29d6f
|
|
| BLAKE2b-256 |
ef1dcb7181a1b344d5d4f91273cc1b4e767eaa29cf76ace75830dd11bdd1e983
|
File details
Details for the file shovl-0.2.2-py3-none-any.whl.
File metadata
- Download URL: shovl-0.2.2-py3-none-any.whl
- Upload date:
- Size: 36.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd29a73be8ad0dcc17c82666169eb52d6f77bad2939b197d208295451e984071
|
|
| MD5 |
f7d31801f4d33c1d13302ea1d8a928fc
|
|
| BLAKE2b-256 |
529cb61a1fa5a36c19bc1ab28343ea9662cee6349d127dbcab4a28e5e47acfd8
|