-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Open
Description
Problem
Currently, Python Fire CLI tools require all configuration to be passed via command-line arguments. For sensitive data or frequently used configurations, this can be cumbersome and insecure.
Proposed Solution
Add support for reading configuration values from environment variables with a naming convention like FIRE_<PARAM_NAME>.
Example Usage
python import fire
def deploy(api_key, region='us-east-1'):
"""Deploy application"""
print(f"Deploying to {region} with key {api_key}")
if __name__ == '__main__':
fire.Fire(deploy)Current usage (exposes secret):
python deploy.py --api-key=secret123 --region=eu-west-1Proposed usage:
export FIRE_API_KEY=secret123
python deploy.py --region=eu-west-1Benefits
- Security: Sensitive data not exposed in process lists
- Convenience: Reduce repetitive argument typing
- DevOps: Better integration with container/cloud environments
Alternative Considered
Using config files, but environment variables are more standard in modern deployment workflows.
Metadata
Metadata
Assignees
Labels
No labels