# uproot.interpretation.library

This module represents external libraries that define “array-like” types so that users can choose an output format.

The uproot.interpretation.library.NumPy library always works (NumPy is Uproot’s only strict dependency) and outputs NumPy arrays for single arrays and dict/tuple/list as groups. Objects and jagged arrays are not efficiently represented, but it provides a zero-dependency least common denominator.

The uproot.interpretation.library.Awkward library is the default and depends on Awkward Array (`awkward`). It is usually the best option, as it was designed for Uproot.

The uproot.interpretation.library.Pandas library outputs `pandas.Series` for single arrays and `pandas.DataFrame` as groups. Objects are not efficiently represented, but some jagged arrays are encoded as `pandas.MultiIndex`.

Lazy arrays (uproot.behaviors.TBranch.lazy) can only use the uproot.interpretation.library.Awkward library.