Registry / data / daft
library0.7.24pypypi✓ verified 23d ago

Daft is a high-performance data engine for AI and multimodal workloads. It provides a Python DataFrame API for processing images, audio, video, and structured data at any scale, built with Rust under the hood for performance and seamless scaling from local to distributed clusters. It is actively developed by Eventual Inc., with frequent releases.

pip install daft
INSTALL
IMPORT
SIG · DAFT
D
daft
datapythonv0.7.24
Install
13.8s avg
Import
501ms
Disk
754MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.7.24 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.915 runs
build_error
glibc
py 3.103.915 runs
installs and imports cleanly · install 13.8s · import 0.501s · 755MB
754MB installed
● package 754MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

daft
import daft
import getdaft
The package was renamed from `getdaft` to `daft`.

This quickstart demonstrates loading a dataset from Hugging Face, inspecting the lazy DataFrame schema, selecting columns, and materializing a small subset into a Pandas DataFrame to view the data.

import daft import os # Load an e-commerce dataset from Hugging Face # Requires 'daft[huggingface]' to be installed if not already part of your setup df = daft.read_huggingface("calmgoose/amazon-product-data-2020") # Inspect the schema (Daft is lazy, so no data is fetched yet) print("Schema:") print(df) # Select a few columns and materialize the first 5 rows to see data df_subset = df.select(df["Product Name"], df["Category"]).limit(5) result = df_subset.collect() print("\nFirst 5 rows:") print(result.to_pandas())
Debug
Known issues
breakingThe original package `getdaft` was renamed to `daft`. Older installations or scripts referencing `getdaft` will fail.
fix
Use `pip install daft` and update imports from `import getdaft` to `import daft`.
affects: <=0.5.0 (for `getdaft`)
gotchaDaft DataFrames are lazy by default. Operations like `select`, `where`, `with_column` build a query plan but do not execute or fetch data until an action such as `collect()`, `show()`, `to_pandas()`, or `write_*()` is explicitly called.
fix
Remember to call an action method (e.g., `.collect().to_pandas()`) to materialize and retrieve data from a DataFrame.
affects: All versions
gotchaThere is another distinct Python package named `daft-pgm` (for Probabilistic Graphical Models). Ensure you install and import the correct `daft` library for distributed dataframes, which is `daft` from the `Eventual-Inc/Daft` project.
fix
Verify you are installing `daft` (not `daft-pgm`) and importing `daft`.
affects: All versions
breakingThe default `ddof` parameter for the `stddev` aggregation function changed to `1`. Previously, it might have defaulted to `0` or behaved inconsistently depending on the underlying implementation.
fix
Explicitly set `ddof` when calling `stddev()` if you rely on a specific degree of freedom correction (e.g., `df.agg.stddev(ddof=0)`).
affects: >=0.7.5
breakingSignificant internal refactors have occurred, especially concerning interactions with Apache Arrow libraries (migrating from `arrow2` to `arrow-rs`). While primarily internal, users with highly customized integrations or those relying on specific Arrow-related behaviors might experience subtle changes or compatibility issues.
fix
Review existing code for direct interaction with `arrow2` or specific Arrow table/array implementations. Test thoroughly after upgrading, especially for data loading and serialization/deserialization workflows.
affects: >=0.7.5
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'daft'
The 'daft' library is not installed in your Python environment or the environment is not correctly activated.
fix
Run `pip install daft` in your terminal to install the library.
ModuleNotFoundError: No module named 's3fs'
You are attempting to access data from S3 (or another cloud storage) which requires an optional dependency that has not been installed. Daft itself might be installed, but not its 's3' or other 'extras' dependencies.
fix
Install the required extra dependency, for example, `pip install "daft[s3]"` for S3 support. Refer to the Daft installation guide for other optional dependencies like `ray`, `gcs`, etc.
AttributeError: 'DataFrame' object has no attribute 'some_column_name'
You are trying to access a column by name that does not exist in the Daft DataFrame, or you are attempting to call a method that is not part of the Daft DataFrame API. This often happens due to typos or confusion with methods from other DataFrame libraries like Pandas.
fix
Verify the exact column names using `df.column_names` or `df.schema()`. If it's a method call, check the Daft API reference for the correct method name and usage.
TypeError: expected either PyArrow Array or Chunked Array, got <class 'list'>
A Daft function, such as `daft.Series.from_arrow()`, received an input with an incompatible Python type (e.g., a standard Python list) when it was expecting a PyArrow Array or ChunkedArray.
fix
Ensure that the data you are passing to Daft functions is of the expected type. Convert your data to a PyArrow Array or ChunkedArray (e.g., `pa.array(my_list)`) before using it with functions that specifically require Arrow types.
Upgrade
Version history
0.7.24latest on PyPI · released Aug 15, 2026
Audit
Dependencies
pythonrequiredRequires Python 3.10 or higher.
numpyoptionalOften used for numerical data in examples and UDFs.
pillowoptionalRequired for image processing capabilities.
openaioptionalNeeded for built-in AI operations using OpenAI models (e.g., embeddings, LLM prompts).
Agent activity
37 hits · last 30 days
node
32
OpenAI (training)
1
Resources