content: [tool.poetry]
  name = "Benchmark Functions"
  version = "3.4.0"
  description = "A high-performant C++ implementation of benchmark functions for mathematical optimization algorithms."
  authors = ["Mazhar Ansari Ardeh"]
  
  
  [tool.poetry.group.dev.dependencies]
  matplotlib = "^3.10.1"
  ipython = "^9.2.0"
  
  [build-system]
  requires = ["scikit-build-core>=0.10", "pybind11<=2.10.4"]
  build-backend = "scikit_build_core.build"
  
  
  
  [project]
  name = "benchmarkfcns"
  version = "3.4.0"
  description="A high-performant C++ implementation of benchmark functions for mathematical optimization algorithms."
  readme = "README.md"
  authors = [
    { name = "Mazhar Ansari Ardeh", email = "mazhar.ansari.ardeh@gmail.com" },
  ]
  
  requires-python = ">=3.10"
  
  classifiers = [
    "Development Status :: 4 - Beta",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
  ]
  
  dependencies = [
    "numpy >= 1.26, <2"
    ]
  
  
  [project.optional-dependencies]
  test = ["pytest"]
  [tool.pytest]
    filterwarnings = "ignore"
  
  [tool.poetry.dependencies]
  python = "^3.11"
  
  [tool.scikit-build]
  wheel.expand-macos-universal-tags = true
  minimum-version = "0.10"
  wheel.packages = ["src/python/benchmarkfcns"]
  
  [tool.pytest.ini_options]
  minversion = "6.0"
  addopts = ["-ra", "--showlocals", "--strict-markers", "--strict-config"]
  xfail_strict = true
  log_cli_level = "INFO"
  filterwarnings = [
    "error",
  ]
  testpaths = ["src/tests"]
  
  
  [tool.cibuildwheel]
  test-command = "pytest {project}/src/tests"
  test-extras = ["test"]
  test-skip = ["*universal2:arm64"]
  build-verbosity = 1
  
  
  [tool.ruff]
  src = ["src"]
  
  [tool.ruff.lint]
  extend-select = [
    "B",           # flake8-bugbear
    "I",           # isort
    "ARG",         # flake8-unused-arguments
    "C4",          # flake8-comprehensions
    "EM",          # flake8-errmsg
    "ICN",         # flake8-import-conventions
    "G",           # flake8-logging-format
    "PGH",         # pygrep-hooks
    "PIE",         # flake8-pie
    "PL",          # pylint
    "PT",          # flake8-pytest-style
    "PTH",         # flake8-use-pathlib
    "RET",         # flake8-return
    "RUF",         # Ruff-specific
    "SIM",         # flake8-simplify
    "T20",         # flake8-print
    "UP",          # pyupgrade
    "YTT",         # flake8-2020
    "EXE",         # flake8-executable
    "NPY",         # NumPy specific rules
    "PD",          # pandas-vet
  ]
  ignore = [
    "PLR09",    # Too many X
    "PLR2004",  # Magic comparison
  ]
  isort.required-imports = ["from __future__ import annotations"]
  
  [tool.ruff.lint.per-file-ignores]
  "tests/**" = ["T20"]
  