Withenv takes YAML/JSON files and applies them to the environment prior to running a command. The idea is that rather than relying on shell variables being set, you can explicitly define what environment variables you want to use.
For example, here is some YAML that might be helpful when connecting to an OpenStack Cloud.
---
OS_USERNAME: user
OS_PASSWORD: secret
OS_URL: http://api.example.org/rest/apiYou can then run commands (ie in Ansible for example) that read this information.
$ we -e test_user_creds.yml ansible-play install-appSee the Docs for info.