Skip to content

Add support for environment variable configuration #634

@markrahimi

Description

@markrahimi

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions