jrxFive / python-nomad

Client library Hashicorp Nomad
https://python-nomad.readthedocs.io/en/latest/
MIT License
139 stars 73 forks source link

Only read env variables on __init__ #157

Closed atwam closed 4 months ago

atwam commented 1 year ago

The default values for arguments to Nomad.__init__ are read when the class is initialized (so when python reads __init__.py. If one later want to change the values of the NOMAD_* env variables, these new values will get ignored because by then the defaults for arguments are already set.

This changes the commit to have a proper None default, and only read the current values of env variables when __init__() is called.

See https://medium.com/@nebiyuelias1/be-careful-when-using-default-arguments-in-python-fd92df94efee for why defining the default with a function call is prone to error.

nikita-b commented 11 months ago

Something happened to CI...I'll check on weekends. @atwam Thanks for contributing!