skillfed

openml

Python API for OpenML

openml v0.15.1 97.0K downloads/30d#13,176 on PyPI353
Permissive license BSD 3-Clause License Copyright (c) 2014-2019, Matthias Feurer, Jan van Rijn, Andreas Müller, Joaquin Vanschoren and others. All rights reserved. Redistribution and use in source and binary forms,… (full text in the JSON record) Active released

What it is and what it does

OpenML-Python is a client library that connects your Python environment to OpenML, an online platform for sharing and benchmarking machine learning datasets and experiments. It lets you programmatically fetch datasets, retrieve pre-defined machine learning tasks with standardized train-test splits, and access curated benchmarking suites—all without manually downloading files or managing data locally. The library wraps OpenML's REST API and integrates with pandas, scikit-learn, and numpy, so datasets come back in formats you already work with.

The package is designed for researchers and practitioners who want to run reproducible ML experiments on shared, versioned datasets, compare results across a community, or build on existing benchmarks. It handles the network communication, data parsing, and format conversion, so you focus on model development rather than data plumbing.

Use it for:

  • Download standardized datasets for machine learning experiments without manual file management.
  • Retrieve pre-defined classification or regression tasks with consistent train-test splits for benchmarking.
  • Access curated benchmarking suites to run your models against a community-agreed set of problems.
  • Upload experiment results back to OpenML to contribute to collaborative research and compare performance.
  • Build reproducible ML pipelines that reference datasets by ID, ensuring consistency across runs and teams.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

OpenML-Python provides a Python interface to download and upload datasets, tasks, and machine learning experiment results from the OpenML online platform for collaborative open science research.

Yes. The package is actively maintained, has low install friction, carries a permissive BSD license, and solves a real problem for anyone doing collaborative or reproducible ML research. It integrates cleanly with the scientific Python stack (scikit-learn, pandas, numpy) and has no known vulnerabilities. Install it if you work with OpenML datasets or benchmarks; skip it if you manage datasets locally or use a different platform.

Install

openml on PyPI

pip

pip install openml

uv

uv add openml

poetry

poetry add openml

Installing openml

Before you install

Low friction installation with a pure-Python wheel. Active maintenance with a recent commit on 2026-08-10 and steady development since first release in 2018. Depends on well-established packages like scikit-learn, pandas, and requests.

License in practice

BSD 3-Clause License (permissive). You may use, modify, and distribute the package freely in commercial and private projects provided you retain the copyright notice and disclaimer.

Quickstart

pip install openml

import openml

# Download a dataset
dataset = openml.datasets.get_dataset("credit-g")
X, y, categorical_indicator, attribute_names = dataset.get_data(target="class")

# Or retrieve a task
task = openml.tasks.get_task(31)
train_indices, test_indices = task.get_train_test_split_indices(fold=0)

Requires Python 3.8 or later. Network access to openml.org is needed to download datasets and tasks.

Verify before relying

  • Whether the package handles authentication or API keys for private datasets or uploads.
  • Performance characteristics when working with very large datasets or many concurrent requests.
  • Offline mode or caching strategy for repeated access to the same datasets.

Package facts

License BSD 3-Clause License Copyright (c) 2014-2019, Matthias Feurer, Jan van Rijn, Andreas Müller, Joaquin Vanschoren and others. All rights reserved. Redistribution and use in source and binary forms,… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 12 — liac-arff, xmltodict, requests, scikit-learn, python-dateutil, pandas, scipy, numpy, minio, pyarrow, tqdm, packaging
Maintenance actively maintained — 566 days since the last release
Last repo commit
First released
Downloads 97,049/month — #13,176 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: openml-0.15.1-py3-none-any.whl

Intended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: MacOSOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Software Development

Tags

openml dataset download pythonmachine learning benchmark datasetscollaborative ml experiment platformopenml task retrievalml dataset repository apiopen science machine learningbenchmark suite management
benchmark-datasetsopen-scienceml-collaboration

More Software Development packages