Skip to content

Columns overview

Columns define how each field is displayed or edited in a table. Choose a type, then chain fluent helpers as needed.

from almasix.orbit.tables import Table, TextColumn, BadgeColumn, ImageColumn
Table.make("inventory").columns([
ImageColumn.make("avatar_url").circular().size(32),
TextColumn.make("name").searchable().sortable().weight("bold"),
BadgeColumn.make("status").color("success"),
TextColumn.make("price").money("USD").align_end(),
])

Column catalog (light) Column catalog (dark)

Column One-liner Docs
TextColumn Default cell — search, sort, money, dates, badges, links, markdown Text
BadgeColumn Text that always renders as a badge Badge
BooleanColumn Check / X icons (Filament IconColumn.boolean alias) Boolean
IconColumn Icon from state, or boolean icons via .boolean() Icon
ImageColumn Avatars — circular, stacked, sized, default URL Image
ColorColumn Hex swatch, optionally copyable Color
SelectColumn Inline <select> — persists via update_column_state Select
ToggleColumn Inline toggle switch Toggle
TextInputColumn Inline text field Text input
CheckboxColumn Inline checkbox Checkbox
TagsColumn List (or CSV string) → badge cluster Tags
ViewColumn Custom HTML via .content(...) View
ColumnGroup Dual header: ColumnGroup.make('Label', [cols]) Column group

Money (light) Money (dark)

TextColumn.make("amount").money("USD")
TextColumn.make("cents").money("USD", divide_by=100).align_end()

Icon / boolean (light) Icon / boolean (dark)

Image / color (light) Image / color (dark)

Editable cells (light) Editable cells (dark)

SelectColumn, TextInputColumn, ToggleColumn, CheckboxColumn
# persist via ListRecordsHost.update_column_state / orbit.js

Tags / view (light) Tags / view (dark)

Column group (light) Column group (dark)

Most columns inherit from Column, so these are available across types:

  • .label(...) / .sortable() / .searchable() / .toggleable(...)
  • .align_start() / .align_center() / .align_end()
  • .format_state_using(callback) / .color(str | callable)
  • .visible_from(...) / .hidden_from(...) / .summarize(...)

Layout wrappers (Split, Stack, Panel, …) nest columns inside one cell — see Layout.