From 73127c8179ce42da7ba4ebf3585d48c2b59d60aa Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 11 Nov 2025 06:52:26 +0100 Subject: [PATCH 1/5] chore: limit catboost to python < 3.14 --- requirements-freqai.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-freqai.txt b/requirements-freqai.txt index d50e2de78..e632a17e2 100644 --- a/requirements-freqai.txt +++ b/requirements-freqai.txt @@ -5,7 +5,7 @@ # Required for freqai scikit-learn==1.7.2 joblib==1.5.2 -catboost==1.2.8; 'arm' not in platform_machine +catboost==1.2.8; 'arm' not in platform_machine and python_version < '3.14' lightgbm==4.6.0 xgboost==3.1.1 tensorboard==2.20.0 From ad7816d51e394c9624604feb17210eddf3b5b08e Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 11 Nov 2025 07:01:21 +0100 Subject: [PATCH 2/5] chore: skip catboost tests on 3.14 for now --- tests/freqai/test_freqai_interface.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/freqai/test_freqai_interface.py b/tests/freqai/test_freqai_interface.py index 3e7e96d85..486491f71 100644 --- a/tests/freqai/test_freqai_interface.py +++ b/tests/freqai/test_freqai_interface.py @@ -1,5 +1,6 @@ import logging import shutil +import sys from pathlib import Path from unittest.mock import MagicMock @@ -34,6 +35,9 @@ def can_run_model(model: str) -> None: if is_arm() and "Catboost" in model: pytest.skip("CatBoost is not supported on ARM.") + if "Catboost" in model and sys.version_info >= (3, 14): + pytest.skip("CatBoost is not supported on Python 3.14+.") + if is_pytorch_model and is_mac(): pytest.skip("Reinforcement learning / PyTorch module not available on intel based Mac OS.") From 0340d36af25503b0d811dd117f6abdfa48a054c8 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 11 Nov 2025 07:02:19 +0100 Subject: [PATCH 3/5] chore(ci): run ci against python 3.14 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dddce1734..919b51bcd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: strategy: matrix: os: [ "ubuntu-22.04", "ubuntu-24.04", "macos-14", "macos-15" , "windows-2022", "windows-2025" ] - python-version: ["3.11", "3.12", "3.13"] + python-version: ["3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v5 @@ -108,7 +108,7 @@ jobs: fi - name: Check for repository changes - Windows - if: ${{ runner.os == 'Windows' && (matrix.python-version != '3.13') }} + if: ${{ runner.os == 'Windows' }} run: | if (git status --porcelain) { Write-Host "Repository is dirty, changes detected:" From 025707d9ad474a6810572042121f1ba0707775a1 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 16 Dec 2025 17:41:01 +0100 Subject: [PATCH 4/5] chore: bump joblib to 1.5.3 --- requirements-freqai.txt | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements-freqai.txt b/requirements-freqai.txt index c3a0022f3..b05b389b3 100644 --- a/requirements-freqai.txt +++ b/requirements-freqai.txt @@ -4,7 +4,7 @@ # Required for freqai scikit-learn==1.7.2 -joblib==1.5.2 +joblib==1.5.3 catboost==1.2.8; 'arm' not in platform_machine and python_version < '3.14' lightgbm==4.6.0 xgboost==3.1.2 diff --git a/requirements.txt b/requirements.txt index d14fddede..6d489cb05 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,7 +23,7 @@ jsonschema==4.25.1 tabulate==0.9.0 pycoingecko==3.2.0 jinja2==3.1.6 -joblib==1.5.2 +joblib==1.5.3 rich==14.2.0 pyarrow==22.0.0; platform_machine != 'armv7l' From b6899264a86fcccc7ad8428fde4c8ff8bc28ae99 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 23 Dec 2025 06:59:50 +0100 Subject: [PATCH 5/5] chore: update classifiers to 3.14 --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index ab22b1583..26b4c222f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,6 +22,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Operating System :: MacOS", "Operating System :: Unix", "Topic :: Office/Business :: Financial :: Investment",