-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpyproject.toml
More file actions
129 lines (114 loc) · 3.73 KB
/
pyproject.toml
File metadata and controls
129 lines (114 loc) · 3.73 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
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
[build-system]
build-backend = "setuptools.build_meta"
requires = [
"setuptools >= 77.0.3",
]
[project]
name = "larray-editor"
version = "0.35"
description = "Graphical User Interface for LArray library"
readme = { file = "README.rst", content-type = "text/x-rst" }
authors = [
{name = "Gaetan de Menten", email = "gdementen@gmail.com"},
{name = "Alix Damman", email = "ald@plan.be"},
{name = "Geert Bryon"},
{name = "Yannick Van den Abbeel"},
]
classifiers = [
"Development Status :: 4 - Beta",
"Operating System :: OS Independent",
"Intended Audience :: Science/Research",
"Intended Audience :: Developers",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering",
"Topic :: Software Development :: Libraries",
]
license = "GPL-3.0-only"
license-files = ["LICENSE"]
requires-python = ">=3.9"
dependencies = [
# jedi >=0.18 to workaround incompatibility between jedi <0.18 and
# parso >=0.8 (see #220)
"jedi >=0.18",
# Technically, we should require larray >=0.35 because we need align_arrays
# for compare(), but to make larray-editor releasable, we cannot depend on
# larray X.Y when releasing larray-editor X.Y (see utils.py for more
# details)
# TODO: require 0.35 for next larray-editor version and drop shim in
# utils.pyk
"larray >=0.32",
"matplotlib",
"numpy",
# Pandas is required directly for a silly reason (to support converting
# pandas dataframes to arrays before comparing them). We could make it an
# optional dependency by lazily importing it but since it is also
# indirectly required via larray, it does not really matter.
"pandas",
# we do not actually require PyQt6 but rather either PyQt5, PyQt6 or
# PySide6 but I do not know how to specify this
"PyQt6",
"qtpy"
]
[project.optional-dependencies]
test = ["pytest"]
# for the "Copy to Excel" context-menu action
excel = ["xlwings"]
# (=PyTables) to load the example datasets from larray
hdf5 = ["tables"]
[project.gui-scripts]
larray-editor = "larray_editor.start:main"
[project.urls]
homepage = "https://github.com/larray-project/larray-editor"
repository = "https://github.com/larray-project/larray-editor"
issues = "https://github.com/larray-project/larray-editor/issues"
[tool.setuptools.package-data]
larray_editor = ["images/*"]
[tool.setuptools.packages.find]
where = ["."]
namespaces = false
[tool.pytest.ini_options]
minversion = "6.0"
testpaths = [
"larray_editor"
]
addopts = [
"-v",
"--doctest-modules",
# this test is not automation-friendly
"--ignore=larray_editor/tests/test_api_larray.py",
# this test cannot be run with pytest (must be run from within PyCharm)
"--ignore=larray_editor/tests/run_with_console.py",
# "--cov",
]
filterwarnings = [
# turn warnings into errors (unless they are explicitly handled in tests or ignored here)
"error",
"ignore:Jupyter is migrating its paths to use standard platformdirs.*:DeprecationWarning:jupyter_client.connect.*:",
]
[tool.ruff]
# Exclude a variety of commonly ignored directories.
exclude = [
".eggs",
".git",
".ruff_cache",
".venv",
"__pypackages__",
"build",
"dist",
]
line-length = 120
[tool.ruff.lint]
# Enable Pyflakes `E` and `F` codes by default.
select = ["E", "F"]
ignore = []
# Allow autofix for all enabled rules (when `--fix`) is provided.
# fixable = ["A", "B", "C", "D", "E", "F", "..."]
# unfixable = []
per-file-ignores = {}