# LibTmux.project_rows

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** Julia
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/projection.jl#L46
- **Page:** https://libtmux.org/en/julia/latest/reference/libtmux-project_rows/

```
project_rows(selection::LibTmux.Selection{T}; columns) where T
```

## Methods

Project explicit scalar catalog fields into ordinary named tuples, preserving row order and multiplicity. All requested fields are checked for coverage before returning. Relations require an explicit caller projection instead. IDs retain their typed identity; integers are not narrowed. Captured absence remains `nothing`. No Tables or DataFrames dependency is required.

```julia
project_rows(selection; columns) -> RowProjection
```



After `using Tables`, the optional extension exposes this same projection as a Tables.jl row source with its declared schema, including when it is empty.

## Parameters

- `selection` (`LibTmux.Selection{T}`)
- `columns`
