{"library":"requests-unixsocket2","title":"requests-unixsocket2","description":"requests-unixsocket2 allows the popular 'requests' HTTP library to communicate over UNIX domain sockets. It is a maintained fork of the original 'requests-unixsocket' project, created to ensure compatibility with recent versions of 'requests' and 'urllib3'. The current version is 1.0.1, with releases typically occurring as needed to address compatibility issues or bug fixes.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install requests-unixsocket2"],"cli":null},"imports":["from requests_unixsocket import Session","from requests_unixsocket import monkeypatch"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import requests_unixsocket\nimport json\nimport os\n\n# Example: Connect to a hypothetical service via a UNIX domain socket.\n# Replace '/tmp/my_service.sock' with your actual socket path and '/info' with your API endpoint.\n# The socket path must be URL-encoded, e.g., '/' becomes '%2F'.\n\n# For demonstration purposes, use an environment variable or a common placeholder.\n# In a real application, ensure the service is running and listening on this socket.\nunix_socket_path = os.environ.get('UNIX_SOCKET_PATH', '/tmp/my_service.sock')\nencoded_unix_socket_path = unix_socket_path.replace(\"/\", \"%2F\")\n\nsession = requests_unixsocket.Session()\ntry:\n    # Construct the URL using the 'http+unix://' scheme\n    response = session.get(f'http+unix://{encoded_unix_socket_path}/info')\n    response.raise_for_status() # Raises an HTTPError for bad responses (4xx or 5xx)\n    print(\"Response from UNIX socket service:\")\n    print(json.dumps(response.json(), indent=2))\nexcept requests_unixsocket.exceptions.ConnectionError as e:\n    print(f\"Could not connect to UNIX socket at {unix_socket_path}: {e}\")\n    print(\"Please ensure a service is running and listening on this socket.\")\nexcept json.JSONDecodeError:\n    print(f\"Received non-JSON response or empty response from {unix_socket_path}. Status: {response.status_code}\")\n    print(f\"Response text: {response.text}\")\nexcept Exception as e:\n    print(f\"An unexpected error occurred: {e}\")\n","lang":"python","description":"This quickstart demonstrates how to make an HTTP GET request to a service listening on a UNIX domain socket using an explicit `Session` object. The socket path must be URL-encoded. Error handling is included for common connection and JSON decoding issues.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"1.0.1","pypi_latest":"1.0.1","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.1,"avg_import_s":0.56,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"requests-unixsocket2","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.54,"mem_mb":9.8,"disk_size":"21.2M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"requests-unixsocket2","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.37,"mem_mb":9.8,"disk_size":"22M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"requests-unixsocket2","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.68,"mem_mb":10.8,"disk_size":"23.3M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"requests-unixsocket2","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.59,"mem_mb":10.8,"disk_size":"24M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"requests-unixsocket2","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.64,"mem_mb":11.3,"disk_size":"15.1M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"requests-unixsocket2","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0.66,"mem_mb":11.3,"disk_size":"16M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"requests-unixsocket2","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.62,"mem_mb":11.6,"disk_size":"14.8M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"requests-unixsocket2","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.61,"mem_mb":11.6,"disk_size":"15M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"requests-unixsocket2","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.5,"mem_mb":9.4,"disk_size":"20.4M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"requests-unixsocket2","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.5,"import_time_s":0.41,"mem_mb":9.4,"disk_size":"21M"}]}}