skillfed

cmsis-pack-manager

Python manager for CMSIS-Pack index and cache with fast Rust backend

cmsis-pack-manager v0.6.0 1.1M downloads/30d#4,332 on PyPI33
Permissive license Apache-2.0 Active released

What it is and what it does

cmsis-pack-manager is a Python module backed by a Rust implementation for accessing device metadata stored in CMSIS PACKs—standardized ARM device definition files. It lets you look up processor types, flash algorithms, and memory layouts either programmatically in Python or via a command-line tool. The package is built as a compiled extension (hence the prebuilt wheels for multiple platforms and architectures), with runtime dependencies on appdirs, cffi, and pyyaml for configuration and file handling.

The module is designed for embedded systems developers and tooling authors who need to query ARM device information without parsing CMSIS PACKs manually. It has been actively maintained since 2017, supports Python 3.8 through 3.13, and runs on Linux, macOS, and Windows across multiple CPU architectures.

Use it for:

  • Embedded development tools querying processor capabilities and memory layout for a target device
  • Build systems looking up flash algorithm information for device programming
  • IDE or debugger integration retrieving device-specific metadata from CMSIS standards
  • Automated device inventory or compatibility checking against CMSIS PACK definitions

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Queries and manages device information from CMSIS PACKs, providing processor type, flash algorithm, and memory layout data through Python API or command-line interface.

Yes, if you work with ARM embedded systems and need to query CMSIS PACK device information. The package is actively maintained, has no known vulnerabilities, and offers a clean Python API backed by efficient Rust code. Medium install friction is manageable given prebuilt wheels; only a concern if you must build from source on an unsupported platform.

Install

cmsis-pack-manager on PyPI

pip

pip install cmsis-pack-manager

uv

uv add cmsis-pack-manager

poetry

poetry add cmsis-pack-manager

Installing cmsis-pack-manager

Before you install

Medium install friction due to compiled Rust backend requiring build tools; however, prebuilt wheels are available for common platforms (Linux x86_64, ARM, macOS, Windows). Actively maintained with recent commits and stable across supported Python versions.

License in practice

Apache-2.0 is permissive and poses no significant licensing constraints; you may use, modify, and distribute the package freely in commercial or open-source projects.

Quickstart

pip install cmsis-pack-manager

import cmsis_pack_manager
# Query device information from CMSIS PACKs

Requires Rust toolchain if building from source; prebuilt wheels available for most platforms reduce this friction.

Verify before relying

  • Specific API methods and return types for querying processor, flash, and memory information
  • Whether the package automatically downloads/caches CMSIS PACKs or requires manual setup
  • Performance characteristics when querying large numbers of devices

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.6)
Install friction medium — platform-specific wheel
Runtime dependencies 3 — appdirs, cffi, pyyaml
Maintenance actively maintained — 413 days since the last release
Last repo commit
First released
Downloads 1,122,467/month — #4,332 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: cmsis_pack_manager-0.6.0-py3-none-linux_armv6l.whl; cmsis_pack_manager-0.6.0-py3-none-macosx_10_12_universal2.whl; cmsis_pack_manager-0.6.0-py3-none-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl; cmsis_pack_manager-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; cmsis_pack_manager-0.6.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; cmsis_pack_manager-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; cmsis_pack_manager-0.6.0-py3-none-win32.whl; cmsis_pack_manager-0.6.0-py3-none-win_amd64.whl

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software DevelopmentTopic :: Software Development :: DebuggersTopic :: Software Development :: Embedded SystemsTopic :: Utilities

Tags

cmsis pack managerdevice information lookupembedded device metadataflash algorithm queriesprocessor type detectionmemory layout informationarm device pack tools
embedded-systemsarm-devicesdevice-metadata

More Software Development packages