{"library":"os-client-config","title":"OpenStack Client Configuration Library","description":"os-client-config is a Python library designed for standardizing OpenStack client configuration. It aggregates configuration data from environment variables (prefixed with `OS_`) and `clouds.yaml` files, providing a consistent interface for OpenStack applications. The current version is 2.3.0. While still maintained, it is largely superseded by `openstacksdk` for new development.","language":"python","status":"maintenance","last_verified":"Sun May 17","install":{"commands":["pip install os-client-config"],"cli":null},"imports":["from os_client_config import OpenStackConfig"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom os_client_config import OpenStackConfig\n\n# Configure a cloud either via environment variables (OS_CLOUD, OS_AUTH_URL, etc.)\n# or a clouds.yaml file (e.g., in ~/.config/openstack/clouds.yaml)\n\n# Example: Get configuration for a cloud named 'mycloud'\n# Ensure OS_CLOUD is set or 'mycloud' is defined in clouds.yaml\ncloud_name = os.environ.get('OS_CLOUD', 'mycloud')\n\ntry:\n    # Initialize the config object\n    config = OpenStackConfig()\n\n    # Get the configuration for a specific cloud\n    cloud = config.get_one_cloud(cloud_name)\n\n    # Access configuration details\n    print(f\"Cloud name: {cloud.name}\")\n    print(f\"Region: {cloud.region_name}\")\n    print(f\"Auth URL: {cloud.auth['auth_url']}\")\n\n    # Example: Print a few more details (be cautious with sensitive info)\n    if 'username' in cloud.auth:\n        print(f\"Username: {cloud.auth['username']}\")\n    \nexcept Exception as e:\n    print(f\"Error getting OpenStack cloud config: {e}\")\n    print(\"Please ensure 'OS_CLOUD' environment variable is set or 'clouds.yaml' is configured correctly.\")\n","lang":"python","description":"This quickstart demonstrates how to initialize `OpenStackConfig` and retrieve the configuration for a named OpenStack cloud. The library automatically looks for configuration in environment variables (`OS_*`) or `clouds.yaml` files located in the current directory, `~/.config/openstack`, or `/etc/openstack`.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"2.1.0","pypi_latest":"2.3.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":5.9,"avg_import_s":1.41,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"os-client-config","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.34,"mem_mb":22.9,"disk_size":"65.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"os-client-config","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":5.9,"import_time_s":1,"mem_mb":22.9,"disk_size":"67M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"os-client-config","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.7,"mem_mb":25.4,"disk_size":"73.2M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"os-client-config","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":5.5,"import_time_s":1.62,"mem_mb":25.4,"disk_size":"74M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"os-client-config","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.48,"mem_mb":24.8,"disk_size":"73.2M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"os-client-config","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":5.7,"import_time_s":1.62,"mem_mb":24.9,"disk_size":"74M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"os-client-config","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.46,"mem_mb":25.1,"disk_size":"72.8M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"os-client-config","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":5.7,"import_time_s":1.43,"mem_mb":25.1,"disk_size":"74M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"os-client-config","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.27,"mem_mb":22.1,"disk_size":"65.3M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"os-client-config","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.7,"import_time_s":1.18,"mem_mb":22.1,"disk_size":"66M"}]}}