[build-system] build-backend = "setuptools.build_meta" requires = [ "setuptools>=63", ] [project] name = "grudge" version = "2021.1" description = "Discretize discontinuous Galerkin operators quickly on heterogeneous hardware" readme = "README.rst" license = { text = "MIT" } authors = [ { name = "Andreas Kloeckner", email = "inform@tiker.net" }, ] requires-python = ">=3.8" classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Other Audience", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Visualization", "Topic :: Software Development :: Libraries", "Topic :: Utilities", ] dependencies = [ "arraycontext>=2021.1", "immutables>=0.19", "loopy>=2024.1", "meshmode>=2021.2", "modepy>=2021.1", "pymbolic>=2022.2", "pyopencl>=2022.1", "pytools>=2024.1.3", ] [project.optional-dependencies] all = [ "dagrt>=2021.1", "leap>=2021.1", "meshpy>=2022.1", "mpi4py", "pymetis>=2023.1", "pytato>=2021.1", "pyvisfile>=2022.1", ] doc = [ "furo", "sphinx-copybutton", "sphinx>=4", ] test = [ "mypy", "pytest", "ruff" ] [project.urls] Documentation = "https://documen.tician.de/grudge" Homepage = "https://github.com/inducer/grudge" [tool.setuptools.packages.find] include = [ "grudge*", ] [tool.pytest.ini_options] markers = [ "mpi: mark a test using MPI", ] [tool.ruff] preview = true [tool.ruff.lint] extend-select = [ "B", # flake8-bugbear "C", # flake8-comprehensions "E", # pycodestyle "F", # pyflakes "G", # flake8-logging-format "I", # flake8-isort "N", # pep8-naming "NPY", # numpy "Q", # flake8-quotes "RUF", # ruff "UP", # pyupgrade "W", # pycodestyle ] extend-ignore = [ "C90", # McCabe complexity "E221", # multiple spaces before operator "E226", # missing whitespace around arithmetic operator "E241", # multiple spaces after comma "E242", # tab after comma "E402", # module level import not at the top of file ] [tool.ruff.lint.flake8-quotes] docstring-quotes = "double" inline-quotes = "double" multiline-quotes = "double" [tool.ruff.lint.isort] combine-as-imports = true known-first-party = [ "pytools", "pymbolic", "meshmode", "modepy", "pyopencl", "loopy", "arraycontext", ] known-local-folder = [ "grudge", ] lines-after-imports = 2 [tool.mypy] warn_unused_ignores = true