@@ -5,9 +5,7 @@ description = """
5
5
GraphQL-core is a Python port of GraphQL.js,\
6
6
the JavaScript reference implementation for GraphQL."""
7
7
license = " MIT"
8
- authors = [
9
- " Christoph Zwerschke <[email protected] >"
10
- ]
8
+ authors = [
" Christoph Zwerschke <[email protected] >" ]
11
9
readme = " README.md"
12
10
homepage = " https://github.com/graphql-python/graphql-core"
13
11
repository = " https://github.com/graphql-python/graphql-core"
@@ -28,10 +26,8 @@ packages = [
28
26
{ include = " tests" , format = " sdist" },
29
27
{ include = " docs" , format = " sdist" },
30
28
{ include = ' .bumpversion.cfg' , format = " sdist" },
31
- { include = ' .coveragerc' , format = " sdist" },
32
29
{ include = ' .editorconfig' , format = " sdist" },
33
30
{ include = ' .flake8' , format = " sdist" },
34
- { include = ' .mypy.ini' , format = " sdist" },
35
31
{ include = ' .readthedocs.yaml' , format = " sdist" },
36
32
{ include = ' poetry.lock' , format = " sdist" },
37
33
{ include = ' tox.ini' , format = " sdist" },
@@ -41,10 +37,13 @@ packages = [
41
37
{ include = ' SECURITY.md' , format = " sdist" }
42
38
]
43
39
40
+ [tool .poetry .urls ]
41
+ Changelog = " https://github.com/graphql-python/graphql-core/releases"
42
+
44
43
[tool .poetry .dependencies ]
45
44
python = " ^3.7"
46
45
typing-extensions = [
47
- { version = " ^4.3" , python = " <3.8" },
46
+ { version = " ^4.3" , python = " <3.8" }
48
47
]
49
48
50
49
[tool .poetry .dev-dependencies ]
@@ -63,9 +62,72 @@ check-manifest = ">=0.48,<1"
63
62
bump2version = " >=1.0,<2"
64
63
tox = " ^3.26"
65
64
65
+
66
66
[tool .black ]
67
67
target-version = [' py37' , ' py38' , ' py39' , ' py310' ]
68
68
69
+ [tool .coverage .run ]
70
+ branch = true
71
+ source = [" src" ]
72
+ omit = [
73
+ " */conftest.py" ,
74
+ " */test_*_fuzz.py" ,
75
+ " */assert_valid_name.py" ,
76
+ " */cached_property.py" ,
77
+ " */character_classes.py" ,
78
+ " */is_iterable.py" ,
79
+ " */subscription/__init__.py"
80
+ ]
81
+
82
+ [tool .coverage .report ]
83
+ exclude_lines = [
84
+ " pragma: no cover" ,
85
+ " except ImportError:" ,
86
+ " # Python <" ,
87
+ " raise NotImplementedError" ,
88
+ ' raise TypeError\(f?"Unexpected' ,
89
+ " assert False," ,
90
+ ' \s+next\($' ,
91
+ " if MYPY:" ,
92
+ " if TYPE_CHECKING:" ,
93
+ ' ^\s+\.\.\.$' ,
94
+ ' ^\s+pass$'
95
+ ]
96
+ ignore_errors = true
97
+
98
+ [tool .mypy ]
99
+ python_version = 3.9
100
+ check_untyped_defs = true
101
+ no_implicit_optional = true
102
+ strict_optional = true
103
+ warn_redundant_casts = true
104
+ warn_unused_ignores = true
105
+ disallow_untyped_defs = true
106
+
107
+ [[tool .mypy .overrides ]]
108
+ module = [
109
+ " graphql.pyutils.frozen_dict" ,
110
+ " graphql.pyutils.frozen_list" ,
111
+ " graphql.type.introspection" ,
112
+ " tests.*"
113
+ ]
114
+ disallow_untyped_defs = false
115
+
116
+ [tool .pytest .ini_options ]
117
+ minversion = " 7.1"
118
+ # Only run benchmarks as tests.
119
+ # To actually run the benchmarks, use --benchmark-enable on the command line.
120
+ # To run the slow tests (fuzzing), add --run-slow on the command line.
121
+ addopts = " --benchmark-disable"
122
+ # Deactivate default name pattern for test classes (we use pytest_describe).
123
+ python_classes = " PyTest*"
124
+ # Handle all async fixtures and tests automatically by asyncio
125
+ asyncio_mode = " auto"
126
+ # Set a timeout in seconds for aborting tests that run too long.
127
+ timeout = " 100"
128
+ # Ignore config options not (yet) available in older Python versions.
129
+ filterwarnings = " ignore::pytest.PytestConfigWarning"
130
+
69
131
[build-system ]
70
132
requires = [" poetry_core>=1,<2" , " setuptools>=65,<70" ]
71
133
build-backend = " poetry.core.masonry.api"
0 commit comments