> The complete documentation index is at [llms.txt](/llms.txt).

Bypasses type validation

Binary data type corresponding to the Arrow data type `Binary`.

Boolean data type corresponding to the Arrow data type `Bool`.

Date data type corresponding to the Arrow data type `Date32` (days).

Date data type corresponding to the Arrow data type `Date64` (milliseconds).

Floating point data type corresponding to the Arrow data type `Float64`.

Integer data type corresponding to the Arrow data type `Int32`.

Integer data type corresponding to the Arrow data type `Int64`.

## Model

```python
bauplan.Model(name: str, projection_schema: Optional[type[[TableSchema](/reference/bauplan-sdk-types#bauplan-sdk-types-tableschema)]], filter: Optional[LiteralString])
```

A reference to another Bauplan model (a DAG node) as a data dependency.
This identifies the model by catalog identifier, which may be qualified
('namespace.name') or may be bare ('name'). A bare model name will be prefixed with
the default namespace.

**Attributes:**
- `name` (str)
- `projection_schema` (Optional[type[[TableSchema](/reference/bauplan-sdk-types#bauplan-sdk-types-tableschema)]])
- `filter` (Optional[LiteralString])

## Parameter

```python
bauplan.Parameter(param_name: str)
```

Represents a parameter that can be used to "template" values passed to a model during a run or
query with, e.g., `bauplan run --param interest_rate=2.0`.

**Attributes:**
- `param_name` (str)

String data type corresponding to the Arrow data type `String`.

## TableField

```python
bauplan.TableField(name: Optional[str], doc: Optional[str], lineage: Optional[FieldType | str])
```

A schema field that contains metadata and is used to annotate a table column.

**Parameters:**
- `name` (Optional[str]): No description
- `doc` (Optional[str]): No description
- `lineage` (Optional[FieldType | str]): No description

A table schema is a collection of table column definitions and is a required base
class when specifying a model output schema or a projection schema. A model output
schema is specified in the return annotation of a model. A projection schema may be
used to project a set of columns from a model input or an expectation input.

For example:

```python
from typing import Annotated
from bauplan import Float64, Int64, TableField, TableSchema

class NewTableSchema(TableSchema):
    first: Annotated[Int64, TableField(doc='first column')]
    second: Annotated[Float64, TableField(doc='second column')]
```

References to schema columns can be made by using "index syntax" and passing it to
the `lineage` parameter of `TableField`, for example:

```python
from typing import Annotated
from bauplan import Int64, TableField, TableSchema

class NewTableSchema(TableSchema):
    first: Annotated[Int64, TableField(name='first col', doc='first column')]

class DerivedSchema(TableSchema):
    third: Annotated[Int64, TableField(lineage=NewTableSchema['first'])]
```

Time data type corresponding to the Arrow data type `Timestamp('us')`.

Time data type corresponding to the Arrow data type `Timestamp('us', tz='UTC')`.
Values are absolute instants; Iceberg stores these as UTC and does not preserve
the timezone they were written from.

Time data type corresponding to the Arrow data type `Timestamp('ns')`.

Time data type corresponding to the Arrow data type `Timestamp('ns', tz='UTC')`.
Values are absolute instants; Iceberg stores these as UTC and does not preserve
the timezone they were written from.

## expectation

```python
def expectation()
```

Decorator that defines a Bauplan expectation.

## model

```python
def model(name: Optional[str], partitioned_by: Optional[Union[str, list[str], tuple[str, ...]]], materialization_strategy: Optional[ModelMaterializationStrategy], cache_strategy: Optional[ModelCacheStrategy], overwrite_filter: Optional[str], internet_access: Optional[bool])
```

Decorator that specifies a Bauplan model.

**Parameters:**
- `name` (Optional[str]): the model identifier, defaults to the function name if not provided.
- `partitioned_by` (Optional[Union[str, list[str], tuple[str, ...]]]): model columns to use for partitioning.
- `materialization_strategy` (Optional[[ModelMaterializationStrategy](/reference/bauplan-sdk-types#bauplan-sdk-types-modelmaterializationstrategy)]): how data should be written to the catalog, see
                      [`bauplan.ModelMaterializationStrategy`](/reference/bauplan-sdk-types#bauplan-sdk-types-modelmaterializationstrategy).
- `cache_strategy` (Optional[[ModelCacheStrategy](/reference/bauplan-sdk-types#bauplan-sdk-types-modelcachestrategy)]): how data should be cached, see [`bauplan.ModelCacheStrategy`](/reference/bauplan-sdk-types#bauplan-sdk-types-modelcachestrategy).
- `overwrite_filter` (Optional[str]): the overwrite filter expression.
- `internet_access` (Optional[bool]): flag to request internet access for the transformation logic.

## python

```python
def python(version: Optional[str], pip: Optional[dict[str, str]])
```

Decorator that defines a Python environment for a Bauplan function (e.g. a model or
expectation). It is used to specify which Python version a model or expectation
should run on and which Python packages should be available.

**Parameters:**
- `version` (Optional[str]): The python interpreter version (e.g. `&#39;3.11&#39;`).
- `pip` (Optional[dict[str, str]]): A dictionary containing python packages and their versions required by the
 function, for example: `{&#39;requests&#39;: &#39;2.26.0&#39;}`.