Metadata-Version: 2.4
Name: dworshak
Version: 1.2.6
Summary: Manage local, encrypted credentials. The dworshak CLI leverages openssl, sqlite3, and cryptography.
Author-email: George Clayton Bennett <george.bennett@memphistn.gov>
Maintainer-email: George Clayton Bennett <george.bennett@memphistn.gov>
License-Expression: MIT
Project-URL: Homepage, https://github.com/city-of-memphis-wastewater/dworshak
Project-URL: Repository, https://github.com/city-of-memphis-wastewater/dworshak
Keywords: credentials,security
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Topic :: System :: Operating System
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyhabitat>=1.1.38
Requires-Dist: typer>=0.21.0
Requires-Dist: rich>=13.0.0
Requires-Dist: typer-helptree>=0.2.5
Requires-Dist: dworshak-secret[typer]>=1.2.5
Requires-Dist: dworshak-prompt[typer]>=0.2.18
Requires-Dist: dworshak-config[typer]>=0.2.1
Requires-Dist: dworshak-env[typer]>=0.1.2
Provides-Extra: crypto
Requires-Dist: cryptography>=46.0.3; extra == "crypto"
Requires-Dist: dworshak-secret[crypto,typer]; extra == "crypto"
Requires-Dist: dworshak-prompt[crypto,typer]; extra == "crypto"
Provides-Extra: full
Requires-Dist: dworshak[crypto]; extra == "full"
Provides-Extra: build
Requires-Dist: shiv>=1.0.0; extra == "build"
Dynamic: license-file

# Dworshak  🌊

**Dworshak** a cross-platform credential management solution.
It is a [sister project](#sister-project-dworshak-secret) of the `dworshak-secret` library.

---

### Quick Start

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

# Bootstrap the security layer
dworshak setup

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

```

---

`dworshak --help`:
<p align="center">
  <img src="https://raw.githubusercontent.com/City-of-Memphis-Wastewater/dworshak/main/assets/dworshak_cli_v1.1.15_help.png" width="100%" alt="Screenshot of the Dworshak CLI --help">
</p>

See the helptree, imported from the `typer-helptree` library.

- GitHub: https://github.com/City-of-Memphis-Wastewater/typer-helptree
- PyPI: https://pypi.org/project/typer-helptree/


```
dworshak helptree
```

<p align="center">
  <img src="https://raw.githubusercontent.com/City-of-Memphis-Wastewater/dworshak/main/assets/dworshak_cli_v1.1.15_helptree.png" width="100%" alt="Screenshot of the Dworshak CLI helptree">
</p>
---

<a id="sister-project-dworshak-secret"></a>

## Sister Projects in the Dworshak Ecosystem

* **CLI/Orchestrator:** [dworshak](https://github.com/City-of-Memphis-Wastewater/dworshak)
* **Interactive UI:** [dworshak-prompt](https://github.com/City-of-Memphis-Wastewater/dworshak-prompt)
* **Secrets Storage:** [dworshak-secret](https://github.com/City-of-Memphis-Wastewater/dworshak-secret)
* **Plaintext Pathed Configs:** [dworshak-secret](https://github.com/City-of-Memphis-Wastewater/dworshak-config)
* **Classic .env Injection:** [dworshak-secret](https://github.com/City-of-Memphis-Wastewater/dworshak-env)

```python
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.

* **The Method:** "Do one boring thing well." 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.

<!--## ⚖️ User Stories-->

## 🚀 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.

---

## Typical installation

```
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

```
