numbers-parser
Read and write Apple Numbers spreadsheets
Decision gist · record as of 2026-08-14
Yes, if you work with Apple Numbers files and need programmatic access. The library is actively maintained, has no known vulnerabilities, and carries a permissive MIT license. Install friction is low on macOS and Linux but requires manual setup of snappy compression libraries; Windows support is limited to ARM architecture only. Not suitable for Windows x86 users without workarounds.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- python-snappy binary dependencies (snappy compression library) must be available; on macOS use Homebrew, on Linux use apt-get or equivalent, on Windows ARM only.
- Low install friction on macOS and Linux with package managers; Windows support is limited to ARM architecture only.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use, modification, and distribution with minimal restrictions—suitable for most projects.
last release 2026-07-31 (14 days) · last repo commit 2026-08-07 · 252 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,266,214 downloads/mo, #4,140 on PyPI
Alternatives
Verify before relying
pip install numbers-parser
from numbers_parser import Document
doc = Document("mydoc.numbers")
sheets = doc.sheets
tables = sheets[0].tables
rows = tables[0].rows()
print(rows[0][0].value)- Extent of Numbers file format coverage beyond versions 3.x through 14.4 and Creator Studio 15.1.
- Performance characteristics when working with large Numbers documents.
- Stability guarantees for write operations on existing Numbers files.
What it is and what it does
numbers-parser is a Python library for reading and writing Apple Numbers spreadsheet files. It parses .numbers files (a proprietary format used by Apple's Numbers application) into Python objects representing sheets, tables, and cells, allowing programmatic access to cell values, formatting, and styles. The library supports Numbers versions 3.x through 14.4 and is tested against current releases.
You can read cell data as native Python types (strings, floats, booleans, dates, durations), access cells by integer index or Excel-style notation (e.g., "B2"), modify cell values, create new sheets and tables, and save changes to a new file. It integrates with pandas by returning row data as lists suitable for DataFrame construction. The package handles cell styling (fonts, colors, alignment, backgrounds) and supports writing new Numbers documents from scratch.
Use it for
- Automate data extraction from Numbers spreadsheets for analysis or reporting pipelines.
- Convert Numbers files to pandas DataFrames for data science workflows.
- Programmatically generate or modify Numbers spreadsheets as part of a larger application.
- Batch process multiple Numbers documents without opening the Numbers application.
- Integrate Numbers data into Python-based business logic or financial calculations.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with Apple Numbers files and need programmatic access.
The library is actively maintained, has no known vulnerabilities, and carries a permissive MIT license. Install friction is low on macOS and Linux but requires manual setup of snappy compression libraries; Windows support is limited to ARM architecture only. Not suitable for Windows x86 users without workarounds.
Install
numbers-parser on PyPI
Before you install
Low install friction on macOS and Linux with package managers; Windows support is limited to ARM architecture only. Requires python-snappy binary dependencies (snappy compression library), which the package will attempt to install automatically but may require manual system library setup depending on your platform.
Requires Python 3.10 or later. python-snappy binary dependencies (snappy compression library) must be available; on macOS use Homebrew, on Linux use apt-get or equivalent, on Windows ARM only.
License in practice
MIT license permits commercial and private use, modification, and distribution with minimal restrictions—suitable for most projects.
Quickstart
pip install numbers-parser
from numbers_parser import Document
doc = Document("mydoc.numbers")
sheets = doc.sheets
tables = sheets[0].tables
rows = tables[0].rows()
print(rows[0][0].value)
Verify before relying
- Extent of Numbers file format coverage beyond versions 3.x through 14.4 and Creator Studio 15.1.
- Performance characteristics when working with large Numbers documents.
- Stability guarantees for write operations on existing Numbers files.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 8 packagescompact-jsonprotobufpython-snappysigfigsetuptoolsimportlib-resourcesenum-toolspython-dateutil |
| Maintenance | Actively maintained 14 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,266,214 / month, #4,140 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Operating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Office/Business :: Financial :: Spreadsheet |
Evidence: numbers_parser-4.19.0-py3-none-any.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 › “apple numbers file parser”
- numbers-parserRead, edit, and write Apple Numbers spreadsheet files (.numbers) from…
- keynote-parserUnpack, edit, and re-pack Apple Keynote .key files by converting…
- la-panicParses iPhone crash reports (IPS files) to extract and display…
Give your agent the search over MCP, or paste the wish link into any chat.
More Spreadsheet packages
gspread provides a Python interface to read, write, format, and manage Google Sheets via the Google Sheets API v4, supporting operations like opening spreadsheets by title or URL, updating cell ranges, and controlling sharing permissions.
Install it if you need to read, write, or manage Google Sheets programmatically.
Streamlit transforms Python scripts into interactive web applications with minimal code, enabling rapid development of data dashboards, reports, and chat interfaces without requiring web development expertise.
Generates Microsoft Excel 97–2003 XLS spreadsheet files from Python code with no external dependencies.
Dash is a Python framework for building interactive web applications with reactive UI elements like dropdowns and graphs tied directly to analytical code, using Flask and Plotly for rendering.
Install it if you need to turn analytical Python code into interactive dashboards or data apps.
Provides elementary financial functions (IRR, NPV, PMT, and others) that were deprecated and removed from NumPy, offering a dedicated replacement for financial calculations.
However, given the aging status (no releases since 2019) and unclear compatibility with modern Python and recent numpy versions, verify that it works with your target…
Converts between Google Sheets worksheets and pandas DataFrames, allowing bidirectional data transfer via the gspread library.
However, verify compatibility with your specific gspread and pandas versions, and be aware that the last release was 793 days ago—consider this if you need active bug…
See also aspose-cells-python · html-table-parser-python3 · keynote-parser · gspread-pandas · xlrd3 · pygsheets · excelrd · aspose-cells · xlrd