# 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>=15.0.0

# 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

# used to generate CBOR encoders and decoders, e.g. lwm2m_senml_cbor.
zcbor>=0.6.0
