Skip to content

Constructors

The main strategy arrays().

The function arrays() is the main strategy of this package. It generates Awkward Arrays with multiple options to control the layout, data types, missing values, masks, and other array attributes.

Functions:

Name Description
arrays

Strategy for Awkward Arrays.

arrays

arrays(
    draw: DrawFn,
    *,
    dtypes: SearchStrategy[dtype] | None = None,
    max_size: int = 10,
    allow_nan: bool = False,
    allow_numpy: bool = True,
    allow_empty: bool = True,
    allow_string: bool = True,
    allow_bytestring: bool = True,
    allow_regular: bool = True,
    allow_list_offset: bool = True,
    allow_list: bool = True,
    allow_record: bool = True,
    allow_union: bool = True,
    max_depth: int = 5,
    max_length: int | None = None,
    allow_virtual: bool = True,
) -> ak.Array

Strategy for Awkward Arrays.

Builds arrays with NumpyArray, EmptyArray, string, and bytestring as leaf contents that can be nested multiple levels deep in RegularArray, ListOffsetArray, ListArray, RecordArray, and UnionArray. Arrays might be virtual.

Parameters:

Name Type Description Default
dtypes SearchStrategy[dtype] | None

A strategy for NumPy scalar dtypes used in NumpyArray. If None, the default strategy that generates any scalar dtype supported by Awkward Array is used. Does not affect string or bytestring content.

None
max_size int

Maximum total number of elements in the generated content. Each numerical value, including complex and datetime, counts as one. Each string and bytestring (not character or byte) counts as one.

10
allow_nan bool

No NaN/NaT values are generated in NumpyArray if False.

False
allow_numpy bool

No NumpyArray is generated if False.

True
allow_empty bool

No EmptyArray is generated if False. EmptyArray has Awkward type unknown and carries no data. Unlike NumpyArray, it is unaffected by dtypes and allow_nan.

True
allow_string bool

No string content is generated if False. Strings are represented as a ListOffsetArray wrapping a NumpyArray(uint8). Each string (not character) counts toward max_size. The string itself does not count toward max_depth. Unaffected by dtypes and allow_nan.

True
allow_bytestring bool

No bytestring content is generated if False. Bytestrings are represented as a ListOffsetArray wrapping a NumpyArray(uint8). Each bytestring (not byte) counts toward max_size. The bytestring itself does not count toward max_depth. Unaffected by dtypes and allow_nan.

True
allow_regular bool

No RegularArray is generated if False.

True
allow_list_offset bool

No ListOffsetArray is generated if False.

True
allow_list bool

No ListArray is generated if False.

True
allow_record bool

No RecordArray is generated if False.

True
allow_union bool

No UnionArray is generated if False.

True
max_depth int

Maximum nesting depth. Each RegularArray, ListOffsetArray, ListArray, RecordArray, and UnionArray layer adds one level, excluding those that form string or bytestring content.

5
max_length int | None

Maximum len() of the generated array. No constraint when None (the default).

None
allow_virtual bool

No virtual arrays are generated if False.

True

Examples:

>>> arrays().example()
<Array ... type='...'>