Skip to content

Commit fd08b66

Browse files
authored
[MNT] Update dependency versions and complete migration to pyproject.toml (#596)
This PR updates the versions of outdated dependencies and migrates build system to `pyproject.toml`. Few Observations: - `torch` still supports 1.X, but there is nothing about 2.X support. We should see if it can support `torch` 2.6+ version completely or not. - The project uses `pytorch-lightning`, I think we should move it to the newer `lightning` version - There are a lot of "core" dependencies. We should look how can we reduce this stack. Some dependencies which I think we should check if we could move to `extras`: - `omegaconf` - `torchmetrics` - `tensorboard` - `protobuf` - `matplotlib` - `PyYAML` - `matplotlib` - `einops` - `fsspec` - `rich` - `ipywidgets` - We should also create few more dependency categories in `pyproject.toml`, like `docs` etc] - We should also look into GH workflows, it is still using older python versions
1 parent 7a304ad commit fd08b66

1 file changed

Lines changed: 20 additions & 11 deletions

File tree

pyproject.toml

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ authors = [
99
{ name = "Manu Joseph", email = "manujosephv@gmail.com" }
1010
]
1111

12-
requires-python = ">=3.8"
12+
requires-python = ">=3.10,<3.15"
1313

1414
keywords = [
1515
"pytorch",
@@ -18,25 +18,33 @@ keywords = [
1818
"neural network",
1919
]
2020

21+
2122
classifiers = [
2223
"Development Status :: 4 - Beta",
2324
"Intended Audience :: Developers",
2425
"License :: OSI Approved :: MIT License",
26+
"Intended Audience :: Science/Research",
2527
"Natural Language :: English",
2628
"Programming Language :: Python :: 3",
2729
"Programming Language :: Python :: 3.10",
2830
"Programming Language :: Python :: 3.11",
2931
"Programming Language :: Python :: 3.12",
3032
"Programming Language :: Python :: 3.13",
3133
"Programming Language :: Python :: 3.14",
34+
"Topic :: Scientific/Engineering",
35+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
36+
"Topic :: Software Development",
37+
"Topic :: Software Development :: Libraries",
38+
"Topic :: Software Development :: Libraries :: Python Modules",
3239
]
3340

3441
dependencies = [
3542
"torch>=1.11.0",
36-
"numpy>1.20.0,<2.0",
37-
"pandas>=1.1.5",
38-
"scikit-learn>=1.3.0",
43+
"numpy<=3.0.0",
44+
"pandas>=1.1.5,<3.0.0",
45+
"scikit-learn>=1.3.0,<2.0",
3946
"pytorch-lightning>=2.0.0,<2.5.0",
47+
"scipy>=1.8,<2.0",
4048
"omegaconf>=2.3.0",
4149
"torchmetrics>=0.10.0,<1.7.0",
4250
"tensorboard>2.2.0,!=2.5.0",
@@ -58,8 +66,7 @@ dev = [
5866
"bump2version==1.0.1",
5967
"mkdocs-material==9.5.*",
6068
"ipython[notebook]>8.0,<9.0",
61-
"mkdocstrings[python]==0.26.*; python_version < '3.9'",
62-
"mkdocstrings[python]==0.29.*; python_version >= '3.9'",
69+
"mkdocstrings[python]==0.29.*",
6370
"mknotebooks==0.8.*",
6471
"pytest>=5.3.2",
6572
"pytest-runner>=5.1",
@@ -79,7 +86,7 @@ Homepage = "https://github.com/pytorch-tabular/pytorch_tabular"
7986

8087

8188
[build-system]
82-
requires = ["setuptools>=61.0", "wheel"]
89+
requires = ["setuptools>=78.1.1", "wheel"]
8390
build-backend = "setuptools.build_meta"
8491

8592

@@ -94,8 +101,10 @@ include = ["pytorch_tabular", "pytorch_tabular.*"]
94101

95102

96103
[tool.ruff]
97-
target-version = "py38"
98-
line-length = 120
104+
target-version = "py310"
105+
line-length = 88
106+
107+
[tool.ruff.lint]
99108
# Enable Pyflakes `E` and `F` codes by default.
100109
select = [
101110
"E", "W", # see: https://pypi.org/project/pycodestyle
@@ -135,8 +144,8 @@ ignore-init-module-imports = true
135144
"__init__.py" = ["D100"]
136145

137146
[tool.ruff.pydocstyle]
138-
# Use Google-style docstrings.
139-
convention = "google"
147+
# Use numpy-style docstrings.
148+
convention = "numpy"
140149

141150
[tool.docformatter]
142151
recursive = true

0 commit comments

Comments
 (0)