ucimlrepo
Package to easily import datasets from the UC Irvine Machine Learning Repository into scripts and notebooks.
What it is and what it does
ucimlrepo is a lightweight wrapper around the UC Irvine Machine Learning Repository that lets you programmatically fetch datasets into your Python environment. Instead of manually downloading CSV files from the web, you call fetch_ucirepo() with a dataset ID or name, and it returns a structured object containing the data as pandas dataframes (features, targets, IDs) plus rich metadata (dataset size, feature types, DOI, creators, abstract, and more). The package also provides list_available_datasets() to browse what's available.
It's designed for machine learning workflows where you want to quickly load benchmark datasets for experimentation or model development. The metadata access lets you inspect dataset properties programmatically before training, and the data is already split into features and targets, reducing boilerplate. Dependencies are minimal (pandas and certifi), and installation is straightforward.
Use it for:
- Rapidly prototype machine learning models by fetching well-known benchmark datasets without manual download steps.
- Build reproducible ML experiments that reference datasets by UCI ID, making scripts portable across environments.
- Inspect dataset metadata (number of instances, feature types, missing values) before deciding which dataset to use for a task.
- Automate data pipeline setup in notebooks where you need to load multiple UCI datasets and combine them.
- Access dataset DOIs and citations programmatically to properly attribute data sources in research or reports.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Imports datasets from the UC Irvine Machine Learning Repository directly into Python scripts and notebooks, returning data as pandas dataframes along with structured metadata.
Yes, if you regularly work with UCI ML Repository datasets. The package eliminates manual download friction and provides programmatic metadata access. Maintenance is dormant (last release 815 days ago), so don't expect rapid bug fixes or new features, but the core functionality is stable and the low dependency count reduces risk. No known vulnerabilities. Install it for convenience in exploratory ML work; avoid it if you need active support or frequent dataset updates.
Install
ucimlrepo on PyPI
pip
pip install ucimlrepouv
uv add ucimlrepopoetry
poetry add ucimlrepoInstalling ucimlrepo
Before you install
Low install friction with only two runtime dependencies (pandas and certifi). Maintenance is dormant—last release was 2024-05-21, over 815 days ago—but the repository is not archived and has received commits as recently as 2024-08-06, suggesting occasional updates despite the long gap.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.
Quickstart
pip install ucimlrepo
from ucimlrepo import fetch_ucirepo
heart_disease = fetch_ucirepo(id=45)
X = heart_disease.data.features
y = heart_disease.data.targets
Requires Python 3.7 or later.
Verify before relying
- Whether the package handles network timeouts or retries gracefully when fetching large datasets.
- Performance characteristics when working with very large UCI datasets (row/column count limits).
- How often the UCI repository's dataset catalog is synchronized with this package's available list.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — pandas, certifi |
| Maintenance | dormant — 815 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 320,829/month — #7,631 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ucimlrepo-0.0.7-py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
datazetsDatazets provides a simple interface to…
permissive · top 15,000 on PyPI
vega-datasetsProvides offline and online access to Vega…
permissive · top 15,000 on PyPI
openmlOpenML-Python provides a Python interface to…
permissive · top 15,000 on PyPI
azuremlConnects to Azure Machine Learning Studio…
permissive · top 15,000 on PyPI
nfl-data-pyImports NFL play-by-play, weekly, seasonal,…
permissive · top 15,000 on PyPI
rdataReads and writes R dataset files (.rda and .rds…
permissive · top 15,000 on PyPI
liac-arffReads and writes ARFF (Attribute-Relation File…
permissive · top 15,000 on PyPI
data-designerGenerates high-quality synthetic datasets from…
permissive · top 15,000 on PyPI
mlcroissantValidates and loads datasets described in the…
unclear · top 15,000 on PyPI
pandas-summaryExtends pandas' describe() function to provide…
permissive · top 15,000 on PyPI