-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathpyproject.toml
120 lines (106 loc) · 2.94 KB
/
pyproject.toml
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
[build-system]
requires = ["setuptools>=45", "wheel", "setuptools_scm[toml]>=6.0"]
build-backend = "setuptools.build_meta"
[project]
name = "ktplotspy"
dynamic = ["version"]
description = "Python library for plotting Cellphonedb results. Ported from ktplots R package."
authors = [
{ name = "Kelvin Tuong", email = "[email protected]" },
]
license = { file = "LICENSE" }
classifiers = [
"License :: OSI Approved :: MIT License",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3",
]
keywords = [
"cellphonedb",
"cpdb",
"plot_cpdb",
"ktplots",
"ligand-receptor",
"interaction",
]
readme = { file = "README.rst", content-type = "text/x-rst" }
requires-python = ">=3.10"
dependencies = [
"pandas>=1.5,<3.0",
"numpy<=2.2.2",
"plotnine>=0.13.0",
"seaborn>=0.12,<0.14",
"requests>=2.28.0",
"pycirclize>=1.7.2",
]
[project.urls]
homepage = "https://github.com/zktuong/ktplotspy"
repository = "https://github.com/zktuong/ktplotspy"
[project.optional-dependencies]
test = ["anndata>=0.7.6,<0.11.4", "black", "pytest-cov"]
docs = [
"scanpy",
"ipykernel",
"sphinx<9",
"nbsphinx<=0.9.6",
"sphinx-autodoc-typehints<=3.0.1",
"sphinx_rtd_theme<=3.0.2",
"readthedocs-sphinx-ext<=2.2.5",
"recommonmark<=0.7.1",
]
[tool.pytest.ini_options]
filterwarnings = [
"ignore::DeprecationWarning",
"ignore::plotnine.exceptions.PlotnineWarning",
]
testpaths = ["tests"]
addopts = "--cov src/ktplotspy --cov-report=xml"
[tool.interrogate]
ignore-init-method = true
ignore-init-module = true
ignore-magic = true
ignore-semiprivate = false
ignore-private = false
ignore-property-decorators = false
ignore-module = true
fail-under = 100.0
ignore-regex = ["^get$", "^mock_.*", ".*BaseClass.*"]
verbose = 1
quiet = false
whitelist-regex = []
color = true
exclude = ["test", "docs"]
[tool.black]
line-length = 140
include = '\.pyi?$'
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools]
include-package-data = false
[tool.setuptools_scm]
version_scheme = "guess-next-dev"
local_scheme = "dirty-tag"
[tool.pixi.project]
channels = ["conda-forge"]
platforms = ["osx-arm64", "linux-64", "win-64"]
[tool.pixi.pypi-dependencies]
ktplotspy = { path = ".", editable = true }
[tool.pixi.environments]
default = ["py310"]
docs = { features = ["py312", "docs"], solve-group = "py312" }
test = { features = ["py312", "test"], solve-group = "py312" }
py310 = ["py310", "docs", "test"]
py311 = ["py311", "docs", "test"]
py312 = ["py312", "docs", "test"]
# py313 = ["py313", "docs", "test"] # until biopython is updated to >=1.85 on pypi
[tool.pixi.tasks]
test = "pytest"
coverage = "coverage report"
[tool.pixi.feature.py310.dependencies]
python = "~=3.10.0"
[tool.pixi.feature.py311.dependencies]
python = "~=3.11.0"
[tool.pixi.feature.py312.dependencies]
python = "~=3.12.0"
# [tool.pixi.feature.py313.dependencies]
# python = "~=3.13.0"