# Required for Python to search this directory for module files
# This directory houses Python modules that do not yet have a proper home.
#
# Some of the Python modules in this directory aren't really part of webkitpy
# in the sense that they're not classes that are meant to be used as part of
# the webkitpy library. Instead, they're a bunch of helper code for individual
# scripts in in Tools/Scripts.
#
# Really, all this code should either be refactored or moved somewhere else,
# hence the somewhat lame name for this directory.
