# EXTRAS: optional or useful for development/developers workflow

# used by twister for --test-tree option
anytree

# helper for developers - check git commit messages
gitlint

# helper for developers
junit2html

# Script used to build firmware images for NXP LPC MCUs.
lpc_checksum

# used by scripts/gen_cfb_font_header.py - helper script for user
Pillow

# can be used to sign a Zephyr application binary for consumption by a bootloader
imgtool>=1.7.1

# used by nanopb module to generate sources from .proto files
protobuf

# used by scripts/release/bug_bash.py for generating top ten bug squashers
PyGithub
