# transforms.api.transform\_polars ## transforms.api.transform\_polars(output, \*\*inputs) {#transforms.api.transform\_polars} Register the wrapped compute function as a Polars transform. :::callout{theme="neutral"} To use the Polars library, you must add `polars` as a **run** dependency in your `meta.yml` file. For more information, refer to the [documentation ↗](../../../transforms-python/project-structure/index.md#metayaml). The `transform_polars` decorator is a thin wrapper around the `lightweight` decorator. Using it results in the creation of a lightweight transform that lacks some features of a regular transform. This works similarly to the [`transform_pandas()`](../api-transform-pandas/index.md#transforms.api.transform_pandas) decorator, however, instead of pandas DataFrames, the user code is given and is expected to return Polars DataFrames. Note that spark profiles cannot be used with lightweight transforms, meaning that they also cannot be used with `@transform_polars`. ```python >>> @transform_polars( ... Output('ri.main.foundry.dataset.out'), # An unnamed Output spec ... first_input=Input('ri.main.foundry.dataset.in1'), ... second_input=Input('ri.main.foundry.dataset.in2'), ... ) ... def my_compute_function(ctx, first_input, second_input): ... # type: (polars.DataFrame, polars.DataFrame) -> polars.DataFrame ... return first_input.join(second_input, on='id', how="inner") ``` ::: * **Parameters:** * **output** ([*Output*](../api-output/index.md#transforms.api.Output)) – The single [`Output`](../api-output/index.md#transforms.api.Output) spec for the transform. * **\*\*inputs** ([*Input*](../api-input/index.md#transforms.api.Input)) – `kwargs` comprised of named [`Input`](../api-input/index.md#transforms.api.Input) specs.