API reference#

See the left side-bar (or bring it into view by clicking on the upper-left ) for a detailed description of every public class and function in Awkward Array. You can use your browser’s find-in-page to find a particular function.

In a nutshell, the awkward library consists of

  • a high-level ak.Array class, as well as ak.Record for scalar records,

  • a suite of functions in the ak.* and ak.str.* namespaces, which operate on arrays,

  • high-level data ak.types.Type classes, a generalization of NumPy’s shape and dtype,

  • low-level array ak.contents.Content, which describe the memory layout of arrays, as well as their ak.forms.Form (low-level types),

  • an ak.behavior dict to add functionality to arrays and records.

For details about array slicing, see ak.Array.__getitem__().

For details about adding record fields to an array of records, see ak.Array.__setitem__().

To get a low-level ak.contents.Content from an array or record, see ak.Array.layout and ak.Record.layout.

If you’re looking for “how to…” guides arranged by task, rather than function, see the user guide instead.

You can test any of these functions in a new window/tab by clicking on Try It! ⭷.

C++ Documentation

The C++ code implementing the awkward-cpp helper library are documented separately. Click here to go to the C++ API reference.


Although many of the functions have the same names and interfaces, the dask-awkward library is documented separately. Click here to learn about Awkward Arrays in Dask.

High-level data types

Converting to Pandas DataFrames

Lengths of lists

High-level data types

Low-level array layouts

Low-level types: "forms"

Low-level data ingest