Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
7087e6e
bump: version 0.0.2 → 1.0.0rc1
mkumar73 Aug 15, 2026
a86f73a
docs(tutorials): correct stale output numbers to match current results
mkumar73 Aug 15, 2026
04331a9
fix(selectors): make _enforce_spacing order-independent to fix lightg…
mkumar73 Aug 15, 2026
8cd89a1
fix(splines,transformers): close B-spline final span and fix Continuo…
mkumar73 Aug 15, 2026
63e1a69
perf(preprocessor): slice dict blocks from output_indices_ instead of…
mkumar73 Aug 15, 2026
c3d8ad9
fix: provide appropriate error for onehot_from_ordinal input
mkumar73 Aug 19, 2026
d42c1f0
fix: keep location provided by tree when suplementing
mkumar73 Aug 19, 2026
bcd9f70
perf(splines): drop retained training design matrices (issue #19)
mkumar73 Aug 19, 2026
9911750
fix(locations): keep importance aligned with locations after sort/ded…
mkumar73 Aug 19, 2026
ef2b67f
fix(core): raise on mismatched input_features length in get_feature_n…
mkumar73 Aug 19, 2026
df4733c
fix(embeddings): accept list input in LanguageEmbeddingTransformer.fi…
mkumar73 Aug 19, 2026
6760211
fix: set include_bias to False as default (#33)
mkumar73 Aug 19, 2026
5c6f65d
fix: validate embedding against fitted dimension (#34)
mkumar73 Aug 19, 2026
f41282d
fix: reject unrecognized scalar (#35)
mkumar73 Aug 19, 2026
d3c6b8a
fix: follow sklearn contract for binning (#36)
mkumar73 Aug 19, 2026
835e141
fix: raise error for duplicate columns (#37)
mkumar73 Aug 19, 2026
2ec3fdc
fix: appropriate error message for out_dim and min_out_dim (#38)
mkumar73 Aug 19, 2026
0ba4d7a
fix: supplied parameter override preset
mkumar73 Aug 20, 2026
1906e0d
fix: custom representation usage for cat features
mkumar73 Aug 20, 2026
b0e6728
fix: sparse to dense conversion for sparse output
mkumar73 Aug 20, 2026
956b346
fix: missing policy feature inspection, embedding silient failure
mkumar73 Aug 20, 2026
a7ccf6d
fix: unassigned int cat cuttoff
mkumar73 Aug 20, 2026
75f6f41
fix: enfore feature count for cat transformer
mkumar73 Aug 20, 2026
ce5f726
fix: missclassify numerical to cat feature based on name
mkumar73 Aug 20, 2026
f133c20
docs: remove duplicate copy symbol
mkumar73 Aug 21, 2026
bd27ce2
style: format command on markdown
mkumar73 Aug 21, 2026
91d4787
chore: formatting fix
mkumar73 Aug 21, 2026
12ba0e7
chore: pyright issues fixed
mkumar73 Aug 21, 2026
55da45e
docs: update release process, rc increment
mkumar73 Aug 21, 2026
d933280
bump: version 1.0.0rc1 → 1.0.0rc2
mkumar73 Aug 21, 2026
7bbbe12
ci: run docs for stable tags
mkumar73 Aug 21, 2026
f9bd3b6
chore: sklearn tags added
mkumar73 Aug 22, 2026
5d2cffa
style: ignore pylance warning for override
mkumar73 Aug 22, 2026
7060973
docs: docstring updated and corrected
mkumar73 Aug 22, 2026
61ff82d
chore: simplify ple output column name
mkumar73 Aug 22, 2026
ea479b3
docs: update docstring for ple and binning
mkumar73 Aug 22, 2026
c45327d
fix: remove unused ple parameters
mkumar73 Aug 22, 2026
9613987
docs: update docstring for adaptive setting
mkumar73 Aug 22, 2026
a3c44b8
docs: note added for adaptive setting
mkumar73 Aug 22, 2026
7cb1a5b
docs: api reference update
mkumar73 Aug 22, 2026
6d72619
fix: validate embedding during fit
mkumar73 Aug 23, 2026
e2633ae
fix: add missing indicator
mkumar73 Aug 23, 2026
9c09d59
chore: formattng issue
mkumar73 Aug 23, 2026
a0df21b
test(public-api): pin pretab.transformers facade to 24 classes
mkumar73 Aug 28, 2026
9f43e0a
refactor(expansion): move spline transformers to pretab.expansion.spline
mkumar73 Aug 28, 2026
aae47fb
refactor(expansion): move functional expansions to pretab.expansion.f…
mkumar73 Aug 28, 2026
571d444
refactor(encoding): move numerical encoders to pretab.encoding.numerical
mkumar73 Aug 28, 2026
53c9aaa
refactor(encoding): move categorical encoders to pretab.encoding.cate…
mkumar73 Aug 28, 2026
2c6265f
refactor(kernel-approximation): split kernel approximations into pret…
mkumar73 Aug 28, 2026
d069f9c
refactor(embedding): move language embedding to pretab.embedding
mkumar73 Aug 28, 2026
4188a64
refactor(preprocessing): move floats and missing encoders to pretab.p…
mkumar73 Aug 28, 2026
f1b6a34
docs: restructure representations by expansion/encoding/embedding tax…
mkumar73 Aug 28, 2026
d18000d
test: reorganize transformer tests to mirror the package taxonomy
mkumar73 Aug 28, 2026
9a1b8c1
docs: ground representation examples in verified shapes and add param…
mkumar73 Aug 28, 2026
ea506e2
docs: clarify periodic encoding has no automatic period detection
mkumar73 Aug 28, 2026
f1365af
docs: add math formulas for functional expansions and kernel approxim…
mkumar73 Aug 28, 2026
640f6c3
docs: add per-family math formulas to spline expansions
mkumar73 Aug 28, 2026
dc3ca20
Merge pull request #47 from OpenTabular/refactor/module-layout
mkumar73 Aug 28, 2026
1561eeb
fix(tests): sort imports in test_adaptive_output_dim
mkumar73 Sep 1, 2026
ba4a36c
docs: flag OneHotFromOrdinalTransformer as deprecated everywhere
mkumar73 Sep 1, 2026
1eaffb4
docs(core_concepts): correct NaN handling, placement, and rff/nystroe…
mkumar73 Sep 1, 2026
df6aac7
docs(getting_started): correct placement_strategy and rff/nystroem cl…
mkumar73 Sep 1, 2026
b5f73d2
docs(representations): fix edge case, adaptive, and penalty matrix cl…
mkumar73 Sep 1, 2026
58ed9a2
docs(developer_guide): fix stale versioning, testing, and contributin…
mkumar73 Sep 1, 2026
0c50fe3
docs(tutorials): fix broken adaptive example and inaccurate claims
mkumar73 Sep 1, 2026
bb9b45c
bump: version 1.0.0rc2 → 1.0.0rc3
mkumar73 Sep 1, 2026
0cc8919
docs: pretab def updated
mkumar73 Sep 4, 2026
cee20a4
docs(developer_guide): add guidance on testing mathematical correctness
mkumar73 Sep 4, 2026
638501f
fix(serialize): reject unsafe classes in from_spec
mkumar73 Sep 4, 2026
e59e74d
Merge pull request #48 from OpenTabular/fix/serialize-security
mkumar73 Sep 4, 2026
79fcab8
fix(ple): remove boundary-bin discontinuity in PLETransformer
mkumar73 Sep 4, 2026
602ea7f
Merge pull request #49 from OpenTabular/fix/ple-boundary-discontinuity
mkumar73 Sep 4, 2026
36e0ad5
fix(spline): correct penalty matrices and validate diff_order
mkumar73 Sep 4, 2026
4efdffe
docs(spline): note thin-plate penalty is experimental
mkumar73 Sep 4, 2026
6ebb62d
Merge pull request #50 from OpenTabular/fix/spline-penalty-matrices
mkumar73 Sep 4, 2026
c1ed2ff
fix: drop unwired policy fields and encoding/embedding NaN bugs
mkumar73 Sep 4, 2026
150a012
fix: use configured dtype in output-budget memory estimate
mkumar73 Sep 4, 2026
769e7b1
feat: default Preprocessor output to a single array
mkumar73 Sep 5, 2026
f53673d
ci: CI before publish and test minimum dependencies
mkumar73 Sep 5, 2026
4641ab6
fix: raise scikit-learn minimum and use scipy trapezoid
mkumar73 Sep 5, 2026
9cc5316
chore: formatting
mkumar73 Sep 5, 2026
b6fc3e7
docs: fix broken source-install command in README
mkumar73 Sep 5, 2026
8a948c5
fix: remove unimplemented resolution stubs from public placement API
mkumar73 Sep 5, 2026
ec5e3ce
chore: add py.typed marker for PEP 561 compliance
mkumar73 Sep 5, 2026
4fe150d
docs: remove custombin from categorical_method docstring
mkumar73 Sep 5, 2026
824102e
fix: validate feature_preprocessing keys against input columns
mkumar73 Sep 5, 2026
0c4ccc7
fix: numerical_method=none no longer applies scaling
mkumar73 Sep 5, 2026
1139b92
fix: add missing polars optional dependency and its tests
mkumar73 Sep 5, 2026
3f42af9
chore: test case correction
mkumar73 Sep 6, 2026
5e81a3b
docs: note Nystroem's non-uniform pointwise approximation error
mkumar73 Sep 6, 2026
dc0386e
fix: document periodic transform wrap-around and correct binning docs…
mkumar73 Sep 6, 2026
2fe4e0d
test: add shared penalty matrix symmetry, PSD, rank, and rescaling ch…
mkumar73 Sep 6, 2026
948bb14
docs: remove stale claim from reproducibility note
mkumar73 Sep 6, 2026
0508e56
fix: clip P-spline and tensor-product out-of-range transforms via policy
mkumar73 Sep 6, 2026
b9b03b3
Merge pull request #51 from OpenTabular/chore/finalize-v1.0.0
mkumar73 Sep 6, 2026
f02de9d
docs: fix corrupted underscore identifiers in changelog
mkumar73 Sep 6, 2026
793d10e
fix: reject fit on a frozen preprocessor
mkumar73 Sep 6, 2026
89f8bfe
fix: correct serialization safety claims and bypass __new__ hooks
mkumar73 Sep 6, 2026
45f9621
fix: reuse identical CV folds across search candidates
mkumar73 Sep 6, 2026
f34dcf4
fix: validate cross-fitting task name
mkumar73 Sep 6, 2026
d54dd5f
fix: raise scikit-learn minimum and use scipy trapezoid
mkumar73 Sep 6, 2026
6dea737
ci: gate publish workflows on CI and docs
mkumar73 Sep 6, 2026
5988255
chore: fix pre-commit prettier types and enforce coverage
mkumar73 Sep 6, 2026
00480fa
test: execute README, homepage, and quickstart as doc snippets
mkumar73 Sep 6, 2026
ebf57ea
docs: correct stale claims
mkumar73 Sep 6, 2026
127da58
ci: remove duplicate workflow call
mkumar73 Sep 6, 2026
97069c1
docs: update header
mkumar73 Sep 6, 2026
9b2d1a9
bump: version 1.0.0rc3 → 1.0.0rc4
mkumar73 Sep 6, 2026
d7b9223
chore: formatting and typecheck correction
mkumar73 Sep 6, 2026
89c865b
bump: version 1.0.0rc4 → 1.0.0rc5
mkumar73 Sep 6, 2026
5bffa4b
ci: add release branch qa gate, update docs
mkumar73 Sep 6, 2026
bd43d8e
docs: add note to optional lightgbm installation
mkumar73 Sep 6, 2026
682c296
fix: fit summary to report resolved methods
mkumar73 Sep 6, 2026
bbb0cdf
docs: document verbose fit logging
mkumar73 Sep 6, 2026
35ffa88
docs: reorder overview content
mkumar73 Sep 6, 2026
6cda6ed
docs: add command outputs, warning
mkumar73 Sep 6, 2026
0db1544
docs: extend numpy input details explicitly
mkumar73 Sep 6, 2026
3f3d646
fix: make present task dependent
mkumar73 Sep 6, 2026
d766581
docs: improve overview and feature_representation
mkumar73 Sep 6, 2026
12c37c3
docs: link removed
mkumar73 Sep 6, 2026
d53459c
docs: update
mkumar73 Sep 6, 2026
e3b9829
docs: restructure target aware document
mkumar73 Sep 6, 2026
d19b9e7
docs: refine missing value imputation
mkumar73 Sep 6, 2026
ff5bf17
docs: improve and cleanup representation documents
mkumar73 Sep 6, 2026
56a69cc
docs: tutorials updated
mkumar73 Sep 6, 2026
f226f05
docs: refine quickstart guides
mkumar73 Sep 6, 2026
d81b6ef
docs: add presets info
mkumar73 Sep 6, 2026
5d56d44
docs: developer guide restructure and cleanup
mkumar73 Sep 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ jobs:
python -m venv /tmp/pretab-wheel-test
source /tmp/pretab-wheel-test/bin/activate
pip install dist/*.whl
python -c "import pretab; print('version:', pretab.__version__)"
python -I scripts/quickstart.py
python -I -c "import pretab; print('version:', pretab.__version__); print(pretab.__file__)"

- name: Upload build artifacts
uses: actions/upload-artifact@v4
Expand Down
23 changes: 22 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
name: CI

on:
workflow_call:
workflow_dispatch:
push:
branches:
- main
- "release/**"
pull_request:
branches:
- main

concurrency:
group: ci-${{ github.head_ref || github.sha }}
group: ci-${{ github.workflow }}-${{ github.head_ref || github.sha }}
cancel-in-progress: true

permissions:
Expand Down Expand Up @@ -150,6 +152,23 @@ jobs:
- name: Run unit tests
run: poetry run pytest tests/ -v

minimum-deps:
name: Minimum dependencies (Python 3.10)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install with minimum supported dependency series
run: >-
python -m pip install . pytest pytest-cov
"numpy==1.24.4" "pandas==2.0.3" "scipy==1.10.1" "scikit-learn==1.6.0"
- name: Run tests
run: python -m pytest tests/ -q
- name: Exercise the installed package
run: python -I scripts/quickstart.py

smoke:
name: Smoke tests (Python 3.12, ubuntu)
runs-on: ubuntu-latest
Expand Down Expand Up @@ -248,6 +267,8 @@ jobs:
module: sentence_transformers
- extra: lightgbm
module: lightgbm
- extra: polars
module: polars

steps:
- uses: actions/checkout@v4
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Docs

on:
workflow_call:
workflow_dispatch:
pull_request:
# Only run on PRs that touch docs-related files to keep checks fast.
Expand All @@ -15,11 +16,12 @@ on:
# which files changed in the tagged commit.
branches:
- main
- "release/**"
tags:
- "v*"
- "v*.*.*"

concurrency:
group: docs-${{ github.head_ref || github.ref }}
group: docs-${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
Expand Down
16 changes: 15 additions & 1 deletion .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,20 @@ permissions:
id-token: write

jobs:
qa:
uses: ./.github/workflows/ci.yml
permissions:
contents: read
if: ${{ !contains(github.ref_name, 'rc') }}

docs:
uses: ./.github/workflows/docs.yml
permissions:
contents: read
if: ${{ !contains(github.ref_name, 'rc') }}

publish:
needs: [qa, docs]
runs-on: ubuntu-latest
environment: pypi-publish
# The "v*.*.*" trigger also matches RC tags (e.g. v2.0.0rc2), so guard
Expand Down Expand Up @@ -73,7 +86,8 @@ jobs:
python -m venv /tmp/pretab-wheel-test
source /tmp/pretab-wheel-test/bin/activate
pip install dist/*.whl
python -c "import pretab; print(pretab.__version__)"
python -I scripts/quickstart.py
python -I -c "import pretab; print(pretab.__version__); print(pretab.__file__)"

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
Expand Down
16 changes: 14 additions & 2 deletions .github/workflows/publish-testpypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,18 @@ permissions:
id-token: write

jobs:
qa:
uses: ./.github/workflows/ci.yml
permissions:
contents: read

docs:
uses: ./.github/workflows/docs.yml
permissions:
contents: read

publish-rc:
needs: [qa, docs]
runs-on: ubuntu-latest
environment: testpypi-publish

Expand Down Expand Up @@ -70,7 +81,8 @@ jobs:
python -m venv /tmp/pretab-wheel-test
source /tmp/pretab-wheel-test/bin/activate
pip install dist/*.whl
python -c "import pretab; print(pretab.__version__)"
python -I scripts/quickstart.py
python -I -c "import pretab; print(pretab.__version__); print(pretab.__file__)"

- name: Publish to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
Expand Down Expand Up @@ -110,4 +122,4 @@ jobs:
done

- name: Import smoke test
run: python -c "import pretab; print('version:', pretab.__version__)"
run: python -I -c "import pretab; print('version:', pretab.__version__); print(pretab.__file__)"
5 changes: 1 addition & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,7 @@ repos:
rev: f12edd9c7be1c20cfa42420fd0e6df71e42b51ea # frozen: v4.0.0-alpha.8
hooks:
- id: prettier
types:
- yaml
- markdown
- json
types_or: [yaml, markdown, json]

- repo: https://github.com/commitizen-tools/commitizen
rev: 2ca29f9297911f8f5a4e8f97100b7832f045e8d3 # frozen: v4.13.10
Expand Down
Loading
Loading