Skip to content
Snippets Groups Projects
pyproject.toml 2.37 KiB
Newer Older
[build-system]
requires = [
    "cython >= 3.0.2",
Anton Akhmerov's avatar
Anton Akhmerov committed
    "meson >= 1.1.0",
    "meson-python >= 0.15.0",
    "numpy >= 1.23",
    "setuptools_scm",
]
build-backend = "mesonpy"

[project]
description = "Bindings and Python interface for the MUMPS sparse solver"
readme = "README.md"
authors = [
    {name = "Python-MUMPS authors", email = "authors@kwant-project.org"}
]
license = {file = "LICENSE"}
homepage = "https://gitlab.kwant-project.org/kwant/python-mumps"
repository = "https://gitlab.kwant-project.org/kwant/python-mumps"
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Science/Research",
    "Intended Audience :: Developers",
    "Programming Language :: Python :: 3 :: Only",
    "Topic :: Scientific/Engineering",
    "Operating System :: POSIX",
    "Operating System :: Unix",
    "Operating System :: MacOS :: MacOS X",
    "Operating System :: Microsoft :: Windows"
]
requires-python = ">= 3.9"
dependencies = [
    "numpy >= 1.23",
    "scipy >= 1.8",
Anton Akhmerov's avatar
Anton Akhmerov committed
dynamic = ["version"]

[project.urls]
homepage = "https://gitlab.kwant-project.org/kwant/python-mumps"
[tool.ruff.pydocstyle]
convention = "numpy"

[tool.ruff.flake8-quotes]
docstring-quotes = "double"

[tool.black]
line-length = 88

[tool.codespell]
ignore-words-list = "groth,coo"
Anton Akhmerov's avatar
Anton Akhmerov committed

[tool.pixi.project]
channels = ["conda-forge"]
platforms = ["linux-64"]

[tool.pixi.pypi-dependencies]
python-mumps = { path = ".", editable = true }

[tool.pixi.dependencies]
mumps-seq = ">=5.7.3,<6"
scipy = ">=1.14.1,<2"
numpy = ">=2.1.1,<3"
setuptools_scm = ">=8.1.0,<9"
meson-python = ">=0.16.0,<0.17"
compilers = ">=1.7.0,<2"
ninja = ">=1.12.1,<2"
cython = ">=3.0.11,<4"
pytest = ">=8.3.2,<9"
git = "*"

[tool.pixi.feature.publish.dependencies]
uv = ">=0.4.5"
twine = ">=5.1.1"

[tool.pixi.feature.precommit.dependencies]
pre-commit = "*"
git = "*"

[tool.pixi.feature.develop.dependencies]
ipykernel = ">=6.29.0"

Anton Akhmerov's avatar
Anton Akhmerov committed
[tool.pixi.pypi-options]
no-build-isolation = ["python-mumps"]

[tool.pixi.environments]
default = { features = ["develop", "publish", "precommit"],  solve-group = "default" }
Anton Akhmerov's avatar
Anton Akhmerov committed
precommit = { features = ["precommit"], no-default-feature = true }
publish = { features = ["publish"] }

[tool.pixi.tasks]
test = { cmd = "python -P -m pytest --import-mode=importlib --pyargs mumps", clean-env = true }
Anton Akhmerov's avatar
Anton Akhmerov committed

[tool.pixi.feature.precommit.tasks]
check = "pre-commit run --all-files"
pre-commit = "pre-commit"