Datasets

One-line loading and fast, Arrow-backed processing for thousands of ML datasets

Library
PyPI
v5.1.0
22,082 stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
96 /100 Excellent
Development Activity 100
Maintenance 100
Community 84
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
86 /100 Excellent
Architecture 90
Code Quality 88
Innovation 85
Learning Curve 82

Datasets is Hugging Face’s library for accessing and processing machine learning datasets, providing one-line dataloaders for thousands of public datasets hosted on the Hugging Face Hub alongside efficient tools for working with local CSV, JSON, Parquet, image, audio, video, and text data.

Built on Apache Arrow, it uses zero-copy memory-mapped storage so datasets can exceed available RAM without slowing down access, and it supports streaming mode so huge datasets can be iterated over without a full download. Smart caching avoids reprocessing the same transformation twice, and native converters interoperate with NumPy, Pandas, Polars, PyTorch, TensorFlow, JAX, and Spark.

What You Get

  • One-line access to datasets hosted on the Hugging Face Hub across text, image, audio, video, and 3D medical formats
  • Zero-copy Apache Arrow backend so datasets larger than RAM can still be processed efficiently
  • Streaming mode to iterate over massive datasets without downloading them first
  • Built-in map()/filter() transformations with multi-processing support via num_proc
  • Native conversion to and from NumPy, Pandas, Polars, PyTorch, TensorFlow, JAX, and Spark
  • Support for loading local files in CSV, JSON, JSONL, Parquet, HDF5, XML, text, image, and audio formats

Common Use Cases

  • Loading a public benchmark dataset (e.g. SQuAD, GLUE) for fine-tuning or evaluating a model
  • Streaming a dataset too large to fit on disk directly into a training loop
  • Preprocessing raw text, image, or audio data with map() before feeding it into a PyTorch or TensorFlow pipeline
  • Converting between Pandas/Polars DataFrames and Arrow-backed datasets for exploratory analysis
  • Building and sharing a custom dataset on the Hugging Face Hub for reuse by other practitioners

Under The Hood

Architecture - The core of Datasets is the Dataset/DatasetDict object defined in src/datasets/arrow_dataset.py (7,400+ lines), a thin, memory-mapped wrapper over Apache Arrow tables. load.py orchestrates dataset resolution — checking the Hugging Face Hub, a packaged_modules loader (CSV/JSON/Parquet/etc.), or a user-supplied loading script — and hands off to builder.py, which downloads, verifies, and writes Arrow files via arrow_writer.py/arrow_reader.py. iterable_dataset.py provides the streaming code path that avoids materializing data on disk, and distributed.py/parallel/ handle multi-worker and multi-process execution.

Tech Stack - Written in Python (>=3.10), with pyarrow as the storage backbone, huggingface_hub for Hub access, fsspec for filesystem abstraction, and optional integrations with NumPy, Pandas, Polars, PyTorch, TensorFlow, and JAX. Packaging is managed with a legacy setup.py plus pyproject.toml for tool configuration (ruff, pytest), and CI runs via GitHub Actions.

Code Quality - The tests/ directory contains 1,300+ test functions covering the Arrow dataset core, builders, download manager, distributed execution, and each packaged data format, run under pytest with strict FutureWarning filtering on huggingface_hub. Ruff enforces linting (import sorting, unused imports) across the codebase. Naming is consistent and the public surface is concentrated in a small number of well-documented entry points (load_dataset, Dataset.map, Dataset.filter).

API Design - The library is built around a single memorable entry point, load_dataset(name, **kwargs), that returns a ready-to-use object regardless of whether the source is a Hub dataset, a local file, or a streaming source — minimizing the boilerplate needed to get from zero to a usable dataset. Chainable methods like .map(), .filter(), and .with_format() follow a consistent, discoverable naming convention across the whole API.

Used by 25 apps in this directory

TypeScript
91%
Other

GitNexus

AI Code Assistants · Developer Tools · Mcp

48,014

Index any codebase into an interactive knowledge graph and give your AI agents deep architectural context via MCP — with zero servers required.

View details
88
Repo Health
86
Technical
70
Dependency
Built with
TypeScript 91%
Updated 1 weeks ago
C++
52%
MIT

GPT4All

AI Assistants · AI Development

77,354

Run large language models privately on your laptop — no GPU, no cloud, no data leaving your device.

View details
53
Repo Health
80
Technical
74
Dependency
Built with
C++ 52%
QML 30%
Updated 1 years ago
Python
82%
Apache 2.0

headroom

AI Development · Developer Tools

77,676

Compress everything your AI agent reads — tool outputs, logs, RAG chunks, and files — before it reaches the LLM, achieving 60–95% fewer tokens with the same answers.

View details
85
Repo Health
86
Technical
69
Dependency
Built with
Python 82%
Rust 12%
Updated 6 days ago
Python
51%
AGPL 3.0

Khoj

AI Assistants · Knowledge Management · Productivity

37,802

A self-hostable AI second brain that chats with your documents, searches the web, builds custom agents, and runs entirely on your own LLM.

View details
62
Repo Health
82
Technical
66
Dependency
Built with
Python 51%
TypeScript 36%
Updated 2 months ago
Python
71%
MIT

Langflow

AI Agents · AI Development

155,973

Build, test, and deploy AI agents and RAG workflows visually with native API and MCP server export.

View details
90
Repo Health
85
Technical
64
Dependency
Built with
Python 71%
TypeScript 21%
Updated 6 days ago
TypeScript
44%
Other

Magic

AI Agents · Automation · Low Code Platforms

5,055

Magic is an enterprise-grade open-source AI agent platform combining a generalist AI agent, workflow engine, IM, and collaborative office system for running an AI-powered digital workforce.

View details
68
Repo Health
79
Technical
65
Dependency
Built with
TypeScript 44%
PHP 32%
Updated 2 months ago
Python
62%
Apache 2.0

marimo

Data Engineering · Developer Tools

23,309

A reactive Python notebook that eliminates hidden state, runs reproducibly, and deploys as a web app or script — stored as pure Python, built for the AI era.

View details
90
Repo Health
91
Technical
65
Dependency
Built with
Python 62%
TypeScript 37%
Updated 6 days ago
Go
93%
MIT

NornicDB

AI Development · AI Memory · Databases

916

A single graph+vector+temporal database for AI workloads — Neo4j-compatible, sub-millisecond hybrid search, and built-in memory decay.

View details
80
Repo Health
82
Technical
71
Dependency
Built with
Go 93%
Updated 6 days ago
TypeScript
60%
MIT

oh-my-claudecode

AI Agents

40,215

Multi-agent orchestration for Claude Code with zero learning curve — install as a plugin or npm CLI and coordinate parallel Claude Code agents through pre-built workflows instead of managing them by hand.

View details
85
Repo Health
70
Technical
73
Dependency
Built with
TypeScript 60%
JavaScript 39%
Updated 6 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers