Skip to content

Commit 770321d

Browse files
committed
Update pyproject.toml
- pyproject.toml is made PEP 517 / 518 / 621–compliant, which makes it easy to inherit dependencies - it is more tool-agnostic (no poetry required & facilitates uv packaging). - Python versions 3.10 up to 3.12 - tensorflow installation is restricted to python < 3.12 for windows
1 parent cbc23ed commit 770321d

2 files changed

Lines changed: 70 additions & 51 deletions

File tree

pyproject.toml

Lines changed: 70 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,90 @@
1-
[tool.poetry]
1+
[build-system]
2+
requires = ["setuptools>=61.0", "wheel"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
26
name = "deeplabcut-live"
37
version = "1.1.0"
48
description = "Class to load exported DeepLabCut networks and perform pose estimation on single frames (from a camera feed)"
5-
authors = ["A. & M. Mathis Labs <admin@deeplabcut.org>"]
6-
license = "AGPL-3.0-or-later"
79
readme = "README.md"
8-
homepage = "https://github.com/DeepLabCut/DeepLabCut-live"
9-
repository = "https://github.com/DeepLabCut/DeepLabCut-live"
10+
requires-python = ">=3.10,<=3.12"
11+
license = { text = "GNU Affero General Public License v3 or later (AGPLv3+)" }
12+
authors = [
13+
{ name = "A. & M. Mathis Labs", email = "admin@deeplabcut.org" }
14+
]
15+
16+
keywords = ["deeplabcut", "pose-estimation", "real-time", "deep-learning"]
17+
1018
classifiers = [
1119
"Programming Language :: Python :: 3",
1220
"Programming Language :: Python :: 3.10",
1321
"Programming Language :: Python :: 3.11",
22+
"Programming Language :: Python :: 3.12",
1423
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
15-
"Operating System :: OS Independent"
24+
"Operating System :: OS Independent",
25+
]
26+
27+
dependencies = [
28+
"numpy>=1.20,<2",
29+
"ruamel.yaml>=0.17.20",
30+
"colorcet>=3.0.0",
31+
"einops>=0.6.1",
32+
"Pillow>=8.0.0",
33+
"py-cpuinfo>=5.0.0",
34+
"tqdm>=4.62.3",
35+
"pandas>=1.0.1,!=1.5.0",
36+
"tables>=3.8",
37+
"opencv-python-headless>=4.5",
38+
"dlclibrary>=0.0.6",
39+
"scipy>=1.9",
40+
]
41+
42+
[project.optional-dependencies]
43+
pytorch = [
44+
"timm>=1.0.7",
45+
"torch>=2.0.0",
46+
"torchvision>=0.15",
1647
]
48+
49+
tf = [
50+
"tensorflow>=2.7.0,<2.12; platform_system == 'Linux' and python_version < '3.11'",
51+
"tensorflow>=2.12.0,<2.13; platform_system == 'Linux' and python_version >= '3.11'",
52+
"tensorflow-macos>=2.7.0,<2.12; platform_system == 'Darwin' and python_version < '3.11'",
53+
"tensorflow-macos>=2.12.0,<2.13; platform_system == 'Darwin' and python_version >= '3.11'",
54+
"tensorflow-io-gcs-filesystem; platform_system != 'Darwin'",
55+
# Tensorflow is not supported on Windows with Python >= 3.11
56+
"tensorflow>=2.7,<=2.10; platform_system == 'Windows' and python_version < '3.11'",
57+
"tensorflow-io-gcs-filesystem==0.27; platform_system == 'Windows' and python_version < '3.11'",
58+
"tensorflow-io-gcs-filesystem; platform_system != 'Windows'",
59+
]
60+
61+
[dependency-groups]
62+
dev = [
63+
"pytest",
64+
"black",
65+
"ruff",
66+
]
67+
68+
# Keep only for backward compatibility with Poetry
69+
# (without this section, Poetry assumes the wrong root directory of the project)
70+
[tool.poetry]
1771
packages = [
1872
{ include = "dlclive" }
1973
]
20-
include = ["dlclive/check_install/*"]
2174

22-
[tool.poetry.scripts]
75+
[project.scripts]
2376
dlc-live-test = "dlclive.check_install.check_install:main"
2477
dlc-live-benchmark = "dlclive.benchmark:main"
2578

26-
[tool.poetry.dependencies]
27-
python = ">=3.10,<3.12"
28-
numpy = ">=1.26,<2.0"
29-
"ruamel.yaml" = "^0.17.20"
30-
colorcet = "^3.0.0"
31-
einops = ">=0.6.1"
32-
Pillow = ">=8.0.0"
33-
opencv-python-headless = ">=4.5.0,<5.0.0"
34-
py-cpuinfo = ">=5.0.0"
35-
tqdm = "^4.62.3"
36-
pandas = ">=1.0.1,!=1.5.0"
37-
tables = "^3.8"
38-
pytest = "^8.0"
39-
dlclibrary = ">=0.0.6"
79+
[project.urls]
80+
Homepage = "https://github.com/DeepLabCut/DeepLabCut-live"
81+
Repository = "https://github.com/DeepLabCut/DeepLabCut-live"
4082

41-
# PyTorch models
42-
scipy = ">=1.9"
43-
timm = { version = ">=1.0.7", optional = true }
44-
torch = { version = ">=2.0.0", optional = true }
45-
torchvision = { version = ">=0.15", optional = true }
46-
# TensorFlow models
47-
tensorflow = [
48-
{ version = "^2.7.0,<=2.10", optional = true, platform = "win32" },
49-
{ version = "^2.7.0,<=2.12", optional = true, platform = "linux" },
50-
]
51-
tensorflow-macos = { version = "^2.7.0,<=2.12", optional = true, markers = "sys_platform == 'darwin'" }
52-
tensorflow-io-gcs-filesystem = [
53-
{ version = "==0.27", optional = true, platform = "win32", python = ">=3.10,<3.11" },
54-
{ version = "*", optional = true, platform = "linux" },
55-
{ version = "*", optional = true, markers = "sys_platform == 'darwin'" }
56-
]
83+
[tool.setuptools]
84+
include-package-data = true
5785

58-
[tool.poetry.extras]
59-
tf = [ "tensorflow", "tensorflow-macos", "tensorflow-io-gcs-filesystem"]
60-
pytorch = ["scipy", "timm", "torch", "torchvision"]
86+
[tool.setuptools.packages.find]
87+
include = ["dlclive*"]
6188

62-
[tool.poetry.group.dev.dependencies]
63-
64-
[build-system]
65-
requires = ["poetry-core>=1.0.0"]
66-
build-backend = "poetry.core.masonry.api"
89+
[tool.setuptools.package-data]
90+
dlclive = ["check_install/*"]

reinstall.sh

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)