Skip to main content

Manage file-based secure credentials and configuration values cross-platform, including on Termux and iSH, with the dworshak CLI.

Project description

Dworshak 🌊

dworshak is a cross-platform credential and config management solution. There are options to manage encrypted cresentials, store plaintext config to JSON, or to leverage traditional Pythonic .env files. dworshak is the CLI layer which allows your to edit and inspect values which you can also obtain programatically by using the wider dworshak ecosystem.


Quick Start

# Install the CLI (for most environments)
pipx install "dworshak[crypto]"

# Bootstrap the security layer
dworshak setup

# Register your API credential
dworshak secret set "rjn_api"  "username"

# -> You will then be prompted, 
#    with the input characters securely hidden.

# Alternatively, if you want to have the option to hide/show the secret value without introducing it to console history,
# use the web or gui input
dworshak obtain secret "rjn_api" "password" --interface web 

dworshak helptree

Screenshot of the Dworshak CLI helptree

helptree is utility funtion for Typer CLIs, imported from the typer-helptree library.


Sister Projects in the Dworshak Ecosystem

pipx install dworshak
pip install dworshak-secret
pip install dworshak-config
pip install dworshak-env
pip install dworshak-prompt

🏗 The Ultimate Vision

To become a stable credential management tool for scripting the flow of Emerson Ovation data and related APIs, supporting multiple projects in and beyond at the Maxson Wastewater Treatment Plant.

Furthermore, we want to offer Python developers a seamless configuration management experience that they can enjoy for years to come, on all of their devices. We especially love unlocking superuser gains and rollout in Termux environments.

The Secret Sauce Behind dworshk-secret: Use Industry-standard AES (Fernet) encryption to manage a local ~/.dworshak/ directory which includes a .key file, a vault.db encrypted credential file, and a config.json file for controlling defaults.

🚀 Attributes

  • Secure Vault: Fernet-encrypted SQLite storage for API credentials.
  • Root of Trust: A local .key file architecture that works identically on Windows and Termux.
  • CLI Entry: A typer-based interface for setup and credential management.

Bash Scripting

Use dworshak to prompt for Microsoft Fabric / Azure credentials

#!/usr/bin/env bash
set -euo pipefail

# Prompt human securely
SQL_PASSWORD=$(dworshak prompt ask \
  --message "Enter Fabric SQL password" \
  --hide)

# Push into Azure Key Vault
az keyvault secret set \
  --vault-name my-fabric-vault \
  --name sql-password \
  --value "$SQL_PASSWORD"

echo "Secret stored in Azure Key Vault"

Use dworshak to prompt for AWS credentials

#!/usr/bin/env bash
set -euo pipefail

# 1. Human-friendly prompt
DB_PASSWORD=$(dworshak prompt ask \
  --message "Enter production DB password" \
  --hide)

# 2. Push into AWS Secrets Manager
aws secretsmanager put-secret-value \
  --secret-id prod/db/password \
  --secret-string "$DB_PASSWORD"

echo "Secret stored in AWS Secrets Manager"

Typical installation (macOS, Ubuntu, Windows 11, etc)

pipx install "dworshak[crypto]"

Termux installation

pkg install python-cryptography
pipx install dworshak --system-site-packages

iSH Apline installation

apk add py3-cryptography 
pipx install dworshak --system-site-packages

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

dworshak-1.2.10.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

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

dworshak-1.2.10-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file dworshak-1.2.10.tar.gz.

File metadata

  • Download URL: dworshak-1.2.10.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dworshak-1.2.10.tar.gz
Algorithm Hash digest
SHA256 7fa99a95159861786f30712f5146f631c7f7292f9b768695ea6038d0a5a2d4d1
MD5 407635928c34c8613acbab12ca3c6a7b
BLAKE2b-256 45b5cec9cb675eee7ea8968842367310756c13c4d9e8592ed8dcd499882a6ad2

See more details on using hashes here.

Provenance

The following attestation bundles were made for dworshak-1.2.10.tar.gz:

Publisher: publish.yml on City-of-Memphis-Wastewater/dworshak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dworshak-1.2.10-py3-none-any.whl.

File metadata

  • Download URL: dworshak-1.2.10-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dworshak-1.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 40c304333c192c15052a3caf05f2cf0779fa850b4e6c538095503402eac49046
MD5 6ef9e44c2355f6289457c2d5aa566379
BLAKE2b-256 54301f2f2f5e65de607f88ae19013bd937bb7f0bf958fc88526f4c87b313568c

See more details on using hashes here.

Provenance

The following attestation bundles were made for dworshak-1.2.10-py3-none-any.whl:

Publisher: publish.yml on City-of-Memphis-Wastewater/dworshak

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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