{"library":"maison","title":"Maison","description":"Maison is a lightweight Python library designed to simplify reading settings from various configuration files (TOML, YAML, JSON). It automatically searches common system and user locations for configuration, providing a unified access interface. Current version is 2.0.2, with a moderate release cadence, focusing on stability and ease of use.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install maison"],"cli":null},"imports":["from maison import Config"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom maison import Config\n\n# Create a temporary config file for the example\napp_name = \"my_app_quickstart\"\nconfig_file_name = f\"{app_name}.toml\"\nconfig_content = \"\"\"\n[general]\napi_key = \"sk_example_123\"\ndebug_mode = true\nenvironment = \"development\"\n\n[database]\nhost = \"localhost\"\nport = 5432\nusername = \"admin\"\n\"\"\"\n\n# Place the config file in the current working directory\n# where maison will look for it by default for the given name.\nwith open(config_file_name, \"w\") as f:\n    f.write(config_content)\n\n# Initialize Config. It will look for '{app_name}.toml' in common locations.\n# Since we created it in CWD, it will find it.\nconfig = Config(name=app_name)\n\nprint(f\"--- Settings for '{app_name}' ---\")\nprint(f\"API Key: {config.get('general.api_key', 'N/A')}\")\nprint(f\"Debug Mode: {config.get('general.debug_mode', False)}\")\nprint(f\"Environment: {config.get('general.environment', 'production')}\")\nprint(f\"Database Host: {config.get('database.host', '127.0.0.1')}\")\nprint(f\"Database Port: {config.get('database.port', 3306)}\")\nprint(f\"Non-existent setting (with default): {config.get('general.timeout', 30)}\")\nprint(f\"Non-existent setting (no default): {config.get('general.unknown')}\")\n\n# Clean up the created config file\nos.remove(config_file_name)","lang":"python","description":"This quickstart demonstrates how to create a simple TOML configuration file and load its settings using `maison.Config`. It shows accessing nested keys with dot notation and providing default values for missing keys.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"2.0.2","pypi_latest":"2.0.2","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"maison","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"32.8M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"maison","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.9,"import_time_s":null,"mem_mb":null,"disk_size":"33M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"maison","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"36.1M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"maison","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3,"import_time_s":null,"mem_mb":null,"disk_size":"37M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"maison","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"27.7M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"maison","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.8,"import_time_s":null,"mem_mb":null,"disk_size":"28M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"maison","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"27.5M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"maison","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.8,"import_time_s":null,"mem_mb":null,"disk_size":"28M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"maison","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"31.9M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"maison","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.4,"import_time_s":null,"mem_mb":null,"disk_size":"32M"}]}}