[build-system]
requires = ["maturin>=1.5,<2.0"]
build-backend = "maturin"
[project]
name = "cygv"
requires-python = ">=3.10"
readme = "README.md"
authors = [
{name = "Andres Rios Tascon"}
]
license = "GPL-3.0-or-later"
license-files = ["LICENSE"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: Rust",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Mathematics",
"Topic :: Scientific/Engineering :: Physics",
]
dynamic = ["version"]
dependencies = [
"mpmath",
"numpy",
]
[project.optional-dependencies]
tests = [
"pytest",
]
[project.urls]
Repository = "https://github.com/ariostas/cygv"
[tool.maturin]
python-source = "python"
features = ["pyo3/extension-module"]
[tool.pytest.ini_options]
minversion = "7.0"
addopts = ["-ra", "--showlocals", "--strict-markers", "--strict-config"]
xfail_strict = true
filterwarnings = ["error"]
log_cli_level = "info"
testpaths = [
"python/tests",
]
[tool.ruff]
src = ["python"]
[tool.ruff.lint]
extend-select = [
"B",
"I",
"ARG",
"C4",
"EM",
"ICN",
"G",
"PGH",
"PIE",
"PL",
"PT",
"PTH",
"RET",
"RUF",
"SIM",
"T20",
"UP",
"YTT",
"EXE",
"NPY",
"PD",
"FURB",
"PYI",
]
ignore = [
"PLR09",
"PLR2004",
"ISC001",
]
typing-modules = ["mypackage._compat.typing"]
isort.required-imports = ["from __future__ import annotations"]
[tool.ruff.lint.per-file-ignores]
"python/tests/**" = ["T20"]
[tool.mypy]
files = "python"
python_version = "3.9"
strict = true
enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"]
warn_unreachable = true
ignore_missing_imports = true