-
Notifications
You must be signed in to change notification settings - Fork 59
Expand file tree
/
Copy pathpyproject.toml
More file actions
92 lines (85 loc) · 3.37 KB
/
Copy pathpyproject.toml
File metadata and controls
92 lines (85 loc) · 3.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
[project]
name = "nnInteractive"
version = "2.6.0"
requires-python = ">=3.10"
description = "Inference code for nnInteractive"
readme = "readme.md"
license = { file = "LICENSE" }
authors = [
{ name = "Fabian Isensee", email = "f.isensee@dkfz-heidelberg.de"},
{ name = "Helmholtz Imaging Applied Computer Vision Lab" }
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Intended Audience :: Healthcare Industry",
"Programming Language :: Python :: 3",
"License :: OSI Approved :: Apache Software License",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Scientific/Engineering :: Image Recognition",
"Topic :: Scientific/Engineering :: Medical Science Apps.",
]
keywords = [
'deep learning',
'image segmentation',
'semantic segmentation',
'medical image analysis',
'medical image segmentation',
'nnU-Net',
'nnunet'
]
dependencies = [
# Full install: the in-process inference engine AND the official server, on top
# of the complete torch / nnU-Net stack. It depends on `nninteractive-client`,
# which provides the torch-free remote client (`nnInteractive.inference.remote`)
# and the shared wire protocol/serialization; the two share the `nnInteractive`
# namespace via PEP 420 namespace packages.
#
# If you ONLY need to drive a remote server, install the lightweight client
# instead and skip torch entirely:
# pip install nninteractive-client
"nninteractive-client==2.6.0", # torch-free remote client + shared wire protocol (numpy/httpx/blosc2). Pinned in lockstep — bump together with this package's version.
"nnunetv2>=2.7.0",
"torch>=2.1.2,!=2.9.*",
"acvl-utils>=0.2.3,<0.3", # 0.3 may bring breaking changes. Careful!
"batchgenerators>=0.25.1",
"fastapi>=0.110",
"uvicorn[standard]>=0.27",
"blosc2", # used directly by the local engine (point.py, crop.py, inference_session, server)
"huggingface_hub", # model manifest discovery + checkpoint downloads (model_management)
"numpy",
]
[project.urls]
homepage = "https://github.com/MIC-DKFZ/nnInteractive"
[project.optional-dependencies]
dev = [
"black",
"ruff",
"pre-commit"
]
[project.scripts]
nninteractive-server = "nnInteractive.inference.server.main:main"
nninteractive-available-models = "nnInteractive.model_management:available_models_cli"
nninteractive-download-model = "nnInteractive.model_management:download_model_cli"
[build-system]
requires = ["setuptools>=67.8.0"]
build-backend = "setuptools.build_meta"
[tool.black]
# Keep in sync with .pre-commit-config.yaml (black is run there with --line-length 120).
# Without this, a bare `black nnInteractive/` uses black's default line length (88) and would
# reformat the whole codebase.
line-length = 120
[tool.codespell]
skip = '.git,*.pdf,*.svg'
#
# ignore-words-list = ''
[tool.setuptools.packages.find]
where = ["."]
include = ["nnInteractive*"]
# `nnInteractive` and `nnInteractive.inference` are PEP 420 namespace packages
# (no __init__.py) shared with the nninteractive-client distribution, so namespace
# discovery is required. Exclude the client-owned remote subtree (shipped by
# nninteractive-client) and the separately-packaged supervoxel module.
namespaces = true
exclude = ["nnInteractive.inference.remote*", "nnInteractive.supervoxel*"]