.. toctree::
    :caption: High-level data types

    generated/ak.Array
    generated/ak.Record

.. toctree::
    :caption: Append-only builder

    generated/ak.ArrayBuilder

.. toctree::
    :caption: Converting from other formats

    generated/ak.from_arrow
    generated/ak.from_arrow_schema
    generated/ak.from_avro_file
    generated/ak.from_buffers
    generated/ak.from_cupy
    generated/ak.from_iter
    generated/ak.from_jax
    generated/ak.from_json
    generated/ak.from_numpy
    generated/ak.from_parquet
    generated/ak.from_rdataframe
    generated/ak.from_avro_file
    generated/ak.metadata_from_parquet

.. toctree::
    :caption: Converting to other formats

    generated/ak.to_arrow
    generated/ak.to_arrow_table
    generated/ak.to_buffers
    generated/ak.to_cupy
    generated/ak.to_dataframe
    generated/ak.to_jax
    generated/ak.to_json
    generated/ak.to_list
    generated/ak.to_numpy
    generated/ak.to_packed
    generated/ak.to_parquet
    generated/ak.to_rdataframe

.. toctree::
    :caption: Correctness checking

    generated/ak.is_valid
    generated/ak.validity_error

.. toctree::
    :caption: Lengths of lists

    generated/ak.num
    generated/ak.count
    generated/ak.count_nonzero

.. toctree::
    :caption: Making and breaking records (columns)

    generated/ak.zip
    generated/ak.unzip

.. toctree::
    :caption: Merging arrays (rows)

    generated/ak.concatenate
    generated/ak.where

.. toctree::
    :caption: Flattening lists and missing values

    generated/ak.flatten
    generated/ak.unflatten
    generated/ak.ravel

.. toctree::
    :caption: Functions that reduce dimension

    generated/ak.all
    generated/ak.any
    generated/ak.sum
    generated/ak.prod
    generated/ak.max
    generated/ak.min
    generated/ak.argmax
    generated/ak.argmin
    generated/ak.nansum
    generated/ak.nanprod
    generated/ak.nanmax
    generated/ak.nanmin
    generated/ak.nanargmax
    generated/ak.nanargmin

.. toctree::
    :caption: Statistics that reduce dimension

    generated/ak.moment
    generated/ak.mean
    generated/ak.var
    generated/ak.std
    generated/ak.nanmean
    generated/ak.nanvar
    generated/ak.nanstd
    generated/ak.covar
    generated/ak.corr
    generated/ak.linear_fit
    generated/ak.ptp
    generated/ak.softmax

.. toctree::
    :caption: Sorting

    generated/ak.sort
    generated/ak.argsort

.. toctree::
    :caption: Missing value handling

    generated/ak.mask
    generated/ak.drop_none
    generated/ak.is_none
    generated/ak.pad_none
    generated/ak.fill_none
    generated/ak.firsts
    generated/ak.singletons

.. toctree::
    :caption: Ragged and regular dimensions

    generated/ak.to_regular
    generated/ak.from_regular

.. toctree::
    :caption: Broadcasting

    generated/ak.broadcast_arrays
    generated/ak.broadcast_fields

.. toctree::
    :caption: Combinatorics ("for loop" replacements)

    generated/ak.cartesian
    generated/ak.combinations
    generated/ak.argcartesian
    generated/ak.argcombinations

.. toctree::
    :caption: Value and type conversions

    generated/ak.enforce_type
    generated/ak.nan_to_none
    generated/ak.nan_to_num
    generated/ak.values_astype
    generated/ak.strings_astype

.. toctree::
    :caption: Arrays of categorical data

    generated/ak.to_categorical
    generated/ak.from_categorical
    generated/ak.is_categorical
    generated/ak.categories

.. toctree::
    :caption: Indexing and grouping

    generated/ak.local_index
    generated/ak.run_lengths
    
.. toctree::
    :caption: Restructuring records

    generated/ak.merge_union_of_records
    generated/ak.merge_option_of_records

