--- id: cmsis-pack-manager version: "0.6.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # cmsis-pack-manager — Python manager for CMSIS-Pack index and cache with fast Rust backend License: permissive · Maintenance: active · Downloads: 1.1M/mo ## 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 above — 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 pip install cmsis-pack-manager uv add cmsis-pack-manager 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_current - Install friction: medium - Maintenance: active - Downloads: 1.1M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags cmsis pack manager, device information lookup, embedded device metadata, flash algorithm queries, processor type detection, memory layout information, arm device pack tools, embedded-systems, arm-devices, device-metadata [View on SkillFed](https://skillfed.io/packages/cmsis-pack-manager) · [View on PyPI](https://pypi.org/project/cmsis-pack-manager/)