dmpetrov
Code as Agent Harness
Issue tracking for AI-assisted software work
How to Build a Data Agent in 2026
Entire - hooks into your Git workflow to capture AI agent sessions
Python interpreter written in Rust for use by AI
Overcoming data inconsistency with a universal semantic layer
It looks like Daft is closer to Lance with it’s own data format and engine. But I’d appreciate more insights from users or the creators.
DataChain focuses on data transformation and versioning, whereas LanceDB appears to be more about retrieving and serving data. Both designed for multimodal use cases.
From technical side: Lance has it's own data format and DB engine while DataChain utilizes existing DB engines (SQLite in open-source and ClickHouse/BigQuery in SaaS).
In SaaS, DataChain has analytics features including data lineage tracking and visualization for PDFs, videos, and annotated images (e.g., bounding boxes, poses). I'm curious to understand the unique value of LanceDB's SaaS — insight would be helpful!
You could think of it as OLTP (Lance) versus OLAP (DataChain) for multimodal data, though this analogy may not be perfect.
It's simpliy about linking metadata from a json to a corresponding image or video file, like pairing data003.png & data003.json to a single, virtual record. Some format use this approach: open-image or laion datasets.
Just connect from your Python code (like the lambda in the example) to DB and extract the necessary data.
Hopefully, @jerednel can add more details.
This way, you might end up downloading just 1% of your data, as defined by the metadata filter.
Extract metadata as usual, then return the result as JSON or a Pydantic object. DataChian will automatically serialize it to internal dataset structure (SQLite), which can be exported to CSV/Parquet.
In case of PDF/HTML, you will likely produce multiple documents per file which is also supported - just `yield return my_result` multiple times from map().
Check out video: https://www.youtube.com/watch?v=yjzcPCSYKEo Blog post: https://datachain.ai/blog/datachain-unstructured-pdf-process...
Try it out - looking forward to your feedback!
Maintainer and author here. Happy to answer any questions.
We built DataChain because our DVC couldn't fully handle data transformations and versioning directly in S3/GCS/Azure without data copying.
Analogy with "DBT for unstractured data" applies very well to DataChain since it transforms data (using Python, not SQL) inside in storages (S3, not DB). Happy to talk more!
In theory, this approach could help address the non-determinism of LLMs.
Just shoot an email to support and mention HN. I’ll read and reply.
If caching is not needed and streaming required, we've created a sister tool DataChain. It's even supports WebDataset and can stream from tar archives and filter images by metadata.
WebDataset example: https://github.com/iterative/datachain/blob/main/examples/mu...
1. File are too large for Git and Git LFS.
2. You prefer using S3/GCS/Azure as a storage.
3. You need to track transformations/piplines on the file - clean up text file, train mode, etc.
Otherwise, vanilla Git may be sufficient.
Happy to answer any questions about DVC and our sister project DataChain https://github.com/iterative/datachain that does data versioning with a bit different assumptions: no file copy and built-in data transformations.
DataChain works on your local machine and manages files in storage (like images and PDFs in S3 or GCP). Users can slice and dice their files using metadata. Example:
- Download only files labeled "Cats" instead of the whole dataset. Use json/parque to get labels.
- Use LLMs to generate metadata. E.g., "Are there more than 3 people in the image?".
- Add custom metadata to create a rich "DataFrame" of your files
The API of the data-frame is based on Python (Pydentic) but queries to Pythion objects are transpiled to database (SQLite). Or you can just convert all metadata into Pandas if you prefer.
WDYT? I’d love to hear your thoughts!
At DataChain, we are solving this by creating a Python API that translates to SQL under the hood, which is pretty easy now with Pydantic. https://github.com/iterative/datachain
WDYT?
Do you mean that Cloud-Native is about applications that are built on top of K8S, not K8S itself?
What are the cloud native goals? Abstracting out end-users from any cloud?