[tool.poetry] name = "generic" version = "1.1.1" description = "Generic programming library for Python" authors = [ "Andrey Popp <8mayday@gmail.com>", "Arjan Molenaar " ] maintainers = [ "Arjan Molenaar ", "Dan Yeaw " ] license = "BSD License" readme = "README.md" homepage = "https://generic.readthedocs.io/" repository = "https://github.com/gaphor/generic" documentation = "https://generic.readthedocs.io/" keywords = ["generic", "multi dispatch", "dispatch", "event"] classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: BSD License", "Programming Language :: Python", ] [tool.poetry.dependencies] python = "^3.8" exceptiongroup = "^1.0.0-rc.5" [tool.poetry.dev-dependencies] pytest = "^7.2" pytest-cov = "^4.0" pytest-runner = "^6.0" black = { version = "^22.10", python = "^3.7" } mypy = "0.991" pre-commit = "^2.20" bw_sphinxtheme = "^0.1.8" tox = "^3.27" [tool.tox] legacy_tox_ini = """ [tox] isolated_build = true envlist = clean, py38, py39, py310, py311, report [gh-actions] python = 3.8: py38 3.9: py39 3.10: py310 3.11: py311 [testenv] commands = pytest --cov --cov-append --cov-report=term-missing {posargs} deps = pytest pytest-cov depends = {py38,py39,py310,py311}: clean report: py38,py39,py310,py311 [testenv:report] deps = coverage[toml] skip_install = true commands = coverage report coverage html [testenv:clean] deps = coverage[toml] skip_install = true commands = coverage erase """ [tool.pytest.ini_options] testpaths = [ "tests", "docs", ] addopts = [ "--doctest-modules", "--doctest-glob='*.rst'", "--import-mode=importlib", ] [tool.isort] multi_line_output = 3 include_trailing_comma = true force_grid_wrap = 0 use_parentheses = true line_length = 88 known_third_party = ["pytest"] skip = ".venv,build,dist" [tool.coverage.run] source = ["generic"] [tool.mypy] python_version = 3.9 warn_return_any = true warn_unused_configs = true warn_redundant_casts = true check_untyped_defs = true strict_optional = true show_error_codes = true ignore_missing_imports=true warn_unused_ignores = true namespace_packages = true [[tool.mypy.overrides]] module = [ "pytest.*", "conf", ] ignore_missing_imports = true warn_unreachable = true [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api"