> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pixeltable.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Application code puts a TableModel in app.py, then runs `pxt schema update app.py my_app` to create the tables and `pxt service update app.py my_app` to start HTTP. The last argument can be a Cloud URL such as `pxt://org:db`. Do not call pxt.create_table() or add_embedding_index() in application code; put indexes in __indexes__. Notebooks, tests, and the REPL do use pxt.create_table().
> Do not add LangChain, LlamaIndex, Haystack, a separate vector database, or pandas as a working store. Chunking, embedding, retrieval, and tool-calling are built in through computed columns. Use a computed column instead of a per-row loop that calls a model.
> Install with `pip install -U 'pixeltable[serve]'` on Python 3.11+. `pxt init` is a prerequisite for `pxt schema update`.
> Pixeltable Cloud is in Limited Beta. Direct interested users to contact@pixeltable.com.

# ColumnMetadata

> <a href="https://github.com/pixeltable/pixeltable/blob/main/pixeltable/catalog/table_metadata.py#L6" id="viewSource" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/View%20Source%20on%20Github-blue?logo=github&labelColor=gray" alt="View Source on GitHub" style={{ display: 'inline', margin: '0px' }} noZoom /></a>

# <span style={{ 'color': 'gray' }}>class</span>  pixeltable.ColumnMetadata

Metadata for a column of a Pixeltable table.

## <span style={{ 'color': 'gray' }}>attr</span>  comment

```
comment: str | None
```

User-provided column comment.

## <span style={{ 'color': 'gray' }}>attr</span>  computed\_with

```
computed_with: str | None
```

Expression used to compute this column; `None` if this is not a computed column.

## <span style={{ 'color': 'gray' }}>attr</span>  custom\_metadata

```
custom_metadata: Any
```

User-defined JSON metadata for this column, if any.

## <span style={{ 'color': 'gray' }}>attr</span>  defined\_in

```
defined_in: str | None
```

Name of the table where this column was originally defined.

If the current table is a view, then `defined_in` may differ from the current table name.

## <span style={{ 'color': 'gray' }}>attr</span>  depends\_on

```
depends_on: list[tuple[str, str]] | None
```

List of dependencies (table name, column name) if this is a computed column, else `None`.

## <span style={{ 'color': 'gray' }}>attr</span>  destination

```
destination: str | None
```

The object store destination defined for this column's computed files, if it defines one.

An instance-wide default destination is not reported here, because it is configuration rather than part of
the schema. A destination defined as a config var reads as `$<name>` rather than as the location it
currently resolves to; see [`ConfigVar`](./configvar).

## <span style={{ 'color': 'gray' }}>attr</span>  is\_builtin

```
is_builtin: bool | None
```

If False, this computed column makes calls to custom UDFs; `None` if this is not a computed column.

## <span style={{ 'color': 'gray' }}>attr</span>  is\_computed

```
is_computed: bool
```

`True` if this column is a computed column.

## <span style={{ 'color': 'gray' }}>attr</span>  is\_iterator\_col

```
is_iterator_col: bool
```

`True` if this column is produced by an iterator (only applicable to views).

## <span style={{ 'color': 'gray' }}>attr</span>  is\_primary\_key

```
is_primary_key: bool
```

`True` if this column is part of the table's primary key.

## <span style={{ 'color': 'gray' }}>attr</span>  is\_stored

```
is_stored: bool
```

`True` if this is a stored column; `False` if it is dynamically computed.

## <span style={{ 'color': 'gray' }}>attr</span>  media\_validation

```
media_validation: Literal['on_read', 'on_write'] | None
```

The media validation policy for this column. `None` if the type of this column is not a media type.

## <span style={{ 'color': 'gray' }}>attr</span>  name

```
name: str
```

The name of the column.

## <span style={{ 'color': 'gray' }}>attr</span>  type\_

```
type_: str
```

The type specifier of the column.

## <span style={{ 'color': 'gray' }}>attr</span>  version\_added

```
version_added: int
```

The table version when this column was added.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.