Releases: Quantco/tabmat
Releases · Quantco/tabmat
tabmat 4.1.0
4.1.0 - 2024-11-07
New feature:
- Added a new function, :func:
tabmat.from_df
, to convert any dataframe supported by narwhals into a :class:tabmat.SplitMatrix
.
Other changes:
- Allow :class:
CategoricalMatrix
to be initialized directly with indices and categories. - Added checks for dimension and
dtype
mismatch in :meth:MatrixBasesandwich.sandwich
.
Bug fix:
- Fixed a bug in :meth:
tabmat.CategoricalMatrix.standardize
that sometimes returnednan
values for the standard deviation due to numerical instability if usingnp.float32
precision.
Full Changelog: 4.0.1...4.1.0
tabmat 4.0.1
4.0.1 - 2024-06-25
Other changes:
- Removed reference to
.A
attribute and replaced it with.toarray()
- Add support between formulaic and pandas 3.0
- Support pypi release for numpy 2.0
Full Changelog: 4.0.0...4.0.1
tabmat 4.0.0
4.0.0 - 2024-04-23
Breaking changes:
- To unify the API, :class:
DenseMatrix
does not inherit from :class:np.ndarray
anymore. To convert a :class:DenseMatrix
to a :class:np.ndarray
, use :meth:DenseMatrix.unpack
. - Similarly, :class:
SparseMatrix
does not inherit from :class:sps.csc_matrix
anymore. To convert a :class:SparseMatrix
to a :class:sps.csc_matrix
, use :meth:SparseMatrix.unpack
.
New features:
- Added column name and term name metadata to :class:
MatrixBase
objects. These are automatically populated when initializing a :class:MatrixBase
from a :class:pandas.DataFrame
. In addition, they can be accessed and modified via the :attr:MatrixBase.column_names
and :attr:MatrixBase.term_names
properties. - Added a formula interface for creating tabmat matrices from pandas data frames. See :func:
tabmat.from_formula
for details. - Added support for missing values in :class:
CategoricalMatrix
by either creating a separate category for them or treating them as all-zero rows. - Added support for handling missing categorical values in pandas data frames.
Bug fix:
- Added cython compiler directive
legacy_implicit_noexcept = True
to fix performance regression with cython 3.
Other changes:
- Refactored the pre-commit hooks to use ruff.
- Refactored :meth:
CategoricalMatrix.transpose_matvec
to be deterministic when using OpenMP. - Adjusted transformation to sparse format in :func:
tabmat.from_pandas
to future changes in pandas.
What's Changed
- Pre-commit autoupdate by @quant-ranger in #351
- Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.12 by @dependabot in #352
- Bump pypa/gh-action-pypi-publish from 1.8.12 to 1.8.14 by @dependabot in #353
- Bump pypa/cibuildwheel from 2.16.5 to 2.17.0 by @dependabot in #354
- Pre-commit autoupdate by @quant-ranger in #355
- Set fill value of sparse columns in line with
SparseDtype.subtype
by @MatthiasSchmidtblaicherQC in #356 - Tabmat v4 alpha by @MartinStancsicsQC in #286
Full Changelog: 3.1.14...4.0.0
tabmat 3.1.14
What's Changed
- Expose
__version__
to tabmat by @MarcAntoineSchmidtQC in #322 - Update mirror for nightlies by @jtilly in #324
- Use ruff as our formatter/linter by @MarcAntoineSchmidtQC in #326
- Fix cython performance regression by @MarcAntoineSchmidtQC in #327
- Fix xsimd issue with ppc64le by @MarcAntoineSchmidtQC in #335
- Add open-source warning to issue and pull request template by @jonashaag in #347
- CategoricalMatrix A.Tb reproducibility. by @adityagoel4512 in #348
Full Changelog: 3.1.13...3.1.14
tabmat 4.0.0a3
What's Changed
- Pre-commit autoupdate by @quant-ranger in #287
- Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10 by @dependabot in #288
- Explicitly link to OpenMP by @xhochy in #290
- Use micromamba to create conda environments in Wheel build by @xhochy in #294
- Bump pypa/cibuildwheel from 2.14.1 to 2.15.0 by @dependabot in #289
- Major CI cleanup by @pavelzw in #293
- Bump mamba-org/setup-micromamba from 1.1.3 to 1.4.3 by @dependabot in #295
- Pre-commit autoupdate by @quant-ranger in #296
- Update mambaforge in RTD by @xhochy in #300
- Bump mamba-org/setup-micromamba from 1.4.3 to 1.4.4 by @dependabot in #298
- Bump actions/checkout from 3 to 4 by @dependabot in #299
- Bump docker/setup-qemu-action from 2 to 3 by @dependabot in #301
- Update CODEOWNERS by @tbenthompson in #302
- Bump pypa/cibuildwheel from 2.15.0 to 2.16.0 by @dependabot in #303
- Pre-commit autoupdate by @quant-ranger in #304
- Bump pypa/cibuildwheel from 2.16.0 to 2.16.1 by @dependabot in #305
- Fix CODEOWNERS by @xhochy in #308
- Drop Python<3.9 according to NEP29 by @xhochy in #307
- Bump pypa/cibuildwheel from 2.16.1 to 2.16.2 by @dependabot in #306
- Update conda pinnings to latest conda-forge standards by @xhochy in #309
- Switch pyupgrade to 3.9+ by @xhochy in #310
- Build and test with Python 3.12 by @xhochy in #311
- prepare 3.1.11 release by @MarcAntoineSchmidtQC in #314
- Bump mamba-org/setup-micromamba from 1.4.4 to 1.5.0 by @dependabot in #316
- Use subdir envvar for micromamba by @MarcAntoineSchmidtQC in #317
- Prepare 3.1.12 release by @MarcAntoineSchmidtQC in #318
- Trusted publisher by @MarcAntoineSchmidtQC in #319
- Build wheels on Linux for
x86_64
too by @xhochy in #321 - Expose
__version__
to tabmat by @MarcAntoineSchmidtQC in #322 - Update mirror for nightlies by @jtilly in #324
- Bump mamba-org/setup-micromamba from 1.5.0 to 1.6.0 by @dependabot in #325
- Use ruff as our formatter/linter by @MarcAntoineSchmidtQC in #326
- Pre-commit autoupdate by @quant-ranger in #328
- Fix cython performance regression by @MarcAntoineSchmidtQC in #327
- Bump actions/github-script from 6 to 7 by @dependabot in #330
- Fix xsimd issue with ppc64le by @MarcAntoineSchmidtQC in #335
- Pre-commit autoupdate by @quant-ranger in #331
- Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 by @dependabot in #332
- Bump mamba-org/setup-micromamba from 1.6.0 to 1.7.0 by @dependabot in #333
- Bump actions/setup-python from 4 to 5 by @dependabot in #334
- Bump mamba-org/setup-micromamba from 1.7.0 to 1.7.3 by @dependabot in #336
- Pre-commit autoupdate by @quant-ranger in #339
- Pin minimum version of
formulaic
to 0.6 by @MatthiasSchmidtblaicherQC in #340 - Raise for unseen categories when materializing from an existing
ModelSpec
by @stanmart in #341
New Contributors
Full Changelog: 4.0.0a2...4.0.0a3
tabmat 3.1.13
What's Changed
- Trusted publisher by @MarcAntoineSchmidtQC in #319
- Build wheels on Linux for
x86_64
too by @xhochy in #321
Full Changelog: 3.1.12...3.1.13
tabmat 3.1.12
What's Changed
- Bump mamba-org/setup-micromamba from 1.4.4 to 1.5.0 by @dependabot in #316
- Use subdir envvar for micromamba by @MarcAntoineSchmidtQC in #317
- Prepare 3.1.12 release by @MarcAntoineSchmidtQC in #318
Full Changelog: 3.1.11...3.1.12
tabmat 3.1.11
What's Changed
- Pre-commit autoupdate by @quant-ranger in #274
- Pre-commit autoupdate by @quant-ranger in #276
- Bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7 by @dependabot in #277
- Bump pypa/gh-action-pypi-publish from 1.8.7 to 1.8.8 by @dependabot in #279
- Bump pypa/cibuildwheel from 2.13.1 to 2.14.1 by @dependabot in #280
- Improve the performance of
from_pandas
in the case of low-cardinality categoricals by @MartinStancsicsQC in #275 - Add pickled benchmark data to .gitignore by @MartinStancsicsQC in #282
- Pre-commit autoupdate by @quant-ranger in #283
- Pre-commit autoupdate by @quant-ranger in #284
- Use boa to build conda packages by @jtilly in #285
- Pre-commit autoupdate by @quant-ranger in #287
- Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10 by @dependabot in #288
- Explicitly link to OpenMP by @xhochy in #290
- Use micromamba to create conda environments in Wheel build by @xhochy in #294
- Bump pypa/cibuildwheel from 2.14.1 to 2.15.0 by @dependabot in #289
- Major CI cleanup by @pavelzw in #293
- Bump mamba-org/setup-micromamba from 1.1.3 to 1.4.3 by @dependabot in #295
- Pre-commit autoupdate by @quant-ranger in #296
- Update mambaforge in RTD by @xhochy in #300
- Bump mamba-org/setup-micromamba from 1.4.3 to 1.4.4 by @dependabot in #298
- Bump actions/checkout from 3 to 4 by @dependabot in #299
- Bump docker/setup-qemu-action from 2 to 3 by @dependabot in #301
- Update CODEOWNERS by @tbenthompson in #302
- Bump pypa/cibuildwheel from 2.15.0 to 2.16.0 by @dependabot in #303
- Pre-commit autoupdate by @quant-ranger in #304
- Bump pypa/cibuildwheel from 2.16.0 to 2.16.1 by @dependabot in #305
- Fix CODEOWNERS by @xhochy in #308
- Drop Python<3.9 according to NEP29 by @xhochy in #307
- Bump pypa/cibuildwheel from 2.16.1 to 2.16.2 by @dependabot in #306
- Update conda pinnings to latest conda-forge standards by @xhochy in #309
- Switch pyupgrade to 3.9+ by @xhochy in #310
- Build and test with Python 3.12 by @xhochy in #311
- prepare 3.1.11 release by @MarcAntoineSchmidtQC in #314
New Contributors
Full Changelog: 3.1.10...3.1.11
tabmat 4.0.0a2
What's Changed
- Correctly create missing category from
model_spec
by @MartinStancsicsQC in #297
Full Changelog: 4.0.0a1...4.0.0a2
tabmat 4.0.0a1
What's Changed
- Large refactoring. DenseMatrix and SparseMatrix do not inherit directly from
numpy.ndarray
andscipy.sparse.csc_matrix
. Rather, they use the__array_ufunc__
interface. by @MartinStancsicsQC. - Add column name metadata to
tabmat
matrices by @MartinStancsicsQC in #278 - Allow the creation of tabmat matrices from Wilkinson-formulas by @MatthiasSchmidtblaicherQC @MartinStancsicsQC and @xhochy in #267
- Allow missing values in
CategoricalMatrix
by @MartinStancsicsQC in #281 - Improve the performance of
from_pandas
in the case of low-cardinality categoricals by @MartinStancsicsQC in #275 - Add pickled benchmark data to .gitignore by @MartinStancsicsQC in #282
- Use boa to build conda packages by @jtilly in #285
Full Changelog: 3.1.10...4.0.0a1