Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
5fad188
docs: README restructured
georyetti Apr 14, 2026
9ecdbfe
Merge branch 'main' into improve-readme
georyetti Apr 14, 2026
abed44c
Merge branch 'main' into improve-readme
georyetti Apr 14, 2026
af53fe1
feat: add Keras 3 multi-backend support with portable layers
georyetti Apr 15, 2026
7371d9f
feat: migrate TF-only layers to keras.tensorflow package
georyetti Apr 15, 2026
3020293
feat: add 5 portable numeric layers (divide, subtract, round, modulo)
georyetti Apr 15, 2026
11aa41b
feat: add 5 portable numeric layers (sum, max, min, mean, exponent)
georyetti Apr 15, 2026
16d0465
feat: add 3 portable logical layers (and, or, not)
georyetti Apr 15, 2026
de6f17c
feat: add portable numerical_if_statement, move if_statement to TF-only
georyetti Apr 15, 2026
e57010c
fix: Add check in base layer for string inputs
georyetti Apr 15, 2026
c0358cb
feat: add multi-backend array operation layers
georyetti Apr 15, 2026
23cc2b9
feat: add multi-backend scaling/normalization layers
georyetti Apr 15, 2026
481bfc6
feat: add multi-backend geometry layers
georyetti Apr 15, 2026
b7c0d13
refactor: improve code quality across multi-backend layers
georyetti Apr 15, 2026
9dc6b64
fix: Update import in Spark transformers
georyetti Apr 15, 2026
ee83f56
build: Update toml
georyetti Apr 15, 2026
e265d96
tests: Update test import path
georyetti Apr 15, 2026
f92e59e
fix: Update Spark import for tf only layers
georyetti Apr 15, 2026
5bce6fc
feat: Consolidate BaseLayer to single class
georyetti Apr 15, 2026
c99dc34
fix: Use correct import for pipeline graph
georyetti Apr 15, 2026
30ff01c
tests: Minor tests fixing
georyetti Apr 16, 2026
f53b380
refactor: Use keras typing for pipeline graph
georyetti Apr 16, 2026
c852822
refactor: Use numpy max info not tf in UDFs
georyetti Apr 16, 2026
db801a8
fix: Update dtype enum to use str types not tensorflow
georyetti Apr 16, 2026
5f267f8
feat: Remove sklearn entirely
georyetti Apr 16, 2026
7d30e11
feat: Remove old dirs and move tests
georyetti Apr 16, 2026
2b9bddd
chore: Use correct typing in lambda function transformer
georyetti Apr 16, 2026
2d5692c
docs: Update docs and examples
georyetti Apr 16, 2026
b7a4a69
Merge branch 'improve-readme' into keras3-migration
georyetti Apr 16, 2026
d17d6db
docs: Update README.md
georyetti Apr 16, 2026
9829415
refactor: Rename tf specific methods to keras
georyetti Apr 16, 2026
cffbe95
docs: Add keras migration docs and ref in README.md
georyetti Apr 16, 2026
c52a036
build: Relax upper constraint tf
georyetti Apr 16, 2026
f9841e6
build: Update ci.yaml to use keras versions
georyetti Apr 16, 2026
d233e15
build: Remove 3.0.0 from keras-version to reduce test volume
georyetti Apr 16, 2026
0ca1ec9
build: Fix ci.yaml
georyetti Apr 16, 2026
90bed40
build: Update ci.yaml and remove scikit-learn dep
georyetti Apr 16, 2026
31275a9
Merge branch 'main' into keras3-migration
georyetti Apr 21, 2026
516b398
fix: Added decorator to error if not tensorflow only
georyetti Apr 28, 2026
61bc3ea
chore: Remove diff.txt added accidently
georyetti Apr 28, 2026
24ed4db
chore: Fix linting and one missing import
georyetti Apr 28, 2026
1ee6c0e
chore: Missing import
georyetti Apr 28, 2026
638b9fd
refactor: Remove refs to tf in pipeline model typehints
georyetti Apr 28, 2026
17bd928
fix: Add enum for supported backends
georyetti Apr 30, 2026
589682d
feat: Add jit_compatible flag to layers/estimators and trasformers
georyetti Apr 30, 2026
532d4a8
fix: Resolve release/v3.0.0 conflicts and migrate new layers to Keras 3
georyetti May 6, 2026
c968c02
Merge origin/release/v3.0.0 into keras3-migration
georyetti May 6, 2026
9d8fb17
fix: Align compatible_dtypes & casting across tf only layers
georyetti May 7, 2026
094bc63
fix: Align Keras 3 migration with production standards
georyetti May 7, 2026
d41098d
refactor: Address PR comments
georyetti May 12, 2026
6971a9c
refactor: Use get_radians from ops utils for bearing angle
georyetti May 15, 2026
b416f06
fix: Remove typing in favour of KerasTensor
georyetti May 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
88 changes: 17 additions & 71 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,94 +11,40 @@ env:
UV_VERSION: 0.5.21

