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).
🏗 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:
- 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.
- 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
.keyfile 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.
Quick Start
# Install the CLI
pipx install dworshak
# Bootstrap the security layer
dworshak setup
# Register your first API
dworshak register --service rjn_api --item username
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 dworshak-0.1.6.tar.gz.
File metadata
- Download URL: dworshak-0.1.6.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
259cdaa43497c4e304678d026fd0696c1a7ddf004567ebd4e4fdced3efa2d0e4
|
|
| MD5 |
44d8f1c4b91c6063fddfa664df33a564
|
|
| BLAKE2b-256 |
1788c185154bb8e845089bde58e121fa4893aea45254d761553bcdc7738a0e6c
|
Provenance
The following attestation bundles were made for dworshak-0.1.6.tar.gz:
Publisher:
publish.yml on City-of-Memphis-Wastewater/dworshak
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dworshak-0.1.6.tar.gz -
Subject digest:
259cdaa43497c4e304678d026fd0696c1a7ddf004567ebd4e4fdced3efa2d0e4 - Sigstore transparency entry: 834726325
- Sigstore integration time:
-
Permalink:
City-of-Memphis-Wastewater/dworshak@ac587c0c32751c9c88ba15b513f07d6ddd7a7fed -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/City-of-Memphis-Wastewater
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ac587c0c32751c9c88ba15b513f07d6ddd7a7fed -
Trigger Event:
release
-
Statement type:
File details
Details for the file dworshak-0.1.6-py3-none-any.whl.
File metadata
- Download URL: dworshak-0.1.6-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0c8cf3a8f3c6a2bbea4ef4593bedef4780a2f13b1696da24f98be5f53fc0134
|
|
| MD5 |
441e431732719446f961b52f2dbdfe34
|
|
| BLAKE2b-256 |
265e7d699f05d4defefe3580d9c6ebc8b61dd666a3434404e1f28f405444c529
|
Provenance
The following attestation bundles were made for dworshak-0.1.6-py3-none-any.whl:
Publisher:
publish.yml on City-of-Memphis-Wastewater/dworshak
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dworshak-0.1.6-py3-none-any.whl -
Subject digest:
e0c8cf3a8f3c6a2bbea4ef4593bedef4780a2f13b1696da24f98be5f53fc0134 - Sigstore transparency entry: 834726331
- Sigstore integration time:
-
Permalink:
City-of-Memphis-Wastewater/dworshak@ac587c0c32751c9c88ba15b513f07d6ddd7a7fed -
Branch / Tag:
refs/tags/v0.1.6 - Owner: https://github.com/City-of-Memphis-Wastewater
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ac587c0c32751c9c88ba15b513f07d6ddd7a7fed -
Trigger Event:
release
-
Statement type: