spsdk
Open Source Secure Provisioning SDK for NXP MCU/MPU
Decision gist · record as of 2026-08-14
Yes, if you develop with NXP microcontrollers or microprocessors. SPSDK is the official, actively maintained provisioning toolkit from NXP with no known vulnerabilities, low install friction, and permissive licensing. Install it when you need to automate device programming, secure provisioning, or bootloader interaction; skip it if you target non-NXP hardware.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Target device must be physically connected and accessible via USB or serial interface.
- Low install friction; pure Python wheel with no compiled dependencies.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; you may use, modify, and distribute the package provided you include the license notice.
last release 2026-06-19 (56 days) · last repo commit 2026-06-19 · 79 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 545,933 downloads/mo, #6,071 on PyPI
Alternatives
Verify before relying
pip install spsdk
from spsdk import apps
from spsdk.mcu import get_mcu
# Connect to and communicate with an NXP device
mcu = get_mcu('device_name')- Specific NXP device models and bootloader versions supported by this release
- Whether libusbsio and libuuu (native USB/UUU protocol libraries) are bundled or require separate system installation
- Real-world provisioning workflow examples beyond the GitHub examples directory
What it is and what it does
SPSDK is NXP's official open-source toolkit for secure provisioning and programming of their microcontroller and microprocessor devices. It provides both a Python library API and command-line applications, enabling developers to automate device configuration, firmware flashing, and security provisioning workflows. The package wraps low-level device communication protocols and bootloader interfaces, abstracting away the complexity of direct hardware interaction.
The library depends on 33 runtime packages covering cryptography (cryptography, pyasn1, oscrypto), binary manipulation (bincopy, bitstring, hexdump), serial communication (pyserial), USB access (libusbsio, libuuu), and configuration parsing (ruamel.yaml, fastjsonschema). It is actively maintained, supports modern Python versions (3.10–3.13), and runs on Windows, Linux, and macOS. The permissive BSD-3-Clause license permits commercial use.
Use it for
- Automate batch provisioning of NXP MCUs in manufacturing workflows using the Python API
- Program and configure NXP devices from CI/CD pipelines for embedded product testing
- Develop custom provisioning tools that wrap SPSDK for device-specific workflows
- Secure-boot configuration and key provisioning on NXP microprocessors
- Firmware update and recovery operations on deployed NXP devices via serial or USB
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you develop with NXP microcontrollers or microprocessors.
SPSDK is the official, actively maintained provisioning toolkit from NXP with no known vulnerabilities, low install friction, and permissive licensing. Install it when you need to automate device programming, secure provisioning, or bootloader interaction; skip it if you target non-NXP hardware.
Install
spsdk on PyPI
Before you install
Low install friction; pure Python wheel with no compiled dependencies. Actively maintained with a recent release (56 days ago) and ongoing repository activity. Supports Python 3.10 through 3.13.
Requires Python 3.10 or later. Target device must be physically connected and accessible via USB or serial interface.
License in practice
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; you may use, modify, and distribute the package provided you include the license notice.
Quickstart
pip install spsdk
from spsdk import apps
from spsdk.mcu import get_mcu
# Connect to and communicate with an NXP device
mcu = get_mcu('device_name')
Verify before relying
- Specific NXP device models and bootloader versions supported by this release
- Whether libusbsio and libuuu (native USB/UUU protocol libraries) are bundled or require separate system installation
- Real-world provisioning workflow examples beyond the GitHub examples directory
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 33 packagesasn1cryptobincopybitstringchardetclick-command-treeclick-option-groupclickcoloramacrcmodcryptographydeepmergefastjsonschemafilelockhexdumpimportlib-metadatalibusbsiolibuuuoscryptopackagingplatformdirsprettytablepyasn1pyserialrequestsruamel.yamlruamel.yaml.clibsetuptools_scmsetuptoolsslyspsdk-mcu-link |
| Maintenance | Actively maintained 56 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 545,933 / month, #6,071 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Scientific/EngineeringTopic :: Software Development :: Embedded SystemsTopic :: System :: HardwareTopic :: Utilities |
Evidence: spsdk-3.10.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “NXP device provisioning”
- spsdkSPSDK is a Python library and CLI toolkit for connecting to and…
- libuuuPython wrapper for libuuu, a library for NXP microcontroller device…
- libusbsioProvides a Python wrapper around NXP's libusbsio binary library to…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also PyPowerStore · spsdk-mcu-link · spsdk-pyocd · libusbsio · tockloader · libuuu · esptool · adafruit-circuitpython-busdevice · pypemicro · smp