Skip to content

Commit fbdb1e0

Browse files
committed
feat: support for py313, py314
1 parent 5fcd858 commit fbdb1e0

18 files changed

Lines changed: 48 additions & 38 deletions

.github/workflows/build-and-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
matrix:
1414
os: [ubuntu-latest, windows-latest, macos-latest]
15-
python-version: ["3.10", "3.11", "3.12"]
15+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
1616
steps:
1717
- uses: actions/checkout@v4
1818
- name: Set up Python

.github/workflows/build-wheels.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ jobs:
3434
cp310-manylinux_x86_64 cp310-manylinux_aarch64 cp310-macosx_x86_64 cp310-win_amd64
3535
cp311-manylinux_x86_64 cp311-manylinux_aarch64 cp311-macosx_x86_64 cp311-win_amd64
3636
cp312-manylinux_x86_64 cp312-manylinux_aarch64 cp312-macosx_x86_64 cp312-win_amd64
37+
cp313-manylinux_x86_64 cp313-manylinux_aarch64 cp313-macosx_x86_64 cp313-win_amd64
38+
cp314-manylinux_x86_64 cp314-manylinux_aarch64 cp314-macosx_x86_64 cp314-win_amd64
3739
- name: Store artifacts
3840
uses: actions/upload-artifact@v4
3941
with:

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/ambv/black
3-
rev: 20.8b1
3+
rev: 24.8.0
44
hooks:
55
- id: black
66
language_version: python3

build_tools/requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
-r ../requirements.txt
22
pytest
33
pre-commit
4-
black==20.8b1
4+
black==24.8.0
55
click==8.0.3
66
flake8==3.8.4
77
pytest-cov
88
lightgbm
99
xgboost
10-
cython>=0.28.5
10+
cython>=3.0,<3.1

deepforest/_binner.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/ensemble/_hist_gradient_boosting/binning.py
66
"""
77

8-
98
__all__ = ["Binner"]
109

1110
import numpy as np

deepforest/_estimator.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
"""A wrapper on the base estimator for the naming consistency."""
22

3-
43
__all__ = ["Estimator"]
54

65
import numpy as np

deepforest/_io.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
class is designed to support the partial mode in deep forest.
44
"""
55

6-
76
__all__ = ["Buffer"]
87

98
import os

deepforest/_layer.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
"""Implementation of the cascade layer in deep forest."""
22

3-
43
__all__ = [
54
"BaseCascadeLayer",
65
"ClassificationCascadeLayer",

deepforest/_utils.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
"""Implement utilities used in deep forest."""
22

3-
43
import numpy as np
54
from datetime import datetime
65

deepforest/cascade.py

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
"""Implementation of Deep Forest."""
22

3-
43
__all__ = ["CascadeForestClassifier", "CascadeForestRegressor"]
54

65
import numbers
@@ -770,10 +769,12 @@ def fit(self, X, y, sample_weight=None):
770769
X, y = check_X_y(
771770
X,
772771
y,
773-
multi_output=True
774-
if type_of_target(y)
775-
in ("continuous-multioutput", "multiclass-multioutput")
776-
else False,
772+
multi_output=(
773+
True
774+
if type_of_target(y)
775+
in ("continuous-multioutput", "multiclass-multioutput")
776+
else False
777+
),
777778
)
778779

779780
self._check_input(X, y)
@@ -1427,10 +1428,12 @@ def fit(self, X, y, sample_weight=None):
14271428
X, y = check_X_y(
14281429
X,
14291430
y,
1430-
multi_output=True
1431-
if type_of_target(y)
1432-
in ("continuous-multioutput", "multiclass-multioutput")
1433-
else False,
1431+
multi_output=(
1432+
True
1433+
if type_of_target(y)
1434+
in ("continuous-multioutput", "multiclass-multioutput")
1435+
else False
1436+
),
14341437
)
14351438
# Check the input for classification
14361439
y = self._encode_class_labels(y)
@@ -1639,10 +1642,12 @@ def fit(self, X, y, sample_weight=None):
16391642
X, y = check_X_y(
16401643
X,
16411644
y,
1642-
multi_output=True
1643-
if type_of_target(y)
1644-
in ("continuous-multioutput", "multiclass-multioutput")
1645-
else False,
1645+
multi_output=(
1646+
True
1647+
if type_of_target(y)
1648+
in ("continuous-multioutput", "multiclass-multioutput")
1649+
else False
1650+
),
16461651
)
16471652

16481653
# Check the input for regression

0 commit comments

Comments
 (0)