Skip to main content

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:

  1. Path specified via the --config command-line option
  2. Local configuration file (.shovl.config in the current directory)
  3. Global user configuration file (~/.shovl.config or %USERPROFILE%\.shovl.config on Windows)
  4. Default configuration (fallback)

Generating Configuration Files

Create a sample configuration file:

# Local configuration
shovl --sample-config > .shovl.config

# Global configuration
shovl --sample-config > ~/.shovl.config

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.14 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


Download files

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

Source Distribution

shovl-0.1.3.tar.gz (24.8 kB view details)

Uploaded Source

Built Distribution

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

shovl-0.1.3-py3-none-any.whl (33.7 kB view details)

Uploaded Python 3

File details

Details for the file shovl-0.1.3.tar.gz.

File metadata

  • Download URL: shovl-0.1.3.tar.gz
  • Upload date:
  • Size: 24.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for shovl-0.1.3.tar.gz
Algorithm Hash digest
SHA256 8f06f763cf68fa5b35bb378eed1708b78859a708b52427c276c623054ef1547b
MD5 a89956aaf92360d1f5107d0b623dd33d
BLAKE2b-256 3c1324cf42922a0e7fcadf0ee2156a5e26751f0131033b7098ebbcf2de9dd963

See more details on using hashes here.

File details

Details for the file shovl-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: shovl-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for shovl-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 aad6a390fb689ee1d900c02e4c5c533b80f177844361033d5168183d85938da5
MD5 8bc16b8fa110007b2d62e37c73fa08a6
BLAKE2b-256 884010a80850ab54049a44bd9a728fb327fb9c44b29c1146489ce891b1bb4155

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