Segments are written in Python, and the default segments provided with Powerline are located in powerline/segments/extension.py. User-defined segments can be defined in any module in sys.path or paths common configuration option, import is always absolute.
Segments are regular Python functions, and they may accept arguments. All arguments should have a default value which will be used for themes that don’t provide an args dict.
More information is available in Writing segments section.