google / google/python-fire

Read variables from either the CLI or from the environment

Open
#106 3 comments 4 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
28.2k
Forks
1.5k
PR merge metrics
No merged PRs in 30d

Description

Hello,

I have been using Fire for a while now and in the last few days, it struck me that it may be nice to have a way to read a *required* variable either as an argument or as an environment variable.

The example that made me think about this was a simple script I wrote to execute some tasks in Facebook's API. It needs to receive both the _application id_ and _secret_. Sometimes I leave those as environment variables and sometimes I do not, depending on the machine that receives the deployed code.

I solved the issue by doing something like:

```python
from os import environ
from fire import Fire

APP_ID = environ.get('APP_ID')

def main(app_id=None):
assert app_id or APP_ID, 'You need to provide the app ID either as a parameter or as an environment variable'

if __name__ == '__main__':
Fire(main())
```

This got me wondering if it would be nice or even useful to implement something like this directly into Fire's variable handling. If so, I would love to contribute.

Thank you all very much :D

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.