-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
88 lines (82 loc) · 2.3 KB
/
pyproject.toml
File metadata and controls
88 lines (82 loc) · 2.3 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
[build-system]
requires = ["setuptools>=69", "wheel", "build"]
build-backend = "setuptools.build_meta"
[project]
name = "spot-nmf"
version = "0.1.1"
description = "Optimal Transport-based Matrix Factorization for spatial transcriptomics deconvolution."
readme = "README.md"
requires-python = ">=3.12"
license = { file = "LICENSE" }
authors = [
{ name = "Aly O. Abdelkareem" },
{ name = "Morrissy Lab" }
]
keywords = ["spatial transcriptomics", "single-cell", "omics", "optimal transport", "NMF"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Scientific/Engineering :: Bio-Informatics"
]
# ---- Core runtime dependencies (important ones only) ----
# Torch is intentionally excluded; users install it per platform (CPU/CUDA).
dependencies = [
"numpy==1.26.4",
"scipy==1.16.2",
"pandas==2.3.3",
"scikit-learn==1.7.2",
"matplotlib>=3.7,<3.11",
"seaborn>=0.12", # used by plotting (keep light)
"anndata==0.9.2",
"scanpy==1.9.3",
"igraph>=0.10", # aka python-igraph on PyPI as 'igraph'
"leidenalg>=0.10",
"networkx>=3.1",
"umap-learn>=0.5.4",
"pynndescent>=0.5",
"statsmodels>=0.14",
"pygam>=0.9",
"natsort>=8.4",
"tqdm>=4.65",
"progressbar2>=4.4",
"session-info>=1.0",
"distinctipy>=1.3.4",
"rbo==0.1.3",
"fastcluster==1.2.6",
"adjustText>=0.8",
"texttable>=1.7",
"requests>=2.31",
"charset-normalizer>=3.3",
"idna>=3.4",
"urllib3>=2.0",
"gprofiler-official==1.0.0"
]
[project.optional-dependencies]
# Let users opt into these.
dev = [
"pytest>=7.4",
]
docs = [
"mkdocs>=1.5",
"mkdocs-material>=9.5",
"mkdocstrings[python]>=0.24",
]
# Users who want PyTorch can choose their own build (CPU/CUDA).
torch = [
"torch", "torchvision", "torchaudio"
]
[project.urls]
Homepage = "https://github.com/MorrissyLab/spOT-NMF"
Issues = "https://github.com/MorrissyLab/spOT-NMF/issues"
Source = "https://github.com/MorrissyLab/spOT-NMF"
# Console entry point
[project.scripts]
spotnmf = "spotnmf.cli:main"
# Packaging config (flat layout)
[tool.setuptools]
packages = ["spotnmf"]
include-package-data = true
zip-safe = false