Skip to content

Commit

Permalink
Migrate from setup.cfg to pyproject.toml
Browse files Browse the repository at this point in the history
  • Loading branch information
francesco-ballarin committed Nov 1, 2023
1 parent 07eb3fb commit 9992819
Show file tree
Hide file tree
Showing 2 changed files with 165 additions and 155 deletions.
166 changes: 165 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,167 @@
[build-system]
requires = ["setuptools>=58", "wheel"]
requires = ["setuptools>=62", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "RBniCSx"
version = "0.0.dev1"
authors = [
{name = "Francesco Ballarin (and contributors)", email = "[email protected]"},
]
maintainers = [
{name = "Francesco Ballarin", email = "[email protected]"},
]
description = "Reduced order modelling in FEniCSx"
license = {file = "COPYING"}
requires-python = ">=3.7"
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
"Operating System :: POSIX",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS :: MacOS X",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Topic :: Scientific/Engineering :: Mathematics",
"Topic :: Software Development :: Libraries :: Python Modules"
]
dependencies = [
"fenics-dolfinx",
"mpi4py",
"numpy >= 1.21.0",
"petsc4py",
"plum-dispatch",
"slepc4py"
]

[project.urls]
homepage = "https://www.rbnicsproject.org"
repository = "https://github.com/RBniCS/RBniCSx"
issues = "https://github.com/RBniCS/RBniCSx/issues"
funding = "https://github.com/sponsors/francesco-ballarin"

[project.optional-dependencies]
backends = [
"fenics-dolfinx >=0.8.0.dev0, <0.9.0"
"multiphenicsx @ git+https://github.com/multiphenics/multiphenicsx.git"
"ufl4rom @ git+https://github.com/RBniCS/ufl4rom.git"
]
docs = [
"sphinx"
]
lint = [
"flake8",
"flake8-annotations",
"flake8-docstrings",
"flake8-import-restrictions",
"flake8-isort",
"Flake8-pyproject",
"flake8-quotes",
"mypy"
]
tests = [
"coverage[toml]",
"nbqa",
"nbvalx[unit_tests] @ git+https://github.com/multiphenics/nbvalx.git",
"pytest",
"scipy"
]
tutorials = [
"gmsh",
"nbvalx[notebooks] @ git+https://github.com/multiphenics/nbvalx.git",
"rbnicsx[backends]",
"viskex @ git+https://github.com/viskex/viskex.git"
]

[tool.flake8]
max-line-length = 120
show-source = true
docstring-convention = "numpy"
inline-quotes = "double"
imr241_exclude = ["__future__", "rbnicsx", "rbnicsx.*"]
imr245_include = "*"
imr245_exclude = ["__future__", "rbnicsx", "rbnicsx.*"]
ignore = ["ANN101", "W503"]
exclude = [".eggs", "build", "dist"]
per-file-ignores = [
"rbnicsx/__init__.py: I001, I004",
"rbnicsx/**/__init__.py: F401",
"tutorials/0*.py: D100, F401, I004",
"tutorials/1*.py: D100, F401, I004",
"tutorials/**/0*.py: D100, F401, I004",
"tutorials/**/1*.py: D100, F401, I004",
"tutorials/.imports*.py: D100, F401, I004",
"tutorials/**/.imports*.py: D100, F401, I004"
]

[tool.isort]
line_length = 120
multi_line_output = 4
order_by_type = false
combine_as_imports = true

[tool.mypy]
check_untyped_defs = true
disallow_any_unimported = true
disallow_untyped_defs = true
exclude = "(^\\.eggs|^build|^dist|conftest\\.py$)"
implicit_reexport = true
no_implicit_optional = true
pretty = true
show_error_codes = true
strict = true
warn_return_any = true
warn_unused_ignores = true

[[tool.mypy.overrides]]
module = "gmsh"
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = "ipyparallel"
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = "petsc4py"
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = "petsc4py.PETSc"
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = "plotly"
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = "plotly.*"
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = "plum"
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = "slepc4py"
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = "slepc4py.SLEPc"
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = "ufl"
ignore_missing_imports = true

[tool.setuptools.package-data]
viskex = ["py.typed"]

[tool.setuptools.packages.find]
namespaces = false
154 changes: 0 additions & 154 deletions setup.cfg

This file was deleted.

0 comments on commit 9992819

Please sign in to comment.