liac-arff
A module for read and write ARFF files in Python.
What it is and what it does
liac-arff is a lightweight parser for ARFF files, the standard dataset format used by Weka and other machine learning tools. It provides a json-like interface to read ARFF files into Python dictionaries and lists, and to serialize Python data structures back to ARFF format. The module handles NUMERIC, REAL, INTEGER, STRING, and NOMINAL attribute types, supports missing values and unicode, and can work with scipy sparse matrices and SVMLight-style dictionary lists.
The package has no external runtime dependencies and works across Python 2.7 and Python 3.5+. However, it has been abandoned since 2020 with no recent maintenance, which means it may face compatibility issues with future Python releases or ecosystem changes. It remains in production-stable status and is still downloaded regularly, but users should be aware of the maintenance gap when considering it for new projects.
Use it for:
- Loading ARFF datasets from Weka experiments into Python for analysis or preprocessing.
- Converting machine learning datasets between ARFF and Python native structures for interoperability.
- Serializing experimental data to ARFF format for use in Weka or other ML tools.
- Batch processing of ARFF files in data pipelines that do not require active maintenance.
- Reading historical datasets stored in ARFF format in academic or research archives.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Reads and writes ARFF (Attribute-Relation File Format) files, a standard format for machine learning datasets, converting them to and from Python dictionaries and lists.
Yes, but with caution. The package is stable and dependency-free for reading/writing ARFF files, and it has no known vulnerabilities. However, its abandoned status since 2020 makes it risky for new projects—install only if you need ARFF support for legacy datasets or existing workflows, and consider monitoring for compatibility issues as Python evolves. For new machine learning projects, evaluate whether a maintained alternative or direct pandas/numpy workflows would be more sustainable.
Install
liac-arff on PyPI
pip
pip install liac-arffuv
uv add liac-arffpoetry
poetry add liac-arffInstalling liac-arff
Before you install
High install friction: the package has been abandoned since 2020 (2174 days since last release) with no active maintenance. While it has no runtime dependencies, the lack of updates and maintenance attention poses a risk for long-term compatibility with newer Python versions or dependency ecosystems.
License in practice
MIT License permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and proprietary projects.
Quickstart
import arff
# Read an ARFF file
data = arff.load(open('dataset.arff', 'rb'))
# Write an ARFF file
with open('output.arff', 'w') as f:
f.write(arff.dumps(data))
Verify before relying
- Whether the package remains compatible with Python versions beyond 3.8 given its abandoned maintenance status.
- Whether scipy.sparse integration (mentioned in description) is fully functional or requires additional setup.
- Current state of the repository and whether any community forks maintain active development.
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*) |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,174 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 80,895/month — #14,264 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: liac-arff-2.5.0.tar.gz
Keywords: arff, weka, parser, liac, python
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pdbufrpdbufr reads BUFR (Binary Universal Form for…
permissive · top 15,000 on PyPI
cfgribcfgrib maps GRIB meteorological data files to…
permissive · top 5,000 on PyPI
open-radar-dataProvides a registry and download utility for…
permissive · top 15,000 on PyPI
argillaArgilla is a Python SDK client for a…
permissive · top 15,000 on PyPI
ucimlrepoImports datasets from the UC Irvine Machine…
permissive · top 15,000 on PyPI
pytorch-msssimComputes fast, differentiable SSIM and MS-SSIM…
permissive · top 15,000 on PyPI
fiftyone-brainFiftyOne Brain provides AI/ML capabilities for…
permissive · top 15,000 on PyPI
hana-mlConnects Python to SAP HANA to build machine…
unclear · top 15,000 on PyPI
daftDaft is a distributed dataframe engine for…
unclear · top 5,000 on PyPI
rfdetrRF-DETR is a transformer-based object…
permissive · top 15,000 on PyPI