fastexcel
A fast excel file reader for Python, written in Rust
Decision gist · record as of 2026-08-14
Yes, if you need fast Excel reading and want to minimize dependencies. The package is production-ready, actively maintained, has no known vulnerabilities, and offers genuine performance gains over standard libraries. Install friction is moderate but manageable via prebuilt wheels. Not necessary if you rarely read Excel or have no performance constraints.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Optional integration with external libraries (Pandas, Polars) requires their separate installation.
- Medium install friction due to compiled Rust wheels, but prebuilt binaries cover common platforms (x86_64, ARM64, macOS, Linux, Windows).
License · maintenance · safety
permissive license (permissive) — MIT license (permissive) allows commercial and private use with minimal restrictions—standard open-source terms with no copyleft obligations.
last release 2026-05-04 (102 days) · last repo commit 2026-08-10 · 246 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,262,951 downloads/mo, #2,680 on PyPI
Alternatives
Verify before relying
pip install fastexcel
import fastexcel
reader = fastexcel.read_excel("data.xlsx")
sheet = reader.load_sheet(0)
schema = sheet.__arrow_c_schema__()
array_data = sheet.__arrow_c_array__()- Whether free-threaded build stability has improved since the experimental designation in the description.
- Performance benchmarks comparing fastexcel to other Excel readers on typical workloads.
- Support for Excel features beyond basic cell data (formulas, formatting, merged cells).
- Actual zero-copy performance gains in real-world scenarios with different file sizes.
What it is and what it does
fastexcel is a Python Excel reader written in Rust that prioritizes speed and memory efficiency. It reads .xlsx and .xls files and exposes data via the Arrow PyCapsule Interface, allowing zero-copy handoff to Arrow-compatible libraries. The core package is lightweight with only typing-extensions as a runtime dependency; optional extras add integration with external dataframe libraries.
Typical use is to call read_excel() to open a file, load_sheet() or load_table() to select data, then access the raw Arrow interface via __arrow_c_schema__() and __arrow_c_array__(), or convert using library-specific methods. The PyCapsule design reduces dependency bloat when used with compatible consumers. Production-ready for Python; the free-threaded build remains experimental.
Use it for
- Import Excel files into data pipelines where speed and memory efficiency are priorities.
- Load Excel tables (named ranges) directly for structured data extraction.
- Integrate Excel as a data source in applications requiring fast file reading.
- Replace slower Excel readers in performance-sensitive batch processing jobs.
- Access Excel data via the Arrow PyCapsule Interface for zero-copy integration.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need fast Excel reading and want to minimize dependencies.
The package is production-ready, actively maintained, has no known vulnerabilities, and offers genuine performance gains over standard libraries. Install friction is moderate but manageable via prebuilt wheels. Not necessary if you rarely read Excel or have no performance constraints.
Install
fastexcel on PyPI
Before you install
Medium install friction due to compiled Rust wheels, but prebuilt binaries cover common platforms (x86_64, ARM64, macOS, Linux, Windows). Active maintenance with last commit 2026-08-10. Single lightweight runtime dependency (typing-extensions).
Requires Python 3.10 or later. Optional integration with external libraries (Pandas, Polars) requires their separate installation.
License in practice
MIT license (permissive) allows commercial and private use with minimal restrictions—standard open-source terms with no copyleft obligations.
Quickstart
pip install fastexcel
import fastexcel
reader = fastexcel.read_excel("data.xlsx")
sheet = reader.load_sheet(0)
schema = sheet.__arrow_c_schema__()
array_data = sheet.__arrow_c_array__()
Verify before relying
- Whether free-threaded build stability has improved since the experimental designation in the description.
- Performance benchmarks comparing fastexcel to other Excel readers on typical workloads.
- Support for Excel features beyond basic cell data (formulas, formatting, merged cells).
- Actual zero-copy performance gains in real-world scenarios with different file sizes.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagetyping-extensions |
| Maintenance | Actively maintained 102 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,262,951 / month, #2,680 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Free Threading :: 1 - UnstableProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Rust |
Evidence: fastexcel-0.20.2-cp310-abi3-macosx_10_12_x86_64.whl; fastexcel-0.20.2-cp310-abi3-macosx_11_0_arm64.whl; fastexcel-0.20.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; fastexcel-0.20.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; fastexcel-0.20.2-cp310-abi3-musllinux_1_2_aarch64.whl; fastexcel-0.20.2-cp310-abi3-musllinux_1_2_x86_64.whl; fastexcel-0.20.2-cp310-abi3-win_amd64.whl; fastexcel-0.20.2-cp310-abi3-win_arm64.whl; fastexcel-0.20.2-cp314-cp314t-macosx_10_12_x86_64.whl; fastexcel-0.20.2-cp314-cp314t-macosx_11_0_arm64.whl; fastexcel-0.20.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; fastexcel-0.20.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; fastexcel-0.20.2-cp314-cp314t-musllinux_1_2_aarch64.whl; fastexcel-0.20.2-cp314-cp314t-musllinux_1_2_x86_64.whl; fastexcel-0.20.2-cp314-cp314t-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “excel file reader python”
- fastexcelReads Excel files (.xlsx, .xls) into Python with zero-copy data…
- pylightxlReads and writes Microsoft Excel files (.xlsx, .xlsm) and CSV files…
- python-calamineReads Excel and ODF spreadsheet files via a Python binding to the…
Give your agent the search over MCP, or paste the wish link into any chat.
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object Relational Mapper (ORM) that provides both a high-level ORM layer for declarative object persistence and a Core SQL construction system for direct database abstraction and query building.
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Alembic generates and manages database schema migrations for SQLAlchemy applications, handling version control of database structure changes with support for upgrades, downgrades, and auto-generation from model changes.
Install it if you use SQLAlchemy and need to version-control schema changes; skip it only if you manage migrations manually or use a different ORM entirely.
A Python client library for connecting to and querying Weaviate, a vector database that enables semantic search and AI-powered data retrieval.
A Python client library that connects to Databricks clusters and SQL warehouses using a Thrift-based protocol, conforming to the Python DB API 2.0 specification and supporting Arrow-based data exchange.
Install it if you need to query Databricks clusters or SQL warehouses from Python.
Psycopg 3 is a PostgreSQL database adapter for Python that enables applications to connect to, query, and manage PostgreSQL databases using Python code.
Install it if you need to connect Python to PostgreSQL.
See also python-calamine · arrow-odbc · xlrd3 · connectorx · agate-excel · pylightxl · xlrd · polars-lts-cpu · excelrd · feather-format