File: pyproject.toml

package info (click to toggle)
io4dolfinx 1.1.2-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 832 kB
  • sloc: python: 8,419; sh: 29; makefile: 3
file content (108 lines) | stat: -rw-r--r-- 2,335 bytes parent folder | download | duplicates (3)
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
[build-system] # Require setuptool version due to https://github.com/pypa/setuptools/issues/2938
requires = ["setuptools>=61.0.0", "wheel"]

[project]
name = "io4dolfinx"
version = "1.1.2"
description = "Checkpointing functionality for DOLFINx meshes/functions with ADIOS2"
authors = [
    { name = "Jørgen S. Dokken", email = "dokken@simula.no" }, 
    { name = "Henrik N.T. Finsberg", email = "henriknf@simula.no" }
]
license = { file = "LICENSE" }
readme = "README.md"
dependencies = ["fenics-dolfinx>=0.10.0", "packaging"]

[project.optional-dependencies]
test = [
    "pytest", 
    "coverage", 
    "ipyparallel", 
    "io4dolfinx[h5py]", 
    "io4dolfinx[pyvista]", 
    "io4dolfinx[xdmf]"
]
dev = ["pdbpp", "ipython", "mypy", "ruff"]
h5py = ["h5py"]
pyvista = ["pyvista"]
xdmf = ["h5py"]
exodus = ["netcdf4"]
docs = [
    "jupyter-book<2.0.0",
    "ipyparallel",
    "ipywidgets",
    "jupytext",
    "ipykernel<7.0.0",     # Note: Remove once https://github.com/ipython/ipykernel/issues/1450 is in a release
    "sphinx-codeautolink",
    "io4dolfinx[h5py]",
    "sphinx_external_toc<1.1.0",
]
all = ["io4dolfinx[test,dev,docs]"]

[tool.pytest.ini_options]
addopts = ["--import-mode=importlib"]
testpaths = ["tests"]

[tool.mypy]
ignore_missing_imports = true
# Folders to exclude
exclude = ["docs/", "build/"]
# Folder to check with mypy
files = ["src", "tests"]

[tool.ruff]
src = ["src", "tests", "docs"]
line-length = 100
indent-width = 4

[tool.ruff.lint]
select = [
    # Pyflakes
    "F",
    # Pycodestyle
    "E",
    "W",
    # isort
    "I001",
]


[tool.ruff.lint.isort]
known-first-party = ["io4dolfinx"]
known-third-party = [
    "basix",
    "dolfinx",
    "ffcx",
    "ufl",
    "gmsh",
    "numpy",
    "pytest",
]
section-order = [
    "future",
    "standard-library",
    "mpi",
    "third-party",
    "first-party",
    "local-folder",
]

[tool.ruff.lint.isort.sections]
"mpi" = ["mpi4py", "petsc4py"]


[tool.bumpversion]
allow_dirty = false
commit = true
message = "Bump version: {current_version} → {new_version}"
tag = true
sign_tags = false
tag_name = "v{new_version}"
tag_message = "Bump version: {current_version} → {new_version}"
current_version = "1.1.2"


[[tool.bumpversion.files]]
filename = "pyproject.toml"
search = 'version = "{current_version}"'
replace = 'version = "{new_version}"'