{"library":"osquery","title":"Osquery Python API","description":"The `osquery` Python library provides a robust API for interacting with the osquery daemon, enabling users to execute SQL queries against the operating system, manage osquery extensions, and handle distributed queries. It acts as a client to a running `osqueryd` instance. The current version is 3.1.1, released in December 2023, with releases occurring periodically to keep pace with the core osquery project.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install osquery"],"cli":null},"imports":["import osquery\nclient = osquery.Client()","from osquery.api import extensions"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import osquery\nimport sys\n\ntry:\n    # Create an osquery client. \n    # By default, it tries to connect to the osquery socket at /var/osquery/osquery.em\n    # Ensure the osquery daemon is running and configured to use a socket.\n    # If the daemon uses a non-default socket, pass the path: osquery.Client(path='/path/to/socket.em')\n    client = osquery.Client()\n\n    # Execute a simple SQL query\n    query = \"SELECT name, version FROM osquery_info;\"\n    response = client.query(query)\n\n    print(f\"Query: {query}\")\n    print(f\"Status: {response.status}\")\n    if response.status:\n        print(f\"Results: {response.response}\")\n    else:\n        print(f\"Error: {response.error}\")\n        print(\"Make sure the osquery daemon is running and accessible.\")\n\nexcept ConnectionRefusedError:\n    print(\"Error: Could not connect to osquery daemon. Is it running?\", file=sys.stderr)\n    sys.exit(1)\nexcept FileNotFoundError:\n    print(\"Error: Osquery socket not found. Is osquery daemon running and configured?\", file=sys.stderr)\n    sys.exit(1)\nexcept Exception as e:\n    print(f\"An unexpected error occurred: {e}\", file=sys.stderr)\n    sys.exit(1)","lang":"python","description":"This quickstart demonstrates how to initialize an osquery client and execute a basic SQL query. It expects an osquery daemon to be running and accessible via its default Unix socket. Error handling is included for common connection issues.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"3.1.1","pypi_latest":"3.1.1","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":4,"avg_import_s":0.11,"wheel_type":"sdist"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"osquery","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.09,"mem_mb":3.6,"disk_size":"22.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"osquery","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":4.1,"import_time_s":0.06,"mem_mb":3.6,"disk_size":"23M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"osquery","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.14,"mem_mb":4.5,"disk_size":"25.6M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"osquery","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":3.9,"import_time_s":0.13,"mem_mb":4.5,"disk_size":"26M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"osquery","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.12,"mem_mb":4.4,"disk_size":"17.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"osquery","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":3.8,"import_time_s":0.12,"mem_mb":4.4,"disk_size":"18M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"osquery","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.12,"mem_mb":5.3,"disk_size":"17.0M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"osquery","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":3.5,"import_time_s":0.12,"mem_mb":5.3,"disk_size":"18M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"osquery","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.08,"mem_mb":3.6,"disk_size":"22.3M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"osquery","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":4.5,"import_time_s":0.07,"mem_mb":3.6,"disk_size":"23M"}]}}