1. import os
  2. import json
  3. def compact_env_vars(env_vars, fallback_values):
  4. """
  5. Compactly outputs environment variables as JSON, with fallback values.
  6. Args:
  7. env_vars (dict): A dictionary of environment variables.
  8. fallback_values (dict): A dictionary of fallback values for missing env vars.
  9. Returns:
  10. str: A JSON string representing the compacted environment variables.
  11. """
  12. compacted_vars = {}
  13. for key, value in env_vars.items():
  14. compacted_vars[key] = value
  15. # Apply fallbacks
  16. for key, fallback in fallback_values.items():
  17. if key not in compacted_vars:
  18. compacted_vars[key] = fallback
  19. return json.dumps(compacted_vars, indent=4) #indent for readability
  20. if __name__ == '__main__':
  21. # Example Usage:
  22. env = os.environ.copy() #copy the current environment
  23. fallback = {
  24. "DATABASE_URL": "default_database_url",
  25. "API_KEY": "default_api_key",
  26. "DEBUG": True
  27. }
  28. compacted_json = compact_env_vars(env, fallback)
  29. print(compacted_json)

Add your comment