# tafia/calamine

A pure Rust Excel/OpenDocument SpreadSheets file reader: rust on metal sheets

Repository: https://github.com/tafia/calamine
Canonical: https://ross.abutalabs.com/products/calamine
Language: Rust
License: MIT
License Family: permissive
Topics: rust, excel, opendocument-spreadsheet, parser, vba, serde, deserializer
Last push: 2026-08-26T18:28:43+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 95, longevity 100
- inputs: {"age_days": 3722, "days_push": 7, "days_rel": 37, "gap_med": 0, "n_releases_24m": 48}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2407, forks 250 (observed 2026-08-28T04:06:44.183470+00:00)

## What it is
calamine is a pure Rust library for reading and deserializing Excel (xls, xlsx, xlsm, xlsb, xla, xlam) and OpenDocument spreadsheet (ods) files. It integrates with Serde to deserialize worksheet ranges directly into Rust types.

## Use cases
- read xlsx files in Rust
- parse Excel spreadsheets into Rust structs
- deserialize spreadsheet rows with serde
- read OpenDocument ods files
- extract data from xlsb workbooks
- read VBA macros from Excel files

## When to choose
- you need a pure Rust, dependency-light spreadsheet reader
- you want Serde-based deserialization of Excel data
- you only need to read (not write) spreadsheet files

## When to avoid
- you need to create or write Excel files
- you need complex features like formulas evaluation, charts, or pivot tables

## Facets
- artifact type: library
- maturity: stable
- function: parser, serialization
- domain: files, spreadsheets, developer-tools
- platform: rust, cross-platform
- tags: excel, xlsx, xlsb, ods, spreadsheet-reader, serde, vba, pure-rust

## Member repositories
- tafia/calamine (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:44.183470+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:34:05.315157+00:00, confidence not recorded.
  - readme: https://github.com/tafia/calamine (fetched 2026-08-28T04:06:44.183470+00:00, sha ee5cf917e86e)
  - registry_crates: https://crates.io/api/v1/crates/calamine (fetched 2026-08-29T10:14:19.004078+00:00, sha a6d62bef03ea)
- Data as of 2026-08-30T08:39:29.467469+00:00.
