Metadata-Version: 2.4
Name: pyflashgui
Version: 0.1.0
Summary: Graphical flash programming tool: Arm Cortex-M with any probe pyOCD supports, and more through J-Link Commander
Author: davhodg
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/davhodg/pyflashgui
Project-URL: Documentation, https://github.com/davhodg/pyflashgui/blob/master/pyflashgui/help/manual.md
Project-URL: Repository, https://github.com/davhodg/pyflashgui
Project-URL: Issues, https://github.com/davhodg/pyflashgui/issues
Project-URL: Discussions, https://github.com/davhodg/pyflashgui/discussions
Project-URL: Releases, https://github.com/davhodg/pyflashgui/releases
Project-URL: Changelog, https://github.com/davhodg/pyflashgui/blob/master/pyflashgui/help/changelog.md
Keywords: flash,programmer,debug probe,SWD,CMSIS-DAP,ST-Link,J-Link,pyOCD,Cortex-M,microcontroller,embedded,firmware,Intel HEX,S-record,ELF,Qt
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Embedded Systems
Classifier: Topic :: System :: Hardware
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: PySide6-Essentials>=6.8
Requires-Dist: pyocd>=0.45
Requires-Dist: bincopy>=20.0
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: ruff==0.16.*; extra == "dev"
Requires-Dist: trove-classifiers; extra == "dev"
Dynamic: license-file

<p align="center">
  <img src="https://raw.githubusercontent.com/davhodg/pyflashgui/master/pyflashgui/resources/pyflashgui.png" alt="pyflashgui icon: a chip with pins on every side and a flash across it" width="128">
</p>

# pyflashgui

[![CI](https://github.com/davhodg/pyflashgui/actions/workflows/ci.yml/badge.svg)](https://github.com/davhodg/pyflashgui/actions/workflows/ci.yml)
[![release](https://img.shields.io/github/v/release/davhodg/pyflashgui?include_prereleases)](https://github.com/davhodg/pyflashgui/releases)
[![PyPI](https://img.shields.io/pypi/v/pyflashgui)](https://pypi.org/project/pyflashgui/)
![python](https://img.shields.io/badge/python-3.12+-blue)
![platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux-lightgrey)
![license](https://img.shields.io/badge/license-Apache--2.0-green)

A graphical flash programming tool. It works with any debug probe [pyOCD](https://pyocd.io) supports, for Arm Cortex-M targets: CMSIS-DAP probes such as the Raspberry Pi Debug Probe, DAPLink, NXP MCU-Link and Atmel-ICE, TI XDS110 and the probes built into many development boards, as well as ST-Link and J-Link. With a J-Link it can also use SEGGER's J-Link Commander, for the many other devices that supports.

![pyflashgui on its simulated probe: the Files pane with a firmware file and a read, the memory map under them, the bytes of the read beside them, and the Event Log below](https://raw.githubusercontent.com/davhodg/pyflashgui/master/pyflashgui/help/main-window.png)

**It is a tool for the bench**: for development, debugging and hobby use. It is not meant for production programming.

## Install and run

To install it:

```
pip install pyflashgui
```

To run it:

```
pyflashgui
```

It needs Python 3.12 or newer, on Windows or Linux.

## More

The [README](https://github.com/davhodg/pyflashgui#readme) says which probes need which drivers, and the [manual](https://github.com/davhodg/pyflashgui/blob/master/pyflashgui/help/manual.md) ships inside pyflashgui, under *Help > Documentation*.

Apache-2.0.
