# EXTRAS: optional or useful for development/developers workflow

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

# to use in ./scripts for memory footprint, code coverage, etc.
gitpython

# 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/build/gen_cfb_font_header.py - helper script for user
Pillow>=10.0

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

# used by nanopb module to generate sources from .proto files
grpcio-tools>=1.47.0
protobuf>=3.20.3

# 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.8.0
