tabmat
Efficient matrix representations for working with tabular data.
Decision gist · record as of 2026-08-14
Yes, if you are building statistical or econometric algorithms on mixed-type tabular data and need performance beyond generic numpy/scipy. The library is actively maintained, has no known vulnerabilities, and provides a unified API across heterogeneous matrix types. License treatment is unclear, so verify licensing before use in proprietary code.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; compiled wheels are provided for common platforms but source builds may require a C compiler.
- Medium install friction due to compiled wheels across Python 3.10–3.13 and multiple platforms.
- Active maintenance with recent commits and no known vulnerabilities.
License · maintenance · safety
(unclear)
last release 2026-02-04 (191 days) · last repo commit 2026-08-03 · 139 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 325,279 downloads/mo, #7,587 on PyPI
Alternatives
Verify before relying
pip install tabmat
import tabmat as tm
import numpy as np
dense_array = np.random.normal(size=(100, 1))
matrix = tm.from_pandas(dense_array)- Whether standardization methods preserve sparsity structure as claimed in the description
- Performance benchmarks comparing sandwich products against direct numpy/scipy approaches
- Compatibility with downstream packages expecting numpy.ndarray or scipy.sparse interfaces
What it is and what it does
Tabmat provides specialized matrix classes—DenseMatrix, SparseMatrix, CategoricalMatrix, SplitMatrix, and StandardizedMatrix—designed to efficiently represent and compute on tabular data that combines dense columns, sparse columns, and one-hot-encoded categorical features. It targets statistical and econometric workflows where operations like sandwich products, matrix-vector products, and standardization are frequent bottlenecks. The library depends on formulaic, narwhals, numpy, and scipy, and aims to be a drop-in replacement for numpy.ndarray and scipy.sparse.csc_matrix where possible.
The core design trades API breadth for speed and memory efficiency. Each matrix type supports a unified set of operations (matrix-vector products, sandwich products, getcol) with additional methods on individual subclasses. CategoricalMatrix exploits the structure of one-hot encoding to avoid storing redundant data. SplitMatrix combines dense, sparse, and categorical parts in a single object to accelerate multiplications across heterogeneous data.
Use it for
- Estimating generalized linear models where sandwich products appear in Hessian computation
- Weighted least squares with mixed-type predictors where sandwich products are central to normal equations
- L1-penalized coordinate descent on subsets of columns requiring fast matrix-vector products on active sets
- Standardizing predictors to mean zero and unit variance while preserving sparsity structure
- Building statistical algorithms on tabular data with many categorical features encoded as one-hot indicators
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are building statistical or econometric algorithms on mixed-type tabular data and need performance beyond generic numpy/scipy.
The library is actively maintained, has no known vulnerabilities, and provides a unified API across heterogeneous matrix types. License treatment is unclear, so verify licensing before use in proprietary code.
Install
tabmat on PyPI
Before you install
Medium install friction due to compiled wheels across Python 3.10–3.13 and multiple platforms. Active maintenance with recent commits and no known vulnerabilities.
Requires Python 3.10 or later; compiled wheels are provided for common platforms but source builds may require a C compiler.
Quickstart
pip install tabmat
import tabmat as tm
import numpy as np
dense_array = np.random.normal(size=(100, 1))
matrix = tm.from_pandas(dense_array)
Verify before relying
- Whether standardization methods preserve sparsity structure as claimed in the description
- Performance benchmarks comparing sandwich products against direct numpy/scipy approaches
- Compatibility with downstream packages expecting numpy.ndarray or scipy.sparse interfaces
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 4 packagesformulaicnarwhalsnumpyscipy |
| Maintenance | Actively maintained 191 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 325,279 / month, #7,587 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13 |
Evidence: tabmat-4.2.1-cp310-cp310-macosx_12_0_arm64.whl; tabmat-4.2.1-cp310-cp310-macosx_12_0_x86_64.whl; tabmat-4.2.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; tabmat-4.2.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; tabmat-4.2.1-cp310-cp310-win_amd64.whl; tabmat-4.2.1-cp311-cp311-macosx_12_0_arm64.whl; tabmat-4.2.1-cp311-cp311-macosx_12_0_x86_64.whl; tabmat-4.2.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; tabmat-4.2.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; tabmat-4.2.1-cp311-cp311-win_amd64.whl; tabmat-4.2.1-cp312-cp312-macosx_12_0_arm64.whl; tabmat-4.2.1-cp312-cp312-macosx_12_0_x86_64.whl; tabmat-4.2.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; tabmat-4.2.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; tabmat-4.2.1-cp312-cp312-win_amd64.whl; tabmat-4.2.1-cp313-cp313-macosx_12_0_arm64.whl; tabmat-4.2.1-cp313-cp313-macosx_12_0_x86_64.whl; tabmat-4.2.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; tabmat-4.2.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; tabmat-4.2.1-cp313-cp313-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 › “tabular data matrix representation”
- tabmatProvides efficient matrix classes for tabular data that mix dense,…
- tabledatatabledata provides a Python library for representing and working with…
- formulaicFormulaic converts tabular data into model matrices using Wilkinson…
Give your agent the search over MCP, or paste the wish link into any chat.
More Mathematics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
kiwisolver is a Python binding to a fast C++ implementation of the Cassowary constraint solver, enabling you to solve systems of linear constraints and inequalities.
Install it if you need to solve constraint systems; skip it if you only need simple linear algebra.
SymPy is a Python library for symbolic mathematics, performing algebraic manipulation, calculus, equation solving, and mathematical expression simplification without numerical approximation.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
PyTorch provides GPU-accelerated tensor computation and automatic differentiation for building and training deep neural networks in Python.
onnxruntime loads and executes Open Neural Network Exchange (ONNX) models with a focus on inference performance across CPUs and accelerators.
Install it if you have ONNX models to run in production or development.
See also formulaic · spglm · sparse-dot-topn · formulaic-contrasts · anndata · lap · linear-operator · fast-array-utils · category-encoders · qdldl