{"library":"spsdk","title":"Secure Provisioning SDK (SPSDK)","type":"library","description":"SPSDK (Secure Provisioning SDK) is a Python SDK library designed by NXP to provide a unified, reliable, and easy-to-use solution for secure provisioning and programming across their MCU/MPU portfolio. It supports connecting and communicating with devices, configuring them, preparing/downloading/uploading data, and performing security operations. The library is actively developed, with frequent releases, and is currently at version 3.7.1, though PyPI classifies its development status as '3 - Alpha' which might refer to specific components or a historical classification.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install spsdk"],"cli":{"name":"spsdk","version":"spsdk, version 3.8.0"}},"imports":["from spsdk.exceptions import SPSDKError","from spsdk.sdp import sdp","import spsdk.image as nxpimage"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":"https://www.nxp.com/design/software/development-software/secure-provisioning-sdk-spsdk:SP-SDK","github":"https://github.com/NXPmicro/spsdk","docs":"https://spsdk.readthedocs.io","changelog":null,"pypi":"https://pypi.org/project/spsdk/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"# Connect to a device via blhost (command-line tool wrapper)\n# This example assumes a device is connected and blhost is configured.\n# For actual usage, replace 'serial' with 'usb' if applicable and provide correct port/device.\n# The blhost command-line utility is typically used directly.\nimport subprocess\n\ntry:\n    # Example: Get property (e.g., status) from the bootloader\n    # In a real scenario, you'd provide specific device connection parameters.\n    command = ['blhost', '-p', 'COMx', 'get-property', '1'] # Replace COMx with your serial port\n    result = subprocess.run(command, capture_output=True, text=True, check=True)\n    print(\"blhost output:\")\n    print(result.stdout)\nexcept subprocess.CalledProcessError as e:\n    print(f\"Error executing blhost: {e}\")\n    print(f\"Stderr: {e.stderr}\")\nexcept FileNotFoundError:\n    print(\"Error: 'blhost' command not found. Ensure SPSDK is installed and your PATH is correct, or use the 'spsdk' wrapper utility.\")\n\n# For API usage, you might interact with specific modules directly, e.g., spsdk.sdp","lang":"python","description":"SPSDK is primarily used through its command-line applications (like `blhost`, `nxpimage`, `sdphost`). This quickstart demonstrates invoking `blhost` to read a property from a connected NXP MCU. For direct API interaction, modules such as `spsdk.sdp` or `spsdk.image` would be used.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"3.5.0","pypi_latest":"3.8.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":15.7,"avg_import_s":0.05,"wheel_type":"sdist"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"spsdk","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"spsdk","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":15.1,"import_time_s":0.03,"mem_mb":2.3,"disk_size":"211M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"spsdk","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":0.1,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"spsdk","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":15,"import_time_s":0.06,"mem_mb":2.5,"disk_size":"224M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"spsdk","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"spsdk","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":16.5,"import_time_s":0.06,"mem_mb":2.2,"disk_size":"221M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"spsdk","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"spsdk","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":14.8,"import_time_s":0.08,"mem_mb":2.9,"disk_size":"221M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"spsdk","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"spsdk","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":16.9,"import_time_s":0.03,"mem_mb":1.7,"disk_size":"205M"}]}}