A unified TOML-based secret management system for local development environments with lazy loading, alias-based security, and automatic IDE integration.
Project description
Welcome to home_secret_toml Documentation
Modern software development presents an increasingly complex credential management challenge. As cloud services proliferate and microservice architectures become standard, developers face exponential growth in sensitive information requiring secure storage and convenient access—API keys, database credentials, authentication tokens, and service endpoints.
This complexity creates a fundamental tension: developers need immediate access to credentials during development while maintaining rigorous security standards. Traditional approaches, from hardcoded secrets to scattered environment variables, fail to address the sophisticated demands of contemporary multi-platform, multi-account development workflows.
The consequences of inadequate credential management extend beyond inconvenience. Security breaches, development inefficiencies, and maintenance nightmares plague teams using fragmented approaches. What developers need is a systematic solution that unifies security, accessibility, and scalability into a coherent framework.
HOME Secret TOML emerges as a response to these challenges—a comprehensive local credential management system built on structured TOML configuration and intelligent Python integration. Unlike nested JSON structures, TOML’s flat key-value format provides immediate context visibility in every line, making secrets easy to navigate and edit. This approach transforms credential management from a necessary evil into a streamlined development asset.
Key Features
Flat Key Structure: Every secret is a single line with full path context—no nested brackets to manage
Comment Support: Native # comments for documentation directly in the secrets file
Zero Dependencies: Uses only Python 3.11+ standard library (tomllib)
Dual Usage: Copy single file to your project OR pip install as a package
CLI Tool: hst ls to list secrets, hst gen-enum to generate IDE autocomplete code
IDE Support: Generated enum classes provide full autocomplete and type checking
Quick Links
Install
home_secret_toml is released on PyPI, so all you need is to:
$ pip install home-secret-toml
To upgrade to latest version:
$ pip install --upgrade home-secret-toml
Quick Start
Create ~/home_secret.toml with your secrets:
# GitHub credentials
github.accounts.personal.account_id = "myuser"
github.accounts.personal.users.dev.secrets.api_token.value = "ghp_xxxxxxxxxxxx"
# AWS credentials
aws.accounts.prod.secrets.deploy.creds = { access_key = "AKIA...", secret_key = "xxxx" }
Access secrets in Python:
from home_secret_toml import hs
# Direct value access
api_key = hs.v("github.accounts.personal.users.dev.secrets.api_token.value")
# Token-based (lazy) access
token = hs.t("github.accounts.personal.users.dev.secrets.api_token.value")
api_key = token.v # Resolved when accessed
Use CLI to explore and generate code:
# List all secrets (values are masked)
$ hst ls
github.accounts.personal.account_id = "***"
github.accounts.personal.users.dev.secrets.api_token.value = "gh***xx"
# Filter secrets
$ hst ls --query "github personal"
# Generate enum file for IDE autocomplete
$ hst gen-enum
Single-File Usage (No pip install)
For projects where you want zero dependencies, simply copy home_secret_toml.py to your project:
# Copy the file and import directly
from home_secret_toml import hs
api_key = hs.v("github.accounts.personal.users.dev.secrets.api_token.value")
Requirements: Python 3.11+ (for built-in tomllib module)
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 home_secret_toml-0.1.1.tar.gz.
File metadata
- Download URL: home_secret_toml-0.1.1.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5120e42ebe622b3944a1b2743129a921e2f0e6847d1eecdfe0cd519027940ea4
|
|
| MD5 |
871c94130473d9a7b6c14d27cc183209
|
|
| BLAKE2b-256 |
ede8d82ff955be3d722c879c7fcd56027845c4d2d0e49046a90ea0e8f806450c
|
File details
Details for the file home_secret_toml-0.1.1-py3-none-any.whl.
File metadata
- Download URL: home_secret_toml-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28563d5fcfc9e4e8c6116a871b246b6e85d18fc459c18b054504a62312200670
|
|
| MD5 |
625742bfa122f872a09a27b926feac9f
|
|
| BLAKE2b-256 |
4ccc9ddf04954425aeb4fbed2703f67f81cb753c6f5a9d7e3d47769757821c1e
|