pyproject.toml
[build-system]
requires = ["flit_core >=2,<4"]
build-backend = "flit_core.buildapi"
[project]
name = "pypoman"
readme = "README.md"
authors = [
{name = "Stéphane Caron", email = "stephane.caron@normalesup.org"},
]
maintainers = [
{name = "Stéphane Caron", email = "stephane.caron@normalesup.org"},
]
dynamic = ['version', 'description']
requires-python = ">=3.7"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Topic :: Scientific/Engineering :: Mathematics",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
]
dependencies = [
"cvxopt >=1.2.6",
"matplotlib >=3.3.4",
"numpy >=1.15.4",
"pycddlib >=2.1.4",
"scipy >=1.7.0",
]
keywords = ["convex, polyhedron, polyhedra, polytope, projection, duality"]
[project.optional-dependencies]
all = [
"pyclipper >=1.3.0",
"qpsolvers >=3.3.1",
]
[project.urls]
Homepage = "https://github.com/stephane-caron/pypoman"
Documentation = "https://scaron.info/doc/pypoman/"
Source = "https://github.com/stephane-caron/pypoman"
Tracker = "https://github.com/stephane-caron/pypoman/issues"
Changelog = "https://github.com/stephane-caron/pypoman/blob/main/CHANGELOG.md"
[tool.black]
line-length = 79
[tool.coverage]
report.include = ["pypoman/*"]
[tool.ruff]
line-length = 79
[tool.ruff.lint]
select = [
# pyflakes
"F",
# pycodestyle
"E",
"W",
# isort
"I001",
# pydocstyle
"D"
]
ignore = [
"D401", # good for methods but not for class docstrings
"D405", # British-style section names are also "proper"!
]
[tool.ruff.lint.pydocstyle]
convention = "numpy"