[build-system] requires = [ "setuptools>=61.2", "setuptools-scm[toml]>=6.2.3", ] build-backend = "setuptools.build_meta" [project] name = "pytest-xdist" description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" readme = "README.rst" license = {file="LICENSE"} authors = [{name = "holger krekel and contributors", email = "pytest-dev@python.org"}, {email = "holger@merlinux.eu"}] classifiers = [ "Development Status :: 5 - Production/Stable", "Framework :: Pytest", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Operating System :: Microsoft :: Windows", "Operating System :: MacOS :: MacOS X", "Topic :: Software Development :: Testing", "Topic :: Software Development :: Quality Assurance", "Topic :: Utilities", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ] requires-python = ">=3.7" dependencies = [ "execnet>=1.1", "pytest>=6.2.0", ] dynamic = ["version"] [project.urls] Homepage = "https://github.com/pytest-dev/pytest-xdist" Documentation = "https://pytest-xdist.readthedocs.io/en/latest" Changelog = "https://pytest-xdist.readthedocs.io/en/latest/changelog.html" Source = "https://github.com/pytest-dev/pytest-xdist" Tracker = "https://github.com/pytest-dev/pytest-xdist/issues" [project.entry-points.pytest11] xdist = "xdist.plugin" "xdist.looponfail" = "xdist.looponfail" [project.optional-dependencies] testing = ["filelock"] psutil = ["psutil>=3.0"] setproctitle = ["setproctitle"] [tool.setuptools] zip-safe = false platforms = [ "linux", "osx", "win32", ] include-package-data = false [tool.setuptools_scm] write_to = "src/xdist/_version.py" [tool.flake8] # Ignore any errors related to formatting, let black worry/fix them. ignore = ["E501", "W503", "E203"] max-line-length = 100 [tool.mypy] mypy_path = ["src"] # TODO: Enable this & fix errors. # check_untyped_defs = true disallow_any_generics = true ignore_missing_imports = true no_implicit_optional = true show_error_codes = true strict_equality = true warn_redundant_casts = true warn_return_any = true warn_unreachable = true warn_unused_configs = true # TODO: Enable this & fix errors. # no_implicit_reexport = true [tool.towncrier] package = "xdist" filename = "CHANGELOG.rst" directory = "changelog/" title_format = "pytest-xdist {version} ({project_date})" template = "changelog/_template.rst" [tool.towncrier.fragment.removal] name = "Removals" [tool.towncrier.fragment.deprecation] name = "Deprecations" [tool.towncrier.fragment.feature] name = "Features" [tool.towncrier.fragment.bugfix] name = "Bug Fixes" [tool.towncrier.fragment.vendor] name = "Vendored Libraries" [tool.towncrier.fragment.doc] name = "Improved Documentation" [tool.towncrier.fragment.trivial] name = "Trivial Changes"