1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
[build-system]
requires = ['setuptools>=77', 'setuptools_scm[toml]>=6.0']
build-backend = 'setuptools.build_meta'
[project]
name = 'mpmath'
description = 'Python library for arbitrary-precision floating-point arithmetic'
authors = [{name = 'Fredrik Johansson', email = 'fredrik.johansson@gmail.com'}]
license = 'BSD-3-Clause'
classifiers = ['Topic :: Scientific/Engineering :: Mathematics',
'Topic :: Software Development :: Libraries :: Python Modules',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3 :: Only',
'Programming Language :: Python :: 3.9',
'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 :: Free Threading :: 2 - Beta',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy']
dynamic = ['version']
requires-python = '>=3.9'
readme = 'README.rst'
[project.urls]
Homepage = 'https://mpmath.org/'
'Source Code' = 'https://github.com/mpmath/mpmath'
'Bug Tracker' = 'https://github.com/mpmath/mpmath/issues'
Documentation = 'http://mpmath.org/doc/current/'
[project.optional-dependencies]
tests = ['pytest>=6', 'numpy', 'packaging', 'pytest-timeout',
'matplotlib', 'pexpect', 'ipython', 'hypothesis']
develop = ['mpmath[tests]', 'flake518>=1.5', 'pytest-cov>=7', 'wheel', 'build']
gmpy2 = ['gmpy2>=2.3']
gmpy = ['mpmath[gmpy2]']
gmp = ['python-gmp>=0.5; python_version>="3.11"',
'python-gmp>=0.4; python_version<"3.11"']
docs = ['sphinx', 'matplotlib', 'sphinxcontrib-autoprogram']
ci = ['pytest-xdist', 'diff_cover']
[tool.setuptools]
zip-safe = true
[tool.setuptools.packages]
find = {namespaces = false}
[tool.flake8]
select = ['E101', 'E111', 'E112', 'E113', 'E501', 'E703', 'E712', 'E713',
'W191', 'W291', 'W292', 'W293', 'W391']
exclude = ['.eggs', '.git']
max_line_length = 200
[tool.setuptools_scm]
[tool.pytest.ini_options]
testpaths = ['mpmath', 'docs']
doctest_optionflags = ['IGNORE_EXCEPTION_DETAIL', 'ELLIPSIS']
addopts = "--durations=20 --doctest-modules --doctest-glob='*.rst'"
norecursedirs = ['docs/plots', 'demo', '.eggs', '.git', '.hypothesis']
filterwarnings = ['error::DeprecationWarning']
xfail_strict = true
timeout = 600
[tool.coverage.run]
branch = true
omit = ['mpmath/tests/*']
patch = ["subprocess"]
[tool.coverage.html]
directory = 'build/coverage/html'
[tool.coverage.report]
exclude_lines = ['pragma: no cover',
'raise NotImplementedError',
'return NotImplemented',
'if __name__ == .__main__.:']
show_missing = true
[tool.isort]
lines_after_imports = 2
atomic = true
|