.. toctree::
    :caption: Copying and packing arrays

    generated/ak.copy
    generated/ak.to_packed

.. toctree::
    :caption: Extracting metadata

    generated/ak.type
    generated/ak.parameters
    generated/ak.fields
    generated/ak.is_tuple

.. toctree::
    :caption: Manipulating metadata

    generated/ak.with_name
    generated/ak.with_field
    generated/ak.with_parameter
    generated/ak.without_field
    generated/ak.without_parameters

.. toctree::
    :caption: Overriding behavior

    ak.behavior
    generated/ak.mixin_class
    generated/ak.mixin_class_method

.. toctree::
    :caption: Computational backends

    generated/ak.to_backend
    generated/ak.backend

.. toctree::
    :caption: NumPy compatibility

    generated/ak.full_like
    generated/ak.isclose
    generated/ak.ones_like
    generated/ak.zeros_like

.. toctree::
    :caption: Array comparison

    generated/ak.almost_equal
    
.. toctree::
    :caption: Third-party integration

    generated/ak.numba.register_and_check
    generated/ak.jax.assert_registered
    generated/ak.jax.import_jax
    generated/ak.jax.register_and_check
    generated/ak.jax.register_behavior_class

.. toctree::
    :caption: Array layout transformations

    generated/ak.transform

.. toctree::
    :caption: Low-level array layouts

    generated/ak.to_layout
    generated/ak.contents.Content
    generated/ak.contents.BitMaskedArray
    generated/ak.contents.ByteMaskedArray
    generated/ak.contents.EmptyArray
    generated/ak.contents.IndexedArray
    generated/ak.contents.IndexedOptionArray
    generated/ak.contents.ListArray
    generated/ak.contents.ListOffsetArray
    generated/ak.contents.NumpyArray
    generated/ak.contents.RecordArray
    generated/ak.contents.RegularArray
    generated/ak.contents.UnionArray
    generated/ak.contents.UnmaskedArray
    generated/ak.record.Record

.. toctree::
    :caption: Index for layout nodes

    generated/ak.index.Index
    generated/ak.index.Index8
    generated/ak.index.IndexU8
    generated/ak.index.Index32
    generated/ak.index.IndexU32
    generated/ak.index.Index64

.. toctree::
    :caption: High-level data types

    generated/ak.types.from_datashape
    generated/ak.types.Type
    generated/ak.types.ArrayType
    generated/ak.types.ScalarType
    generated/ak.types.ListType
    generated/ak.types.NumpyType
    generated/ak.types.OptionType
    generated/ak.types.RecordType
    generated/ak.types.RegularType
    generated/ak.types.UnionType
    generated/ak.types.UnknownType
    generated/ak.types.is_primitive
    generated/ak.types.dtype_to_primitive
    generated/ak.types.primitive_to_dtype

.. toctree::
    :caption: Low-level types: "forms"
    
    generated/ak.forms.Form
    generated/ak.forms.BitMaskedForm
    generated/ak.forms.ByteMaskedForm
    generated/ak.forms.EmptyForm
    generated/ak.forms.IndexedForm
    generated/ak.forms.IndexedOptionForm
    generated/ak.forms.ListForm
    generated/ak.forms.ListOffsetForm
    generated/ak.forms.NumpyForm
    generated/ak.forms.RecordForm
    generated/ak.forms.RegularForm
    generated/ak.forms.UnionForm
    generated/ak.forms.UnmaskedForm
    generated/ak.forms.from_dict
    generated/ak.forms.from_json
    generated/ak.forms.from_type

.. toctree::
    :caption: Builtin behaviors

    generated/ak.ByteBehavior
    generated/ak.ByteStringBehavior
    generated/ak.CharBehavior
    generated/ak.StringBehavior
    generated/ak.CategoricalBehavior

.. toctree::
    :caption: AwkwardForth for data ingest
    :maxdepth: 1

    awkwardforth

.. toctree::
    :caption: Low-level kernels
    :maxdepth: 1

    generated/kernels
