# Dry Runs for Batch ML Features

A user can do dry run for any registered feature even before doing the actual deployment of the given feature.

* It helps end user to do deployment in production more confidently
* If any issues ocuurs while doing the dry run can be resolved well before doing the actual deployment.

## Introduction

Dry run is a way to test the feature before it gets deployed to production. It helps end users verify the feature logic they're implementing and reduces development and testing time. A user can do a dry run for any registered feature even before doing the actual deployment of the given feature.

* It helps end users deploy features in production confidently
* If there's any issue with the dry run output then it can be resolved well before doing the actual deployment.

## How to do a dry run?

* Same way, user creates a feature and does feature.deploy(), user will call feature.dry\_run() method.
* User will have to pass the start date and end date for the Dry run. Internally, an Airflow DAG will be scheduled for the given duration.
* Users will also have to specify the MAX\_DRY\_RUN\_DURATION\_DAYS.

## Important Notes

* Users are not allowed to do online ingestion in a dry run. Only offline materialization is in scope.

## Examples

This \[example]\(#TODO need to add url here) demonstrates how to perform a dry run for a Raw Feature. Once the `dry_run` is executed a new DAG with the name "test\_crf\_sha\_testing\_rows\_4" is generated, which allows users to inspect the job, reference the materialised values, perform any quality checks they want. Upon completion of quality checks, the same feature can be deployed.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.canso.ai/guides/dry_runs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