jobs:
unittests_py_less_3_11:
name: Unit Tests Python=${{ matrix.python-version }} Pyspark=${{ matrix.pyspark-version }} Tensorflow=${{ matrix.tensorflow-version }}
unittests:
name: Unit Tests Python=${{ matrix.python-version }} Pyspark=${{ matrix.pyspark-version }} Keras=${{ matrix.keras-version }}
runs-on: [ ubuntu-latest ]
strategy:
matrix:
# We match the last 2 Databricks LTS Runtime versions for pyspark
# and 3 Tensorflow versions within our package range that are not compatible with Python 3.11
python-version: ["3.9", "3.10"]
python-version: ["3.10", "3.11", "3.12"]
pyspark-version: ["3.4.1", "3.5.0"]
tensorflow-version: ["2.9.1", "2.10.1", "2.11.1"]
keras-version: ["3.3.0", "3.7.0", "3.10.0", "3.12.0"]
steps:
- name: Setup Local Repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: |
pip install --upgrade pip
pip install "uv==$UV_VERSION"
- name: Fix Python Pyspark & Tensorflow Versions
- name: Install project and pin matrix versions
run: |
uv venv --python ${{ matrix.python-version }}
uv add pyspark==${{ matrix.pyspark-version }}
uv add tensorflow==${{ matrix.tensorflow-version }}
uv pip install -e ".[tensorflow]"
uv pip install pyspark==${{ matrix.pyspark-version }} keras==${{ matrix.keras-version }}
- name: Run tests
run: uv run -p ${{ matrix.python-version }} python -m pytest -n auto .
unittests_py_3_11:
name: Unit Tests Python=3.11 Pyspark=${{ matrix.pyspark-version }} Tensorflow=${{ matrix.tensorflow-version }}
runs-on: [ ubuntu-latest ]
strategy:
matrix:
# Only certain versions of pyspark and tensorflow are compatible with Python 3.11
pyspark-version: ["3.4.1", "3.5.0"]
tensorflow-version: ["2.12.1", "2.13.1", "2.14.1", "2.15.1", "2.16.2", "2.17.1", "2.18.0"]
steps:
- name: Setup Local Repo
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: "3.11"
- name: Install uv
run: |
pip install --upgrade pip
pip install "uv==$UV_VERSION"
- name: Fix Python Pyspark & Tensorflow Versions
run: |
uv venv --python 3.11
uv add pyspark==${{ matrix.pyspark-version }}
uv add "tensorflow==${{ matrix.tensorflow-version }}; python_version >='3.9' and python_version <'3.12'"
- name: Run tests
run: uv run -p 3.11 python -m pytest -n auto .
unittests_py_3_12:
name: Unit Tests Python=3.12 Pyspark=${{ matrix.pyspark-version }} Tensorflow=${{ matrix.tensorflow-version }}
runs-on: [ ubuntu-latest ]
strategy:
matrix:
# Only certain versions of pyspark and tensorflow are compatible with Python 3.12
pyspark-version: [ "3.4.1", "3.5.0" ]
tensorflow-version: [ "2.16.2", "2.17.1", "2.18.0" ]
steps:
- name: Setup Local Repo
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: "3.12"
- name: Install uv
run: |
pip install --upgrade pip
pip install "uv==$UV_VERSION"
- name: Fix Python Pyspark & Tensorflow Versions
run: |
uv venv --python 3.12
uv add pyspark==${{ matrix.pyspark-version }}
uv add "tensorflow==${{ matrix.tensorflow-version }}; python_version >='3.9' and python_version <='3.12'"
- name: Run tests
run: uv run -p 3.12 python -m pytest -n auto .
formatting:
name: Formatting Checks
runs-on: [ ubuntu-latest ]
steps:
- name: Setup Local Repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install uv
Expand All @@ -112,9 +58,9 @@ jobs:
runs-on: [ ubuntu-latest ]
steps:
- name: Setup Local Repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install uv
Expand All @@ -128,9 +74,9 @@ jobs:
runs-on: [ ubuntu-latest ]
steps:
- name: Setup Local Repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install Pre-commit
Expand All @@ -145,9 +91,9 @@ jobs:
runs-on: [ ubuntu-latest ]
steps:
- name: Setup Local Repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install uv
Expand Down
Loading
Loading