-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathpyproject.toml
153 lines (135 loc) · 3.51 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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
[project]
name = "rdata"
description = "Read R datasets from Python."
readme = "README.rst"
requires-python = ">=3.9"
license = {file = "LICENSE"}
keywords = [
"rdata",
"r",
"dataset",
]
authors = [
{name = "Carlos Ramos Carreño"},
{name = "Tuomas Rossi"},
]
maintainers = [
{name = "Carlos Ramos Carreño", email = "[email protected]"},
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: File Formats",
"Topic :: Scientific/Engineering :: Mathematics",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
]
dynamic = ["version"]
dependencies = [
"numpy",
"xarray",
"pandas",
"typing_extensions>4.4",
]
[project.optional-dependencies]
docs = [
"igraph",
"ipywidgets",
"jupyterlite-sphinx",
"jupyterlite-pyodide-kernel",
"matplotlib",
"myst-parser",
"pydata-sphinx-theme",
"sphinx>=3.1",
"sphinx-codeautolink",
"sphinx-gallery",
]
typing = [
"matplotlib>=3.8",
"mypy",
"pandas-stubs",
]
test = [
"pytest",
"pytest-cov",
"numpy>=1.14",
]
[project.urls]
homepage = "https://github.com/vnmabus/rdata"
documentation = "https://rdata.readthedocs.io"
repository = "https://github.com/vnmabus/rdata"
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[tool.isort]
multi_line_output = 3
include_trailing_comma = true
use_parentheses = true
combine_as_imports = true
skip_glob = "**/plot_*.py plot_*.py"
[tool.mypy]
strict = true
strict_equality = true
implicit_reexport = true
[[tool.mypy.overrides]]
module = [
"igraph.*",
"ipywidgets.*",
]
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = "examples.*"
disallow_untyped_defs = false
[tool.pytest.ini_options]
addopts = "--doctest-modules --doctest-glob='*.rst'"
doctest_optionflags = "NORMALIZE_WHITESPACE ELLIPSIS"
norecursedirs = ".* build dist *.egg venv .svn _build docs/auto_examples examples asv_benchmarks"
[tool.coverage.report]
exclude_also = [
"if TYPE_CHECKING:",
]
[tool.ruff.lint]
select = [
"ALL",
]
ignore = [
"ANN101", # self does not need to be typed
"D212", # incompatible with D213, which is our preferred style for multiline docstrings
"Q003", # do not change quotation marks to avoid escaping
"PLC0414", # allow explicit re-exports
"S101", # assert is allowed
"TID252", # relative imports allowed
]
[tool.ruff.lint.per-file-ignores]
"plot_*.py" = [
"ANN", # no type hints in examples
"ARG001", # Some unused args are needed
"B018", # single object expressions are not useless in examples (they display the object)
"D205", # examples do not have a blank line in docstring
"D415", # first line in examples does not end with period
"ERA001", # Commented code may be useful for the reader
"S310", # URLs in examples have been validated
"T201", # print allowed in examples
]
"plot_cran.py" = [
"SIM117", # multiple with necessary for now
]
[tool.ruff.lint.isort]
combine-as-imports = true
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.lint.pylint]
max-args = 7
[tool.setuptools.packages.find]
include = ["rdata*"]
[tool.setuptools.dynamic]
version = {attr = "rdata.__version__"}