# dca

[[[Source]]](https://github.com/google-research/dataclass_array/tree/main/dataclass_array/__init__.py)

```{code-block}
import dataclass_array as dca
```

```{eval-rst}
.. automodule:: dataclass_array
  :no-members:
```

## All symbols


### Module

|  |  |
--- | ---
[dca](index) | Dataclass Array.
[dca.testing](testing/index) | Test utils.
[dca.typing](typing/index) | Types utils.

### Class

|  |  |
--- | ---
[dca.DataclassArray](DataclassArray) | Dataclass which behaves like an array.
[dca.testing.Ray](testing/Ray) | Dummy dataclass array for testing.
[dca.typing.Array](typing/Array) | 
[dca.typing.ArrayAliasMeta](typing/ArrayAliasMeta) | Metaclass to create array aliases.
[dca.typing.BoolArray](typing/BoolArray) | 
[dca.typing.FloatArray](typing/FloatArray) | 
[dca.typing.IntArray](typing/IntArray) | 
[dca.typing.StrArray](typing/StrArray) | 
[dca.typing.TypeAlias](typing/TypeAlias) | Special type indicating an unconstrained type.
[dca.typing.bool_](typing/bool_) | 
[dca.typing.complex128](typing/complex128) | 
[dca.typing.complex64](typing/complex64) | 
[dca.typing.f16](typing/f16) | 
[dca.typing.f32](typing/f32) | 
[dca.typing.f64](typing/f64) | 
[dca.typing.i16](typing/i16) | 
[dca.typing.i32](typing/i32) | 
[dca.typing.i64](typing/i64) | 
[dca.typing.i8](typing/i8) | 
[dca.typing.ui16](typing/ui16) | 
[dca.typing.ui32](typing/ui32) | 
[dca.typing.ui64](typing/ui64) | 
[dca.typing.ui8](typing/ui8) | 

### Function

|  |  |
--- | ---
[dca.concat](concat) | Concatenate dataclasses together.
[dca.dataclass_array](dataclass_array) | Optional decorator to customize `dca.DataclassArray` params.
[dca.field](field) | Dataclass array field.
[dca.stack](stack) | Stack dataclasses together.
[dca.testing.assert_allclose](testing/assert_allclose) | Assert the trees are close.
[dca.testing.assert_array_equal](testing/assert_array_equal) | Assert the 2 objects are equals.
[dca.testing.assert_trees](testing/assert_trees) | Compare all values.
[dca.testing.skip_vmap_unavailable](testing/skip_vmap_unavailable) | Skip the test when vmap not available.
[dca.vectorize_method](vectorize_method) | Vectorize a `dca.DataclassArray` method.

### Typing

|  |  |
--- | ---
[dca.typing.ArrayLike](typing/ArrayLike) | 
[dca.typing.Axes](typing/Axes) | One or multiple axis. `None` indicate all axes. This is the type of .mean(axis=...)
[dca.typing.DTypeArg](typing/DTypeArg) | 
[dca.typing.DcOrArray](typing/DcOrArray) | Typing representing `xnp.ndarray` or `dca.DataclassArray`
[dca.typing.DcOrArrayT](typing/DcOrArrayT) | 
[dca.typing.DcT](typing/DcT) | 
[dca.typing.DynamicShape](typing/DynamicShape) | 
[dca.typing.Shape](typing/Shape) | 


```{toctree}
:hidden:

typing/index
field
dataclass_array
DataclassArray
concat
stack
vectorize_method
testing/index
```