Metadata-Version: 2.4
Name: cmsis-pack-manager
Version: 0.6.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Debuggers
Classifier: Topic :: Software Development :: Embedded Systems
Classifier: Topic :: Utilities
Requires-Dist: appdirs>=1.4,<2.0
Requires-Dist: cffi
Requires-Dist: pyyaml>=6.0,<7.0
Requires-Dist: pytest>=6.0 ; extra == 'test'
Requires-Dist: hypothesis ; extra == 'test'
Requires-Dist: jinja2 ; extra == 'test'
Provides-Extra: test
License-File: LICENSE
Summary: Python manager for CMSIS-Pack index and cache with fast Rust backend
Maintainer-email: Mathias Brossard <mathias.brossard@arm.com>, Chris Reed <flit@me.com>
Requires-Python: >=3.6
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Bug Tracker, https://github.com/pyocd/cmsis-pack-manager/issues
Project-URL: Changelog, https://github.com/pyocd/cmsis-pack-manager/releases
Project-URL: Discussions, https://github.com/pyocd/cmsis-pack-manager/discussions
Project-URL: Documentation, https://github.com/pyocd/cmsis-pack-manager/

# cmsis-pack-manager

[![PyPI](https://img.shields.io/pypi/v/cmsis-pack-manager.svg)](https://pypi.python.org/pypi/cmsis-pack-manager)
[![Actions Status](https://github.com/pyocd/cmsis-pack-manager/actions/workflows/ci.yml/badge.svg)](https://github.com/pyocd/cmsis-pack-manager/actions)

`cmsis-pack-manager` is a python module, Rust crate and command line utility
for managing current device information that is stored in many CMSIS PACKs.
Users of `cmsis-pack-manager `may query for information such as processor
type, flash algorithm and memory layout information in a python program or
through the command line utility, `pack-manager`, provided as part of this
module.

# DOCS!

They live here: https://pyocd.github.io/cmsis-pack-manager/

# Building

To build `cmsis-pack-manager` locally, Install a stable rust compiler. See
https://rustup.rs/ for details on installing `rustup`, the Rust toolchain
updater. Afterwards, run `rustup toolchain install` to get the Rust toolchain
and build system for building `cmsis-pack-manager`.

After installing the rust toolchain and downloading a stable compiler, run
`pip wheel .` from the root of this repo to generate a binary wheel (`.whl`
file). Alternatively you can run `pip install maturin cffi` and then
`maturin build` for a process closer to the way we build releases.

For testing purposes, there is a CLI written in Rust within the rust
workspace as the package `cmsis-cli`. For example From the `rust`
directory, `cargo run -p cmsis-cli -- update` builds this testing
CLI and runs the update command, for example.

