# BASE: required to build or create images with zephyr
#
# While technically west isn't required it's considered in base since it's
# part of the recommended workflow

# used by various build scripts
pyelftools>=0.26

# used by dts generation to parse binding YAMLs, also used by
# sanitycheck to parse YAMLs
PyYAML>=5.1

# used by west_commands
canopen
packaging
progress

# for ram/rom reports
anytree

# intelhex used by mergehex.py
intelhex

# it's west
west>=0.7.2

# used for windows based 'menuconfig'
# "win32" is used for 64-bit Windows as well
windows-curses; sys_platform == "win32"
