Hey Abhijeet, thanks for the interest.
Daft's Delta Lake integration is intentionally thin - we use the deltalake Python package for metadata/commit operations and handle the parquet I/O ourselves. We don't have native merge support today, and it's not on the near-term roadmap.
However, the simplest path to a df.merge_into_deltalake() API is straightforward: collect the source DataFrame to Arrow on the driver and call deltalake's DeltaTable.merge() directly. This works well for the common case where you're merging an incremental batch into a large target table (the source is small, the deltalake SDK handles target-side file pruning). For the uncommon case where the source is too large to fit on the driver, users can already implement a custom DataSink as a workaround.
If you want to contribute this, the relevant entry points are DataFrame.write_deltalake() in daft/dataframe/dataframe.py and the Delta Lake scan/write glue in daft/delta_lake/. The Daft architecture page on deepwiki looks reasonable as a starting point, but honestly the fastest way to orient yourself is to trace the write_deltalake code path end-to-end - it's not deep. The CONTRIBUTING.md in the repo covers dev setup.
Happy to help scope out the implementation if you want to open a draft PR