# 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

# helper for developers - code formatter
clang-format>=1.13x

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

# used by scripts/build/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.9

# used by nanopb module to generate sources from .proto files
grpcio-tools

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

# used to generate devicetree dependency graphs
graphviz
