Iterable Data is a Python library for reading and writing data files row by row in a consistent, iterator-based interface. It provides a unified API for working with various data formats (CSV, JSON, Parquet, XML, etc.) similar to csv.DictReader but supporting many more formats.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Mature repo (>1y old)
- ✓Documented (README)
git clone https://github.com/datenoio/iterabledataResumen de Tools
# Iterable Data <!-- mcp-name: io.github.datenoio/iterabledata --> Iterable Data is a Python library for reading and writing data files row by row in a consistent, iterator-based interface. It provides a unified API for working with various data formats (CSV, JSON, Parquet, XML, etc.) similar to `csv.DictReader` but supporting many more formats. This library simplifies data processing and conversion between formats while preserving complex nested data structures (unlike pandas DataFrames which require flattening). ## Features - **Unified API**: Single interface for reading/writing multiple data formats - **Automatic Format Detection**: Detects file type and compression from filename or content (magic numbers and heuristics) - **Format Capability Reporting**: Programmatically query format capabilities (read/write/bulk/totals/streaming/tables) - **Support for Compression**: Works seamlessly with compressed files - **Preserves Nested Data**: Handles complex nested structures as Python dictionaries - **DuckDB Integration**: Optional DuckDB engine for high-performance queries with pushdown optimizations - **Pipeline Processing**: Built-in pipeline support for data transformation - **Encoding Detection**: Automatic encoding and delimiter detection for text files - **Bulk Operations**: Efficient batch reading and writing - **Native Batch Conversion**: Opt-in columnar-to-columnar transfers with projection, row-range, and batch-size selection - **Bounded Columnar I/O**: Shared row/bulk cursors and configurable Parquet row groups keep large reads and writes bounded - **Codec Performance Profiles**: Choose `fast`, `balanced`, or `max` compression settings with effective-setting diagnostics - **Table Listing**: Discover available tables, sheets, and datasets in multi-table formats - **Context Manager Support**: Use `with` statements for automatic resource cleanup - **DataFrame Bridges**: Convert iterable data to Pandas, Polars, and Dask DataFrames with one-liner methods - **Cloud Storage Support**: Direct access to S3, GCS, and Azure Blob Storage via URI schemes - **Database Engine Support**: Read-only access to SQL and NoSQL databases (PostgreSQL, ClickHouse, MySQL, MongoDB, Elasticsearch, etc.) as iterable data sources - **Atomic Writes**: Production-safe file writing with temporary files and atomic renames - **Bulk File Conversion**: Convert multiple files at once using glob patterns or directories - **Progress Tracking and Metrics**: Built-in progress bars, callbacks, and structured metrics objects - **Error Handling Controls**: Configurable error policies and structured error logging; malformed input raises typed errors by default instead of reading as empty datasets - **Security Hardening**: XXE-safe XML parsing, AST-whitelisted filter expressions, and explicit pickle trust acknowledgement - **Performance Regression Gate**: CI-enforced baselines for representative read/convert workloads - **Container Formats**: Stream records from TAR archives without extracting members to disk - **Type Hints and Type Safety**: Complete type annotations with typed helper functions for dataclasses and Pydantic models - **Lakehouse Tables**: Read and write Delta Lake, Iceberg, and DuckLake; read Hudi; experimental Apache Paimon tables plus Row/Mosaic file formats ## Supported File Types ### Core Formats - **JSON** - Standard JSON files - **JSONL/NDJSON** - JSON Lines format (one JSON object per line) - **JSON-LD** - JSON for Linking Data (RDF format) - **CSV/TSV** - Comma and tab-separated values - **Annotated CSV** - CSV with type annotations and metadata - **CSVW** - CSV on the Web (with metadata) - **PSV/SSV** - Pipe and semicolon-separated values - **LTSV** - Labeled Tab-Separated Values - **FWF** - Fixed Width Format - **XML** - XML files with configurable tag parsing - **ZIP XML** - XML files within ZIP archives - **HTML** - HTML files with table extraction ### Binary Formats - **BSON** - Binary JSON format - **MessagePack** - Efficient binary serialization - **CBOR** - Concise Binary Object Representation - **UBJSON** - Universal Binary JSON - **SMILE** - Binary JSON variant - **Bencode** - BitTorrent encoding format - **Avro** - Apache Avro binary format (read & write) - **Pickle** - Python pickle format (untrusted input is unsafe; pass `trust=True` to acknowledge) ### Columnar & Analytics Formats - **Parquet** - Apache Parquet columnar format - **ORC** - Optimized Row Columnar format - **Arrow/Feather** - Apache Arrow columnar format - **GeoParquet** - GeoParquet metadata-aware Parquet profile with geometry/CRS preservation - **Lance** - Modern columnar format optimized for ML and vector search - **Vortex** - Modern columnar format with fast random access - **Paimon Row** - Apache Paimon row format for O(1) row-number access - **Paimon Mosaic** - Apache Paimon columnar-bucket format for wide tables - **Paimon** - Apache Paimon warehouse/catalog tables - **Delta Lake** - Delta Lake format (read & write) - **Iceberg** - Apache Iceberg format (read & write) - **DuckLake** - DuckLake lakehouse tables (read & write) - **Hudi** - Apache Hudi format (read; writes deferred) ### Database Formats - **SQLite** - SQLite database files - **DBF** - dBase/FoxPro database files - **MySQL Dump** - MySQL dump files - **PostgreSQL Copy** - PostgreSQL COPY format - **DuckDB** - DuckDB database files ### Statistical Formats - **SAS** - SAS data files - **Stata** - Stata data files - **SPSS** - SPSS data files - **R Data** - R RDS and RData files - **fst** - R fst columnar on-disk frames (`fst` extra; experimental) - **PX** - PC-Axis format - **ARFF** - Attribute-Relation File Format (Weka format) - **LIBSVM** - Sparse labeled feature vectors (read & write) - **NumPy** - `.npy` / `.npz` array rows (read & write; `npy` extra) ### Scientific Formats - **NetCDF** - Network Common Data Form for scientific data - **CDF** - NASA Common Data Format (space science) - **HDF5** - Hierarchical Data Format - **Zarr** - Chunked array stores (`zarr` extra; experimental) - **XYZ** - Molecular/point coordinate tables - **CIF** - Crystallographic Information File (`atom_site` loops; experimental) - **PDB** - Protein Data Bank ATOM/HETATM records - **MATLAB MAT** - MATLAB `.mat` variables (`mat` extra; experimental) - **SEG-Y** - Seismic traces (`geophysical` extra; experimental) - **GRIB2** - Meteorological messages (`geophysical` extra; experimental) - **miniSEED** - Seismological waveform windows (`geophysical` extra; experimental) ### Geospatial Formats - **GeoJSON** - Geographic JSON format - **GeoJSON Text Sequence** - RFC 8142 line-delimited GeoJSON Features (`.geojsonl`, `.geojsons`); streaming-friendly - **GeoPackage** - OGC GeoPackage format - **GML** - Geography Markup Language - **KML** - Keyhole Markup Language - **KMZ** - KML Zipped (ZIP archive containing KML) - **GPX** - GPS Exchange Format (waypoints, routes, tracks) - **Shapefile** - ESRI Shapefile format - **File Geodatabase** - ESRI FileGDB layers via Fiona (`geospatial` extra; experimental) - **MapInfo MIF** - MapInfo Interchange Format (`geospatial` extra; experimental) - **Esri ASCII Grid** - Raster grids as cell or row records (`.asc`) - **ArcInfo E00** - Interchange exports (experimental subset) - **LAS** - LiDAR point clouds (`lidar` extra; experimental) - **BAG** - Bathymetric Attributed Grid (`hdf5` extra; experimental) - **CZML** - Cesium CZML document packets - **FlatGeobuf** - Streaming geospatial features with optional spatial-index filtering - **MVT/PBF** - Mapbox Vector Tiles - **TopoJSON** - Topology-preserving GeoJSON extension ### RDF & Semantic Formats - **JSON-LD** - JSON for Linking Data - **RDF/XML** - RDF in XML format - **Turtle** - Terse RDF Triple Language - **N-Triples** - Line-based RDF format - **N-Quads** - N-Triples with context - **TriG** - RDF Triple Graph format - **N3** - Notation3 RDF format - **TriX** - XML Triple RDF format - **HDT** - Header-Dictionary-Triples compact RDF (`rdf` extra; experimental) ### Feed Formats - **Atom** - Atom Syndication Format - **RSS** - Rich Site Summary feed format ### Network Formats - **PCAP** - Packet Capture format - **PCAPNG** - PCAP Next Generation format ### Log & Event Formats - **Apache Log** - Apache access/error logs - **CEF** - Common Event Format - **GELF** - Graylog Extended Log Format - **WARC** - Web ARChive format - **CDX** - Web archive index format - **ILP** - InfluxDB Line Protocol - **HTML** - HTML files with table extraction ### Email Formats - **EML** - Email message format - **MBOX** - Mailbox format - **MHTML** - MIME HTML format ### Configuration Formats - **INI** - INI configuration files - **TOML** - Tom's Obvious Minimal Language - **YAML** - YAML Ain't Markup Language - **HOCON** - Human-Optimized Config Object Notation - **EDN** - Extensible Data Notation ### Office Formats - **XLS/XLSX** - Microsoft Excel files - **XLSB** - Excel Binary format - **ODS** - OpenDocument Spreadsheet - **Microsoft Access** - Access `.mdb` / `.accdb` tables (`access` extra; experimental) - **Lotus 1-2-3** - Legacy WK1 / `.123` spreadsheets (experimental) ### Business & Exchange Formats - **EDI** - X12 / EDIFACT segment streams (experimental) - **IATI** - Aid-transparency activity XML (`xml` extra; experimental) ### CAD Formats - **DXF** - AutoCAD Drawing Exchange Format ### Graph Formats - **GraphML** - Graph Markup Language - **GEXF** - Graph Exchange XML Format - **DOT** - GraphViz DOT format ### Sequence & Alignment Formats - **FASTA** - Sequence format (protein/nucleotide) - **FASTQ** - Sequence with quality format - **SAM** - Sequence Alignment/Map (text) - **BAM** - Binary SAM format - **Genomic VCF/BCF** - Variant Call Format for genomic data (distinct from vCard `.vcf`; requires `bio` extra) - **CRAM** - Reference-compressed sequence alignments (requires `alignment` extra and an explicit reference when needed) - **BED** - BED3–BED12 genomic intervals - **GFF3/GTF** - Ge
Lo que la gente pregunta sobre iterabledata
¿Qué es datenoio/iterabledata?
+
datenoio/iterabledata es tools para el ecosistema de Claude AI. Iterable Data is a Python library for reading and writing data files row by row in a consistent, iterator-based interface. It provides a unified API for working with various data formats (CSV, JSON, Parquet, XML, etc.) similar to csv.DictReader but supporting many more formats. Tiene 37 estrellas en GitHub y su última actualización registrada es del 2026-08-18.
¿Cómo se instala iterabledata?
+
Puedes instalar iterabledata clonando el repositorio (https://github.com/datenoio/iterabledata) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar datenoio/iterabledata?
+
Nuestro agente de seguridad ha analizado datenoio/iterabledata y le ha asignado un Trust Score de 100/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene datenoio/iterabledata?
+
datenoio/iterabledata es mantenido por datenoio. La última actividad registrada en GitHub es del 2026-08-18, con 1 issues abiertos.
¿Hay alternativas a iterabledata?
+
Sí. En ClaudeWave puedes explorar tools similares en /categories/tools, ordenados por popularidad o actividad reciente.
Despliega iterabledata en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/datenoio-iterabledata)<a href="https://claudewave.com/repo/datenoio-iterabledata"><img src="https://claudewave.com/api/badge/datenoio-iterabledata" alt="Featured on ClaudeWave: datenoio/iterabledata" width="320" height="64" /></a>Más Tools
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
An AI skill that provides design intelligence for building professional UI/UX across multiple platforms.
🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman
CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies
The best-benchmarked open-source AI memory system. And it's free.
The fastest, litest AI Gateway. Rust core with Python SDK. Call 100+ LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]