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}"'
|