python-fire icon indicating copy to clipboard operation
python-fire copied to clipboard

Add support for environment variable configuration

Open markrahimi opened this issue 3 months ago • 0 comments

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-1

Proposed usage:

export FIRE_API_KEY=secret123
python deploy.py --region=eu-west-1

Benefits

  • 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.

markrahimi avatar Nov 14 '25 11:11 markrahimi