We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Add `reveal_type` to forbidden functions
Now it is not recognised as invalid.
However, there's no reason to use it in production.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `wemake_python_styleguide/constants.py`
Content:
```
1 # -*- coding: utf-8 -*-
2 
3 """
4 This module contains list of white- and black-listed ``python`` members.
5 
6 It contains lists of keywords and built-in functions we discourage to use.
7 It also contains some exceptions that we allow to use in our codebase.
8 """
9 
10 import re
11 
12 from typing_extensions import Final
13 
14 #: List of functions we forbid to use.
15 FUNCTIONS_BLACKLIST: Final = frozenset((
16     # Code generation:
17     'eval',
18     'exec',
19     'compile',
20 
21     # Termination:
22     'exit',
23     'quit',
24 
25     # Magic:
26     'globals',
27     'locals',
28     'vars',
29     'dir',
30 
31     # IO:
32     'input',  # print is handled via `flake8-print`
33     'breakpoint',
34 
35     # Attribute access:
36     'hasattr',
37     'delattr',
38 
39     # Gratis:
40     'copyright',
41     'help',
42     'credits',
43 
44     # Dynamic imports:
45     '__import__',
46 
47     # OOP:
48     'staticmethod',
49 ))
50 
51 #: List of module metadata we forbid to use.
52 MODULE_METADATA_VARIABLES_BLACKLIST: Final = frozenset((
53     '__author__',
54     '__all__',
55     '__version__',
56     '__about__',
57 ))
58 
59 #: List of variable names we forbid to use.
60 VARIABLE_NAMES_BLACKLIST: Final = frozenset((
61     # Meaningless words:
62     'data',
63     'result',
64     'results',
65     'item',
66     'items',
67     'value',
68     'values',
69     'val',
70     'vals',
71     'var',
72     'vars',
73     'variable',
74     'content',
75     'contents',
76     'info',
77     'handle',
78     'handler',
79     'file',
80     'obj',
81     'objects',
82     'objs',
83     'some',
84     'do',
85     'param',
86     'params',
87     'parameters',
88 
89     # Confuseables:
90     'no',
91     'true',
92     'false',
93 
94     # Names from examples:
95     'foo',
96     'bar',
97     'baz',
98 ))
99 
100 #: List of special names that are used only as first argument in methods.
101 SPECIAL_ARGUMENT_NAMES_WHITELIST: Final = frozenset((
102     'self',
103     'cls',
104     'mcs',
105 ))
106 
107 #: List of all magic methods from the python docs.
108 ALL_MAGIC_METHODS: Final = frozenset((
109     '__new__',
110     '__init__',
111     '__del__',
112 
113     '__repr__',
114     '__str__',
115     '__bytes__',
116     '__format__',
117 
118     '__lt__',
119     '__le__',
120     '__eq__',
121     '__ne__',
122     '__gt__',
123     '__ge__',
124 
125     '__hash__',
126     '__bool__',
127 
128     '__getattr__',
129     '__getattribute__',
130     '__setattr__',
131     '__delattr__',
132     '__dir__',
133 
134     '__get__',
135     '__set__',
136     '__delete__',
137     '__set_name__',
138 
139     '__init_subclass__',
140     '__instancecheck__',
141     '__subclasscheck__',
142     '__class_getitem__',
143 
144     '__call__',
145     '__len__',
146     '__length_hint__',
147     '__getitem__',
148     '__setitem__',
149     '__delitem__',
150     '__missing__',
151     '__iter__',
152     '__reversed__',
153     '__contains__',
154 
155     '__add__',
156     '__sub__',
157     '__mul__',
158     '__matmul__',
159     '__truediv__',
160     '__floordiv__',
161     '__mod__',
162     '__divmod__',
163     '__pow__',
164     '__lshift__',
165     '__rshift__',
166     '__and__',
167     '__xor__',
168     '__or__',
169     '__radd__',
170     '__rsub__',
171     '__rmul__',
172     '__rmatmul__',
173     '__rtruediv__',
174     '__rfloordiv__',
175     '__rmod__',
176     '__rdivmod__',
177     '__rpow__',
178     '__rlshift__',
179     '__rrshift__',
180     '__rand__',
181     '__rxor__',
182     '__ror__',
183     '__iadd__',
184     '__isub__',
185     '__imul__',
186     '__imatmul__',
187     '__itruediv__',
188     '__ifloordiv__',
189     '__imod__',
190     '__ipow__',
191     '__ilshift__',
192     '__irshift__',
193     '__iand__',
194     '__ixor__',
195     '__ior__',
196     '__neg__',
197     '__pos__',
198     '__abs__',
199     '__invert__',
200     '__complex__',
201     '__int__',
202     '__float__',
203     '__index__',
204     '__round__',
205     '__trunc__',
206     '__floor__',
207     '__ceil__',
208 
209     '__enter__',
210     '__exit__',
211 
212     '__await__',
213     '__aiter__',
214     '__anext__',
215     '__aenter__',
216     '__aexit__',
217 ))
218 
219 #: List of magic methods that are forbidden to use.
220 MAGIC_METHODS_BLACKLIST: Final = frozenset((
221     # Since we don't use `del`:
222     '__del__',
223     '__delitem__',
224     '__delete__',
225 
226     '__dir__',  # since we don't use `dir()`
227     '__delattr__',  # since we don't use `delattr()`
228 ))
229 
230 #: List of magic methods that are not allowed to be generators.
231 YIELD_MAGIC_METHODS_BLACKLIST: Final = ALL_MAGIC_METHODS.difference({
232     # Allowed to be used with ``yield`` keyowrd:
233     '__iter__',
234 })
235 
236 #: List of magic methods that are not allowed to be async.
237 ASYNC_MAGIC_METHODS_BLACKLIST: Final = ALL_MAGIC_METHODS.difference({
238     # In order of appearance on
239     # https://docs.python.org/3/reference/datamodel.html#basic-customization
240     # Allowed magic methods are:
241     '__anext__',
242     '__aenter__',
243     '__aexit__',
244 })
245 
246 #: List of nested classes' names we allow to use.
247 NESTED_CLASSES_WHITELIST: Final = frozenset((
248     'Meta',  # django forms, models, drf, etc
249     'Params',  # factoryboy specific
250 ))
251 
252 #: List of builtin classes that are allowed to subclass.
253 ALLOWED_BUILTIN_CLASSES: Final = frozenset((
254     'type',
255     'object',
256 ))
257 
258 #: List of nested functions' names we allow to use.
259 NESTED_FUNCTIONS_WHITELIST: Final = frozenset((
260     'decorator',
261     'factory',
262 ))
263 
264 #: List of allowed ``__future__`` imports.
265 FUTURE_IMPORTS_WHITELIST: Final = frozenset((
266     'annotations',
267     'generator_stop',
268 ))
269 
270 #: List of blacklisted module names.
271 MODULE_NAMES_BLACKLIST: Final = frozenset((
272     'util',
273     'utils',
274     'utilities',
275     'helpers',
276 ))
277 
278 #: List of allowed module magic names.
279 MAGIC_MODULE_NAMES_WHITELIST: Final = frozenset((
280     '__init__',
281     '__main__',
282 ))
283 
284 #: List of bad magic module functions.
285 MAGIC_MODULE_NAMES_BLACKLIST: Final = frozenset((
286     '__getattr__',
287     '__dir__',
288 ))
289 
290 #: Regex pattern to name modules.
291 MODULE_NAME_PATTERN: Final = re.compile(r'^_?_?[a-z][a-z\d_]*[a-z\d](__)?$')
292 
293 #: Common numbers that are allowed to be used without being called "magic".
294 MAGIC_NUMBERS_WHITELIST: Final = frozenset((
295     0,  # both int and float
296     0.5,
297     100,
298     1000,
299     1024,  # bytes
300     24,  # hours
301     60,  # seconds, minutes
302 
303     1j,  # imaginary part of a complex number
304 ))
305 
306 #: Maximum amount of ``noqa`` comments per module.
307 MAX_NOQA_COMMENTS: Final = 10
308 
309 #: Maximum amount of ``pragma`` no-cover comments per module.
310 MAX_NO_COVER_COMMENTS: Final = 5
311 
312 #: Maximum length of ``yield`` ``tuple`` expressions.
313 MAX_LEN_YIELD_TUPLE: Final = 5
314 
315 
316 # Internal variables
317 # They are not publicly documented since they are not used by the end user.
318 
319 # Used as a default filename, when it is not passed by flake8:
320 STDIN: Final = 'stdin'
321 
322 # Used as a special name patterns for unused variables, like _, __:
323 UNUSED_VARIABLE_REGEX: Final = re.compile(r'^_+$')
324 
325 # Used to specify as a placeholder for `__init__`:
326 INIT: Final = '__init__'
327 
328 # Allowed magic number modulo:
329 NON_MAGIC_MODULO: Final = 10
330 
331 # Used to specify a pattern which checks variables and modules for underscored
332 # numbers in their names:
333 UNDERSCORED_NUMBER_PATTERN: Final = re.compile(r'.+\D\_\d+(\D|$)')
334
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/wemake_python_styleguide/constants.py b/wemake_python_styleguide/constants.py
--- a/wemake_python_styleguide/constants.py
+++ b/wemake_python_styleguide/constants.py
@@ -46,6 +46,9 @@
 
     # OOP:
     'staticmethod',
+
+    # Mypy:
+    'reveal_type',
 ))
 
 #: List of module metadata we forbid to use.

{"golden_diff": "diff --git a/wemake_python_styleguide/constants.py b/wemake_python_styleguide/constants.py\n--- a/wemake_python_styleguide/constants.py\n+++ b/wemake_python_styleguide/constants.py\n@@ -46,6 +46,9 @@\n \n     # OOP:\n     'staticmethod',\n+\n+    # Mypy:\n+    'reveal_type',\n ))\n \n #: List of module metadata we forbid to use.\n", "issue": "Add `reveal_type` to forbidden functions\nNow it is not recognised as invalid.\r\nHowever, there's no reason to use it in production.\n", "before_files": [{"content": "# -*- coding: utf-8 -*-\n\n\"\"\"\nThis module contains list of white- and black-listed ``python`` members.\n\nIt contains lists of keywords and built-in functions we discourage to use.\nIt also contains some exceptions that we allow to use in our codebase.\n\"\"\"\n\nimport re\n\nfrom typing_extensions import Final\n\n#: List of functions we forbid to use.\nFUNCTIONS_BLACKLIST: Final = frozenset((\n    # Code generation:\n    'eval',\n    'exec',\n    'compile',\n\n    # Termination:\n    'exit',\n    'quit',\n\n    # Magic:\n    'globals',\n    'locals',\n    'vars',\n    'dir',\n\n    # IO:\n    'input',  # print is handled via `flake8-print`\n    'breakpoint',\n\n    # Attribute access:\n    'hasattr',\n    'delattr',\n\n    # Gratis:\n    'copyright',\n    'help',\n    'credits',\n\n    # Dynamic imports:\n    '__import__',\n\n    # OOP:\n    'staticmethod',\n))\n\n#: List of module metadata we forbid to use.\nMODULE_METADATA_VARIABLES_BLACKLIST: Final = frozenset((\n    '__author__',\n    '__all__',\n    '__version__',\n    '__about__',\n))\n\n#: List of variable names we forbid to use.\nVARIABLE_NAMES_BLACKLIST: Final = frozenset((\n    # Meaningless words:\n    'data',\n    'result',\n    'results',\n    'item',\n    'items',\n    'value',\n    'values',\n    'val',\n    'vals',\n    'var',\n    'vars',\n    'variable',\n    'content',\n    'contents',\n    'info',\n    'handle',\n    'handler',\n    'file',\n    'obj',\n    'objects',\n    'objs',\n    'some',\n    'do',\n    'param',\n    'params',\n    'parameters',\n\n    # Confuseables:\n    'no',\n    'true',\n    'false',\n\n    # Names from examples:\n    'foo',\n    'bar',\n    'baz',\n))\n\n#: List of special names that are used only as first argument in methods.\nSPECIAL_ARGUMENT_NAMES_WHITELIST: Final = frozenset((\n    'self',\n    'cls',\n    'mcs',\n))\n\n#: List of all magic methods from the python docs.\nALL_MAGIC_METHODS: Final = frozenset((\n    '__new__',\n    '__init__',\n    '__del__',\n\n    '__repr__',\n    '__str__',\n    '__bytes__',\n    '__format__',\n\n    '__lt__',\n    '__le__',\n    '__eq__',\n    '__ne__',\n    '__gt__',\n    '__ge__',\n\n    '__hash__',\n    '__bool__',\n\n    '__getattr__',\n    '__getattribute__',\n    '__setattr__',\n    '__delattr__',\n    '__dir__',\n\n    '__get__',\n    '__set__',\n    '__delete__',\n    '__set_name__',\n\n    '__init_subclass__',\n    '__instancecheck__',\n    '__subclasscheck__',\n    '__class_getitem__',\n\n    '__call__',\n    '__len__',\n    '__length_hint__',\n    '__getitem__',\n    '__setitem__',\n    '__delitem__',\n    '__missing__',\n    '__iter__',\n    '__reversed__',\n    '__contains__',\n\n    '__add__',\n    '__sub__',\n    '__mul__',\n    '__matmul__',\n    '__truediv__',\n    '__floordiv__',\n    '__mod__',\n    '__divmod__',\n    '__pow__',\n    '__lshift__',\n    '__rshift__',\n    '__and__',\n    '__xor__',\n    '__or__',\n    '__radd__',\n    '__rsub__',\n    '__rmul__',\n    '__rmatmul__',\n    '__rtruediv__',\n    '__rfloordiv__',\n    '__rmod__',\n    '__rdivmod__',\n    '__rpow__',\n    '__rlshift__',\n    '__rrshift__',\n    '__rand__',\n    '__rxor__',\n    '__ror__',\n    '__iadd__',\n    '__isub__',\n    '__imul__',\n    '__imatmul__',\n    '__itruediv__',\n    '__ifloordiv__',\n    '__imod__',\n    '__ipow__',\n    '__ilshift__',\n    '__irshift__',\n    '__iand__',\n    '__ixor__',\n    '__ior__',\n    '__neg__',\n    '__pos__',\n    '__abs__',\n    '__invert__',\n    '__complex__',\n    '__int__',\n    '__float__',\n    '__index__',\n    '__round__',\n    '__trunc__',\n    '__floor__',\n    '__ceil__',\n\n    '__enter__',\n    '__exit__',\n\n    '__await__',\n    '__aiter__',\n    '__anext__',\n    '__aenter__',\n    '__aexit__',\n))\n\n#: List of magic methods that are forbidden to use.\nMAGIC_METHODS_BLACKLIST: Final = frozenset((\n    # Since we don't use `del`:\n    '__del__',\n    '__delitem__',\n    '__delete__',\n\n    '__dir__',  # since we don't use `dir()`\n    '__delattr__',  # since we don't use `delattr()`\n))\n\n#: List of magic methods that are not allowed to be generators.\nYIELD_MAGIC_METHODS_BLACKLIST: Final = ALL_MAGIC_METHODS.difference({\n    # Allowed to be used with ``yield`` keyowrd:\n    '__iter__',\n})\n\n#: List of magic methods that are not allowed to be async.\nASYNC_MAGIC_METHODS_BLACKLIST: Final = ALL_MAGIC_METHODS.difference({\n    # In order of appearance on\n    # https://docs.python.org/3/reference/datamodel.html#basic-customization\n    # Allowed magic methods are:\n    '__anext__',\n    '__aenter__',\n    '__aexit__',\n})\n\n#: List of nested classes' names we allow to use.\nNESTED_CLASSES_WHITELIST: Final = frozenset((\n    'Meta',  # django forms, models, drf, etc\n    'Params',  # factoryboy specific\n))\n\n#: List of builtin classes that are allowed to subclass.\nALLOWED_BUILTIN_CLASSES: Final = frozenset((\n    'type',\n    'object',\n))\n\n#: List of nested functions' names we allow to use.\nNESTED_FUNCTIONS_WHITELIST: Final = frozenset((\n    'decorator',\n    'factory',\n))\n\n#: List of allowed ``__future__`` imports.\nFUTURE_IMPORTS_WHITELIST: Final = frozenset((\n    'annotations',\n    'generator_stop',\n))\n\n#: List of blacklisted module names.\nMODULE_NAMES_BLACKLIST: Final = frozenset((\n    'util',\n    'utils',\n    'utilities',\n    'helpers',\n))\n\n#: List of allowed module magic names.\nMAGIC_MODULE_NAMES_WHITELIST: Final = frozenset((\n    '__init__',\n    '__main__',\n))\n\n#: List of bad magic module functions.\nMAGIC_MODULE_NAMES_BLACKLIST: Final = frozenset((\n    '__getattr__',\n    '__dir__',\n))\n\n#: Regex pattern to name modules.\nMODULE_NAME_PATTERN: Final = re.compile(r'^_?_?[a-z][a-z\\d_]*[a-z\\d](__)?$')\n\n#: Common numbers that are allowed to be used without being called \"magic\".\nMAGIC_NUMBERS_WHITELIST: Final = frozenset((\n    0,  # both int and float\n    0.5,\n    100,\n    1000,\n    1024,  # bytes\n    24,  # hours\n    60,  # seconds, minutes\n\n    1j,  # imaginary part of a complex number\n))\n\n#: Maximum amount of ``noqa`` comments per module.\nMAX_NOQA_COMMENTS: Final = 10\n\n#: Maximum amount of ``pragma`` no-cover comments per module.\nMAX_NO_COVER_COMMENTS: Final = 5\n\n#: Maximum length of ``yield`` ``tuple`` expressions.\nMAX_LEN_YIELD_TUPLE: Final = 5\n\n\n# Internal variables\n# They are not publicly documented since they are not used by the end user.\n\n# Used as a default filename, when it is not passed by flake8:\nSTDIN: Final = 'stdin'\n\n# Used as a special name patterns for unused variables, like _, __:\nUNUSED_VARIABLE_REGEX: Final = re.compile(r'^_+$')\n\n# Used to specify as a placeholder for `__init__`:\nINIT: Final = '__init__'\n\n# Allowed magic number modulo:\nNON_MAGIC_MODULO: Final = 10\n\n# Used to specify a pattern which checks variables and modules for underscored\n# numbers in their names:\nUNDERSCORED_NUMBER_PATTERN: Final = re.compile(r'.+\\D\\_\\d+(\\D|$)')\n", "path": "wemake_python_styleguide/constants.py"}], "after_files": [{"content": "# -*- coding: utf-8 -*-\n\n\"\"\"\nThis module contains list of white- and black-listed ``python`` members.\n\nIt contains lists of keywords and built-in functions we discourage to use.\nIt also contains some exceptions that we allow to use in our codebase.\n\"\"\"\n\nimport re\n\nfrom typing_extensions import Final\n\n#: List of functions we forbid to use.\nFUNCTIONS_BLACKLIST: Final = frozenset((\n    # Code generation:\n    'eval',\n    'exec',\n    'compile',\n\n    # Termination:\n    'exit',\n    'quit',\n\n    # Magic:\n    'globals',\n    'locals',\n    'vars',\n    'dir',\n\n    # IO:\n    'input',  # print is handled via `flake8-print`\n    'breakpoint',\n\n    # Attribute access:\n    'hasattr',\n    'delattr',\n\n    # Gratis:\n    'copyright',\n    'help',\n    'credits',\n\n    # Dynamic imports:\n    '__import__',\n\n    # OOP:\n    'staticmethod',\n\n    # Mypy:\n    'reveal_type',\n))\n\n#: List of module metadata we forbid to use.\nMODULE_METADATA_VARIABLES_BLACKLIST: Final = frozenset((\n    '__author__',\n    '__all__',\n    '__version__',\n    '__about__',\n))\n\n#: List of variable names we forbid to use.\nVARIABLE_NAMES_BLACKLIST: Final = frozenset((\n    # Meaningless words:\n    'data',\n    'result',\n    'results',\n    'item',\n    'items',\n    'value',\n    'values',\n    'val',\n    'vals',\n    'var',\n    'vars',\n    'variable',\n    'content',\n    'contents',\n    'info',\n    'handle',\n    'handler',\n    'file',\n    'obj',\n    'objects',\n    'objs',\n    'some',\n    'do',\n    'param',\n    'params',\n    'parameters',\n\n    # Confuseables:\n    'no',\n    'true',\n    'false',\n\n    # Names from examples:\n    'foo',\n    'bar',\n    'baz',\n))\n\n#: List of special names that are used only as first argument in methods.\nSPECIAL_ARGUMENT_NAMES_WHITELIST: Final = frozenset((\n    'self',\n    'cls',\n    'mcs',\n))\n\n#: List of all magic methods from the python docs.\nALL_MAGIC_METHODS: Final = frozenset((\n    '__new__',\n    '__init__',\n    '__del__',\n\n    '__repr__',\n    '__str__',\n    '__bytes__',\n    '__format__',\n\n    '__lt__',\n    '__le__',\n    '__eq__',\n    '__ne__',\n    '__gt__',\n    '__ge__',\n\n    '__hash__',\n    '__bool__',\n\n    '__getattr__',\n    '__getattribute__',\n    '__setattr__',\n    '__delattr__',\n    '__dir__',\n\n    '__get__',\n    '__set__',\n    '__delete__',\n    '__set_name__',\n\n    '__init_subclass__',\n    '__instancecheck__',\n    '__subclasscheck__',\n    '__class_getitem__',\n\n    '__call__',\n    '__len__',\n    '__length_hint__',\n    '__getitem__',\n    '__setitem__',\n    '__delitem__',\n    '__missing__',\n    '__iter__',\n    '__reversed__',\n    '__contains__',\n\n    '__add__',\n    '__sub__',\n    '__mul__',\n    '__matmul__',\n    '__truediv__',\n    '__floordiv__',\n    '__mod__',\n    '__divmod__',\n    '__pow__',\n    '__lshift__',\n    '__rshift__',\n    '__and__',\n    '__xor__',\n    '__or__',\n    '__radd__',\n    '__rsub__',\n    '__rmul__',\n    '__rmatmul__',\n    '__rtruediv__',\n    '__rfloordiv__',\n    '__rmod__',\n    '__rdivmod__',\n    '__rpow__',\n    '__rlshift__',\n    '__rrshift__',\n    '__rand__',\n    '__rxor__',\n    '__ror__',\n    '__iadd__',\n    '__isub__',\n    '__imul__',\n    '__imatmul__',\n    '__itruediv__',\n    '__ifloordiv__',\n    '__imod__',\n    '__ipow__',\n    '__ilshift__',\n    '__irshift__',\n    '__iand__',\n    '__ixor__',\n    '__ior__',\n    '__neg__',\n    '__pos__',\n    '__abs__',\n    '__invert__',\n    '__complex__',\n    '__int__',\n    '__float__',\n    '__index__',\n    '__round__',\n    '__trunc__',\n    '__floor__',\n    '__ceil__',\n\n    '__enter__',\n    '__exit__',\n\n    '__await__',\n    '__aiter__',\n    '__anext__',\n    '__aenter__',\n    '__aexit__',\n))\n\n#: List of magic methods that are forbidden to use.\nMAGIC_METHODS_BLACKLIST: Final = frozenset((\n    # Since we don't use `del`:\n    '__del__',\n    '__delitem__',\n    '__delete__',\n\n    '__dir__',  # since we don't use `dir()`\n    '__delattr__',  # since we don't use `delattr()`\n))\n\n#: List of magic methods that are not allowed to be generators.\nYIELD_MAGIC_METHODS_BLACKLIST: Final = ALL_MAGIC_METHODS.difference({\n    # Allowed to be used with ``yield`` keyowrd:\n    '__iter__',\n})\n\n#: List of magic methods that are not allowed to be async.\nASYNC_MAGIC_METHODS_BLACKLIST: Final = ALL_MAGIC_METHODS.difference({\n    # In order of appearance on\n    # https://docs.python.org/3/reference/datamodel.html#basic-customization\n    # Allowed magic methods are:\n    '__anext__',\n    '__aenter__',\n    '__aexit__',\n})\n\n#: List of nested classes' names we allow to use.\nNESTED_CLASSES_WHITELIST: Final = frozenset((\n    'Meta',  # django forms, models, drf, etc\n    'Params',  # factoryboy specific\n))\n\n#: List of builtin classes that are allowed to subclass.\nALLOWED_BUILTIN_CLASSES: Final = frozenset((\n    'type',\n    'object',\n))\n\n#: List of nested functions' names we allow to use.\nNESTED_FUNCTIONS_WHITELIST: Final = frozenset((\n    'decorator',\n    'factory',\n))\n\n#: List of allowed ``__future__`` imports.\nFUTURE_IMPORTS_WHITELIST: Final = frozenset((\n    'annotations',\n    'generator_stop',\n))\n\n#: List of blacklisted module names.\nMODULE_NAMES_BLACKLIST: Final = frozenset((\n    'util',\n    'utils',\n    'utilities',\n    'helpers',\n))\n\n#: List of allowed module magic names.\nMAGIC_MODULE_NAMES_WHITELIST: Final = frozenset((\n    '__init__',\n    '__main__',\n))\n\n#: List of bad magic module functions.\nMAGIC_MODULE_NAMES_BLACKLIST: Final = frozenset((\n    '__getattr__',\n    '__dir__',\n))\n\n#: Regex pattern to name modules.\nMODULE_NAME_PATTERN: Final = re.compile(r'^_?_?[a-z][a-z\\d_]*[a-z\\d](__)?$')\n\n#: Common numbers that are allowed to be used without being called \"magic\".\nMAGIC_NUMBERS_WHITELIST: Final = frozenset((\n    0,  # both int and float\n    0.5,\n    100,\n    1000,\n    1024,  # bytes\n    24,  # hours\n    60,  # seconds, minutes\n\n    1j,  # imaginary part of a complex number\n))\n\n#: Maximum amount of ``noqa`` comments per module.\nMAX_NOQA_COMMENTS: Final = 10\n\n#: Maximum amount of ``pragma`` no-cover comments per module.\nMAX_NO_COVER_COMMENTS: Final = 5\n\n#: Maximum length of ``yield`` ``tuple`` expressions.\nMAX_LEN_YIELD_TUPLE: Final = 5\n\n\n# Internal variables\n# They are not publicly documented since they are not used by the end user.\n\n# Used as a default filename, when it is not passed by flake8:\nSTDIN: Final = 'stdin'\n\n# Used as a special name patterns for unused variables, like _, __:\nUNUSED_VARIABLE_REGEX: Final = re.compile(r'^_+$')\n\n# Used to specify as a placeholder for `__init__`:\nINIT: Final = '__init__'\n\n# Allowed magic number modulo:\nNON_MAGIC_MODULO: Final = 10\n\n# Used to specify a pattern which checks variables and modules for underscored\n# numbers in their names:\nUNDERSCORED_NUMBER_PATTERN: Final = re.compile(r'.+\\D\\_\\d+(\\D|$)')\n", "path": "wemake_python_styleguide/constants.py"}]}