tabmat 4.2.0__tar.gz → 4.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. {tabmat-4.2.0 → tabmat-4.2.1}/.github/workflows/build-wheels.yml +8 -8
  2. {tabmat-4.2.0 → tabmat-4.2.1}/.github/workflows/ci.yml +7 -6
  3. {tabmat-4.2.0 → tabmat-4.2.1}/.github/workflows/conda-build.yml +1 -1
  4. {tabmat-4.2.0 → tabmat-4.2.1}/.github/workflows/daily.yml +4 -4
  5. {tabmat-4.2.0 → tabmat-4.2.1}/.github/workflows/scorecard.yml +2 -2
  6. {tabmat-4.2.0 → tabmat-4.2.1}/CHANGELOG.rst +8 -0
  7. {tabmat-4.2.0/src/tabmat.egg-info → tabmat-4.2.1}/PKG-INFO +1 -1
  8. {tabmat-4.2.0 → tabmat-4.2.1}/docs/changelog.rst +8 -0
  9. {tabmat-4.2.0 → tabmat-4.2.1}/pixi.lock +6342 -7005
  10. {tabmat-4.2.0 → tabmat-4.2.1}/pixi.toml +6 -3
  11. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/categorical_matrix.py +1 -1
  12. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/constructor.py +1 -1
  13. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/categorical.cpp +40 -40
  14. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/categorical.pyx +2 -2
  15. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/split.cpp +83 -56
  16. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/split.pyx +12 -12
  17. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/split_matrix.py +1 -1
  18. {tabmat-4.2.0 → tabmat-4.2.1/src/tabmat.egg-info}/PKG-INFO +1 -1
  19. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat.egg-info/SOURCES.txt +2 -2
  20. tabmat-4.2.1/tests/test_big_categorical_matrix.py +149 -0
  21. tabmat-4.2.0/tests/test_transpose_matvec.py +0 -24
  22. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/linux_64_python3.10.____cpython.yaml +0 -0
  23. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/linux_64_python3.11.____cpython.yaml +0 -0
  24. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/linux_64_python3.12.____cpython.yaml +0 -0
  25. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/linux_64_python3.13.____cp313.yaml +0 -0
  26. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/linux_aarch64_python3.10.____cpython.yaml +0 -0
  27. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/linux_aarch64_python3.11.____cpython.yaml +0 -0
  28. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/linux_aarch64_python3.12.____cpython.yaml +0 -0
  29. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/linux_aarch64_python3.13.____cp313.yaml +0 -0
  30. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/osx_64_python3.10.____cpython.yaml +0 -0
  31. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/osx_64_python3.11.____cpython.yaml +0 -0
  32. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/osx_64_python3.12.____cpython.yaml +0 -0
  33. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/osx_64_python3.13.____cp313.yaml +0 -0
  34. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/osx_arm64_python3.10.____cpython.yaml +0 -0
  35. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/osx_arm64_python3.11.____cpython.yaml +0 -0
  36. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/osx_arm64_python3.12.____cpython.yaml +0 -0
  37. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/osx_arm64_python3.13.____cp313.yaml +0 -0
  38. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/win_64_python3.10.____cpython.yaml +0 -0
  39. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/win_64_python3.11.____cpython.yaml +0 -0
  40. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/win_64_python3.12.____cpython.yaml +0 -0
  41. {tabmat-4.2.0 → tabmat-4.2.1}/.ci_support/win_64_python3.13.____cp313.yaml +0 -0
  42. {tabmat-4.2.0 → tabmat-4.2.1}/.gitattributes +0 -0
  43. {tabmat-4.2.0 → tabmat-4.2.1}/.github/CODEOWNERS +0 -0
  44. {tabmat-4.2.0 → tabmat-4.2.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  45. {tabmat-4.2.0 → tabmat-4.2.1}/.github/ISSUE_TEMPLATE/issue-template.md +0 -0
  46. {tabmat-4.2.0 → tabmat-4.2.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  47. {tabmat-4.2.0 → tabmat-4.2.1}/.github/dependabot.yml +0 -0
  48. {tabmat-4.2.0 → tabmat-4.2.1}/.gitignore +0 -0
  49. {tabmat-4.2.0 → tabmat-4.2.1}/.pre-commit-config.yaml +0 -0
  50. {tabmat-4.2.0 → tabmat-4.2.1}/.readthedocs.yml +0 -0
  51. {tabmat-4.2.0 → tabmat-4.2.1}/CONTRIBUTING.md +0 -0
  52. {tabmat-4.2.0 → tabmat-4.2.1}/LICENSE +0 -0
  53. {tabmat-4.2.0 → tabmat-4.2.1}/README.md +0 -0
  54. {tabmat-4.2.0 → tabmat-4.2.1}/SECURITY.md +0 -0
  55. {tabmat-4.2.0 → tabmat-4.2.1}/build_and_launch +0 -0
  56. {tabmat-4.2.0 → tabmat-4.2.1}/conda.recipe/meta.yaml +0 -0
  57. {tabmat-4.2.0 → tabmat-4.2.1}/docs/Makefile +0 -0
  58. {tabmat-4.2.0 → tabmat-4.2.1}/docs/_static/.gitignore +0 -0
  59. {tabmat-4.2.0 → tabmat-4.2.1}/docs/_static/dense_bench.png +0 -0
  60. {tabmat-4.2.0 → tabmat-4.2.1}/docs/_static/dense_cat_bench.png +0 -0
  61. {tabmat-4.2.0 → tabmat-4.2.1}/docs/_static/headline.png +0 -0
  62. {tabmat-4.2.0 → tabmat-4.2.1}/docs/_static/one_cat_bench.png +0 -0
  63. {tabmat-4.2.0 → tabmat-4.2.1}/docs/_static/sparse_bench.png +0 -0
  64. {tabmat-4.2.0 → tabmat-4.2.1}/docs/_static/two_cat_bench.png +0 -0
  65. {tabmat-4.2.0 → tabmat-4.2.1}/docs/api.rst +0 -0
  66. {tabmat-4.2.0 → tabmat-4.2.1}/docs/benchmarks.rst +0 -0
  67. {tabmat-4.2.0 → tabmat-4.2.1}/docs/conf.py +0 -0
  68. {tabmat-4.2.0 → tabmat-4.2.1}/docs/dev +0 -0
  69. {tabmat-4.2.0 → tabmat-4.2.1}/docs/index.rst +0 -0
  70. {tabmat-4.2.0 → tabmat-4.2.1}/docs/make.bat +0 -0
  71. {tabmat-4.2.0 → tabmat-4.2.1}/images/intermediate_data_sandwich.png +0 -0
  72. {tabmat-4.2.0 → tabmat-4.2.1}/images/narrow_data_sandwich.png +0 -0
  73. {tabmat-4.2.0 → tabmat-4.2.1}/images/wide_data_sandwich.png +0 -0
  74. {tabmat-4.2.0 → tabmat-4.2.1}/pyproject.toml +0 -0
  75. {tabmat-4.2.0 → tabmat-4.2.1}/pytest.ini +0 -0
  76. {tabmat-4.2.0 → tabmat-4.2.1}/setup.cfg +0 -0
  77. {tabmat-4.2.0 → tabmat-4.2.1}/setup.py +0 -0
  78. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/__init__.py +0 -0
  79. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/benchmark/.gitignore +0 -0
  80. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/benchmark/__init__.py +0 -0
  81. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/benchmark/data/.gitignore +0 -0
  82. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/benchmark/generate_matrices.py +0 -0
  83. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/benchmark/main.py +0 -0
  84. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/benchmark/memory_tools.py +0 -0
  85. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/benchmark/visualize_benchmarks.py +0 -0
  86. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/constructor_util.py +0 -0
  87. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/dense_matrix.py +0 -0
  88. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/.gitignore +0 -0
  89. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/__init__.py +0 -0
  90. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/alloc.h +0 -0
  91. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/cat_split_helpers-tmpl.cpp +0 -0
  92. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/cat_split_helpers.cpp +0 -0
  93. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/dense.cpp +0 -0
  94. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/dense.pyx +0 -0
  95. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/dense_helpers-tmpl.cpp +0 -0
  96. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/dense_helpers.cpp +0 -0
  97. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/sparse.cpp +0 -0
  98. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/sparse.pyx +0 -0
  99. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/sparse_helpers-tmpl.cpp +0 -0
  100. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/ext/sparse_helpers.cpp +0 -0
  101. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/formula.py +0 -0
  102. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/matrix_base.py +0 -0
  103. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/sparse_matrix.py +0 -0
  104. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/standardized_mat.py +0 -0
  105. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat/util.py +0 -0
  106. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat.egg-info/dependency_links.txt +0 -0
  107. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat.egg-info/not-zip-safe +0 -0
  108. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat.egg-info/requires.txt +0 -0
  109. {tabmat-4.2.0 → tabmat-4.2.1}/src/tabmat.egg-info/top_level.txt +0 -0
  110. {tabmat-4.2.0 → tabmat-4.2.1}/tests/real_matrix.pkl +0 -0
  111. {tabmat-4.2.0 → tabmat-4.2.1}/tests/test_benchmark_cli.py +0 -0
  112. {tabmat-4.2.0 → tabmat-4.2.1}/tests/test_categorical_matrix.py +0 -0
  113. {tabmat-4.2.0 → tabmat-4.2.1}/tests/test_constructor.py +0 -0
  114. {tabmat-4.2.0 → tabmat-4.2.1}/tests/test_fast_sandwich.py +0 -0
  115. {tabmat-4.2.0 → tabmat-4.2.1}/tests/test_formula.py +0 -0
  116. {tabmat-4.2.0 → tabmat-4.2.1}/tests/test_matrices.py +0 -0
  117. {tabmat-4.2.0 → tabmat-4.2.1}/tests/test_mkl_sparse_matrix.py +0 -0
  118. {tabmat-4.2.0 → tabmat-4.2.1}/tests/test_real_matrix.py +0 -0
  119. {tabmat-4.2.0 → tabmat-4.2.1}/tests/test_split_matrix.py +0 -0
  120. {tabmat-4.2.0 → tabmat-4.2.1}/tests/test_standardized_mat.py +0 -0
@@ -20,12 +20,12 @@ jobs:
20
20
  os: [ubuntu-22.04, ubuntu-22.04-arm, windows-2022, macos-15, macos-15-intel]
21
21
 
22
22
  steps:
23
- - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
23
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
24
24
  - name: Set up micromamba
25
25
  uses: mamba-org/setup-micromamba@add3a49764cedee8ee24e82dfde87f5bc2914462
26
26
  - name: Build wheels
27
- uses: pypa/cibuildwheel@63fd63b352a9a8bdcc24791c9dbee952ee9a8abc # v3.3.0
28
- - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
27
+ uses: pypa/cibuildwheel@298ed2fb2c105540f5ed055e8a6ad78d82dd3a7e # v3.3.1
28
+ - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
29
29
  with:
30
30
  name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
31
31
  path: ./wheelhouse/*.whl
@@ -34,8 +34,8 @@ jobs:
34
34
  name: Build source distribution
35
35
  runs-on: ubuntu-latest
36
36
  steps:
37
- - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
38
- - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
37
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
38
+ - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
39
39
  name: Install Python
40
40
  with:
41
41
  python-version: '3.10'
@@ -43,7 +43,7 @@ jobs:
43
43
  run: python -m pip install setuptools setuptools-scm wheel mako numpy 'Cython!=3.0.4'
44
44
  - name: Build sdist
45
45
  run: python setup.py sdist
46
- - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
46
+ - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
47
47
  with:
48
48
  path: dist/*.tar.gz
49
49
 
@@ -57,7 +57,7 @@ jobs:
57
57
  permissions:
58
58
  id-token: write
59
59
  steps:
60
- - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
60
+ - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
61
61
  with:
62
62
  merge-multiple: true
63
63
  path: dist
@@ -75,7 +75,7 @@ jobs:
75
75
  permissions:
76
76
  id-token: write
77
77
  steps:
78
- - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
78
+ - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
79
79
  with:
80
80
  merge-multiple: true
81
81
  path: dist
@@ -19,9 +19,9 @@ jobs:
19
19
  runs-on: ubuntu-latest
20
20
  steps:
21
21
  - name: Checkout branch
22
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
22
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
23
23
  - name: Set up pixi
24
- uses: prefix-dev/setup-pixi@82d477f15f3a381dbcc8adc1206ce643fe110fb7 # v0.9.3
24
+ uses: prefix-dev/setup-pixi@a0af7a228712d6121d37aba47adf55c1332c9c2e # v0.9.4
25
25
  with:
26
26
  environments: lint default
27
27
  - name: pre-commit
@@ -40,15 +40,16 @@ jobs:
40
40
  - { os: ubuntu-latest, environment: 'py311' }
41
41
  - { os: ubuntu-latest, environment: 'py312' }
42
42
  - { os: ubuntu-latest, environment: 'py313' }
43
- - { os: windows-latest, environment: 'py313' }
44
- - { os: macos-latest, environment: 'py313' }
43
+ - { os: ubuntu-latest, environment: 'py314' }
44
+ - { os: windows-latest, environment: 'py314' }
45
+ - { os: macos-latest, environment: 'py314' }
45
46
  - { os: ubuntu-latest, environment: 'oldies' }
46
47
  - { os: ubuntu-latest, environment: 'nightly' }
47
48
  steps:
48
49
  - name: Checkout branch
49
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
50
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
50
51
  - name: Set up pixi
51
- uses: prefix-dev/setup-pixi@82d477f15f3a381dbcc8adc1206ce643fe110fb7 # v0.9.3
52
+ uses: prefix-dev/setup-pixi@a0af7a228712d6121d37aba47adf55c1332c9c2e # v0.9.4
52
53
  with:
53
54
  environments: ${{ matrix.environment }}
54
55
  - name: Update dependencies
@@ -30,7 +30,7 @@ jobs:
30
30
 
31
31
  steps:
32
32
  - name: Checkout branch
33
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
33
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
34
34
  - name: Fetch full git history
35
35
  run: git fetch --prune --unshallow
36
36
  - uses: mamba-org/setup-micromamba@add3a49764cedee8ee24e82dfde87f5bc2914462
@@ -19,13 +19,13 @@ jobs:
19
19
  include:
20
20
  - environment: 'nightly'
21
21
  NOTE: 'Nightly Builds' # run once with nightlies
22
- - environment: 'py313'
23
- NOTE: 'Python 3.13' # run once with normal dependencies
22
+ - environment: 'py314'
23
+ NOTE: 'Python 3.14' # run once with normal dependencies
24
24
  steps:
25
25
  - name: Checkout branch
26
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
26
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
27
27
  - name: Set up pixi
28
- uses: prefix-dev/setup-pixi@82d477f15f3a381dbcc8adc1206ce643fe110fb7 # v0.9.3
28
+ uses: prefix-dev/setup-pixi@a0af7a228712d6121d37aba47adf55c1332c9c2e # v0.9.4
29
29
  with:
30
30
  environments: ${{ matrix.environment }}
31
31
  - name: Update dependencies
@@ -35,7 +35,7 @@ jobs:
35
35
 
36
36
  steps:
37
37
  - name: "Checkout code"
38
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
38
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
39
39
  with:
40
40
  persist-credentials: false
41
41
 
@@ -65,7 +65,7 @@ jobs:
65
65
  # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
66
66
  # format to the repository Actions tab.
67
67
  - name: "Upload artifact"
68
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
68
+ uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
69
69
  with:
70
70
  name: SARIF file
71
71
  path: results.sarif
@@ -8,6 +8,14 @@ Changelog
8
8
  =========
9
9
 
10
10
 
11
+ 4.2.1 - 2026-02-04
12
+ ------------------
13
+
14
+ **Bug fixes:**
15
+
16
+ - Fixed methods `_cross_categorical`, `_cross_sandwich`, `multiply`, `tocsr` of `CategoricalMatrix` and function `_sandwich_cat_cat_limited_rows_cols` to operate on read-only buffers as well.
17
+
18
+
11
19
  4.2.0 - 2026-01-13
12
20
  ------------------
13
21
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tabmat
3
- Version: 4.2.0
3
+ Version: 4.2.1
4
4
  Summary: Efficient matrix representations for working with tabular data.
5
5
  Home-page: https://github.com/Quantco/tabmat
6
6
  Author: QuantCo, Inc.
@@ -8,6 +8,14 @@ Changelog
8
8
  =========
9
9
 
10
10
 
11
+ 4.2.1 - 2026-02-04
12
+ ------------------
13
+
14
+ **Bug fixes:**
15
+
16
+ - Fixed methods `_cross_categorical`, `_cross_sandwich`, `multiply`, `tocsr` of `CategoricalMatrix` and function `_sandwich_cat_cat_limited_rows_cols` to operate on read-only buffers as well.
17
+
18
+
11
19
  4.2.0 - 2026-01-13
12
20
  ------------------
13
21