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)
Metadata
Release files for home-secret-toml 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| home_secret_toml-0.2.1.tar.gz | 16.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| home_secret_toml-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.5 kB
Release files / home_secret_toml-0.2.1.tar.gz
| Download URL | home_secret_toml-0.2.1.tar.gz |
|---|---|
| Size | 16.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b009aa671b4e65223468952e9e747b88d489f47fcd6c4250afc1386634ee896
|
|
BLAKE2b-256 checksum How to use checksums |
674df2358cd295d1fad441e25513969d21a485870bba4cf835e1f4ca603c82be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|
Release files / home_secret_toml-0.2.1-py3-none-any.whl
| Download URL | home_secret_toml-0.2.1-py3-none-any.whl |
|---|---|
| Size | 16.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
965bd67d47f06ace649b3c4ad62711dba7d596470327c725be572b516a995760
|
|
BLAKE2b-256 checksum How to use checksums |
e35dd0e7b4e31d898dabec6576a863515757719e68e651c8042eec4282d3fa7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|