Python
Updated
kryptic-daemon-client injects your project's secrets into os.environ during
development startup. Outside development it is a no-op, and it never raises.
Source: github.com/dev-kryptic/Kryptic.Python.
The import name is kryptic.
Install
pip install kryptic-daemon-client
Use
# top of manage.py / main.py / wsgi.py - before anything reads os.environ
import kryptic
kryptic.inject()
import os
db_url = os.environ["DATABASE_URL"]
Works with Django, Flask, FastAPI, and anything else that reads os.environ.
Behavior
- No-op when
ENVIRONMENT/ENV/PYTHON_ENV/APP_ENVis production or staging, or whenKRYPTIC_DISABLED=true. - Finds
kryptic.jsonby walking up from the working directory. - Never overwrites environment variables that are already set.
- Returns an
InjectResult(injected, skipped, reason). - macOS/Linux via unix socket, Windows via named pipe - pure standard library.
Options
kryptic.inject(
environment="staging", # default: kryptic.json defaultEnvironment
project_id="proj_x", # default: kryptic.json projectId
timeout_ms=2000,
)
Environment variables override everything: KRYPTIC_PROJECT_ID, KRYPTIC_ENV,
KRYPTIC_SOCKET_PATH, KRYPTIC_TIMEOUT_MS, KRYPTIC_DISABLED, KRYPTIC_SILENT.