-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
102 lines (95 loc) · 3.05 KB
/
Copy pathpyproject.toml
File metadata and controls
102 lines (95 loc) · 3.05 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
[build-system]
requires = ["setuptools>=64", "setuptools-scm>=8"]
build-backend = "setuptools.build_meta"
[project]
name = "fiddy"
description = "Finite difference methods"
readme = "README.md"
dynamic = ["version"]
license = "BSD-3-Clause"
license-files = ["LICENSE"]
authors = [
{ name = "The fiddy developers", email = "dilan.pathirana@uni-bonn.de" }
]
keywords = ["finite difference", "gradient check", "difference quotient"]
classifiers = [
"Development Status :: 4 - Beta",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dependencies = [
# 1.4.2 (2024-05-02): latest stable release from around the same time
# as this project's numpy/Python floor (no numpy dependency of its
# own, and no Python 3.12-specific compatibility fixes needed --
# joblib's own `requires_python` floor is far below 3.12 at every
# release checked).
"joblib>=1.4.2",
"numpy>=2.2",
# 2.2.2 (2024-04-10): earlier 2.2.x releases pin `numpy<2`; this is
# the first pandas release actually compatible with numpy>=2.2.
"pandas>=2.2.2",
]
requires-python = ">=3.12"
[project.urls]
Homepage = "https://github.com/icb-dcm/fiddy"
Documentation = "https://fiddy.readthedocs.io"
Repository = "https://github.com/icb-dcm/fiddy"
"Bug Tracker" = "https://github.com/icb-dcm/fiddy/issues"
[project.optional-dependencies]
doc = [
"ipython",
"nbconvert",
"nbsphinx",
# >=9.1: required by sphinx-autodoc-typehints>=3.
"sphinx>=9.1",
"sphinx_rtd_theme",
# >=3: the first release clean of a `RemovedInSphinx10Warning` on
# Sphinx>=9 (verified directly); also the release that added
# Sphinx>=9.1 support at all.
"sphinx-autodoc-typehints>=3",
"sphinxcontrib-bibtex",
]
examples = ["notebook", "scipy", "matplotlib"]
tests = ["pytest", "scipy", "matplotlib"]
dev = ["pre-commit", "tox"]
# Optional, informational-only comparison baselines for `benchmarks/`
# (accuracy-per-evaluation vs. numdifftools/scipy.differentiate) -- not a
# runtime dependency of fiddy's own engine. scipy>=1.15 for
# `scipy.differentiate`, added in that release.
benchmark = ["numdifftools", "scipy>=1.15"]
all = ["fiddy[examples]", "fiddy[tests]", "fiddy[benchmark]"]
[tool.setuptools.packages.find]
include = ["fiddy*"]
[tool.setuptools_scm]
[tool.ruff]
line-length = 79
lint.select = [
"F", # Pyflakes
"I", # isort
# "D", # pydocstyle (PEP 257) FIXME enable later
"S", # flake8-bandit
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"T20", # flake8-print
"W", # pycodestyle Warnings
"E", # pycodestyle Errors
"UP", # pyupgrade
# "ANN", # flakes-annotations
]
lint.ignore = [
"S101", # Use of assert detected
# FIXME
"E501", # Line too long
"T201", # print statement
"F403", # star import
"F401", # unused import
]
[tool.ruff.lint.pydocstyle]
convention = "pep257"
[tool.pytest.ini_options]
filterwarnings = [
"error",
]