Metadata-Version: 2.4
Name: minidarkmimi-start-cli
Version: 1.0.2
Summary: Secure launcher and encrypted config bootstrap library for Python projects
Home-page: https://github.com/minidarkmimi/start_cli_public
Author: minidarkmimi
License: MIT
Project-URL: Source, https://github.com/minidarkmimi/start_cli_public
Project-URL: Issues, https://github.com/minidarkmimi/start_cli_public/issues
Project-URL: Security, https://github.com/minidarkmimi/start_cli_public/security/policy
Keywords: secure launcher,secure startup,encrypted env,encrypted dotenv,config encryption,click cli,bootstrap cli
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.1.0
Requires-Dist: loguru>=0.7.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: cryptography>=41.0.0
Requires-Dist: colorama>=0.4.6
Requires-Dist: questionary>=2.0.0
Provides-Extra: tui
Requires-Dist: simple_term_menu>=1.6.0; extra == "tui"
Provides-Extra: dev
Requires-Dist: simple_term_menu>=1.6.0; extra == "dev"
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: build>=1.2.0; extra == "dev"
Requires-Dist: twine>=5.1.0; extra == "dev"
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# minidarkmimi-start-cli

A secure launcher and encrypted config bootstrap library for Python projects.

## Install

```bash
pip install minidarkmimi-start-cli
```

Import path stays the same:

```python
from start_cli import EncryptedConfig, ConfigLoader, AppSettings, create_cli
```

## What it provides

- encrypted config storage via `EncryptedConfig`
- smart config loading with `ConfigLoader` and `load_config`
- reusable Click CLI bootstrap via `create_cli`
- environment-aware settings via `AppSettings`
- helper utilities for masking secrets and maintaining `.gitignore`

## Quick example

```python
from start_cli import EncryptedConfig, create_cli

cfg = EncryptedConfig.create("config.env", password="example-password")
cfg["API_TOKEN"] = "example-token"
cfg.save()


def start_app() -> None:
    print("app started")


cli = create_cli(
    app_name="My Project",
    app_callable=start_app,
    required_envs={"API_TOKEN": "API token"},
)
```

## Links

- Source: https://github.com/minidarkmimi/start_cli_public
- Chinese README: https://github.com/minidarkmimi/start_cli_public/blob/main/README.zh-CN.md
