Skip to main content

Manage local, encrypted credentials. The **dworshak* CLI leverages openssl, sqlite3, and cryptography.

Project description

Project Dworshak 🌊

Dworshak is the security bones behind API orchestration of infrastructure data between legacy SOAP services (EDS) and modern REST APIs (RJN).


Quick Start

# Install the CLI
pipx install dworshak

# Bootstrap the security layer
dworshak setup

# Register your first API
dworshak store --service rjn_api --item username

dworshak --help: Screenshot of the dworshak CLI Tree Help

See the Help Tree by unlocking the help-tree CLI command, using the DEV_TYPER_HELP_TREE env var.

DEV_TYPER_HELP_TREE=1 dworshak help-tree` # bash
$env:DEV_TYPER_HELP_TREE = "1"; dworshak help-tree` # PowerShell

Screenshot of the dworshak CLI Tree Help


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

  • The Wider Goal: A system where data is fetched, validated, and mirrored locally so that decision-support tools (Dashboards, Alarms) never have to "wait" on a slow external API.
  • The Method: "Do one boring thing well." Use OpenSSL to manage a local ~/.dowrshak/ directory which includes a .keyfile, avault.dbencrypted credential file, and aconfig.json` file for controlling defaults.

⚖️ User Stories

Dworshak supports two complementary roles within the infrastructure data ecosystem:

  1. Infrastructure Integrator (Primary User)

I need a secure, predictable tool that orchestrates the movement of data between upstream and downstream systems — pulling from legacy SOAP endpoints, transforming or validating as needed, and pushing clean, trusted data to the services that depend on it. Dworshak should behave like a controlled “data dam,” ensuring one‑directional flow, consistent execution across platforms, and strict protection of credentials.

  1. Data Analyst (Secondary User)

I need a reliable, set-and-forget tool that synchronizes remote API data into a local, high-performance SQLite mirror, so that dashboards, reports, and decision-support tools never have to wait on slow or unreliable external services. Equipped with the Dworshak CLI and its companion toolset, I can build visualizations and reports without worrying about credential leaks, API timeouts, or platform-specific (Windows vs. Termux) bugs.

🚀 The MVP (Current State)

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

⚠️ Risks & Guardrails

To prevent "going off the rails" or drowning in scope creep: The Anti-Daemon Bias: Stay script-based. Using task-scheduler or cron is more robust than maintaining a long-running daemon process that can leak memory or crash silently.

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-0.1.10.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

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

dworshak-0.1.10-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dworshak-0.1.10.tar.gz
Algorithm Hash digest
SHA256 977013566dbd83319b8b10bc8d96c683378563d9fc5ba0a54e1b89428560ed75
MD5 d20b89f0eece9ff1ee35607cda1a381d
BLAKE2b-256 6a3048977ee9ba3b887bd4b21b34ffd38c4b18530fbb1ff2bf6a604e4f0698b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for dworshak-0.1.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-0.1.10-py3-none-any.whl.

File metadata

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

File hashes

Hashes for dworshak-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 c57780227dc35f1e9bd044d246783a92fdea721f95e0495aa70209a86d6a0734
MD5 b39ef04c680a1148ba392b4be26f520a
BLAKE2b-256 77ac4f53392f58c1ac6c9813dba8b20356b668e9730b47455472703a9b55db1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for dworshak-0.1.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