google / google/python-fire

Add support for environment variable configuration

Open
#634 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
28.2k
Forks
1.5k
PR merge metrics
No merged PRs in 30d

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_`.

### Example Usage
```markdown
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):
```markdown
‍‍python deploy.py --api-key=secret123 --region=eu-west-1
```

Proposed usage:
```markdown
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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.