python-constricter 0.4.1__cp313-cp313-win32.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- constricter/__init__.py +55 -0
- constricter/__main__.py +26 -0
- constricter/_version.py +4 -0
- constricter/cli/__init__.py +2 -0
- constricter/cli/baseline.py +107 -0
- constricter/cli/collecting.py +54 -0
- constricter/cli/command.py +547 -0
- constricter/cli/config.py +322 -0
- constricter/cli/explain.py +104 -0
- constricter/cli/lsp/__init__.py +2 -0
- constricter/cli/lsp/connection.py +475 -0
- constricter/cli/lsp/edits.py +188 -0
- constricter/cli/lsp/guard.py +133 -0
- constricter/cli/lsp/hints.py +391 -0
- constricter/cli/lsp/protocol.py +192 -0
- constricter/cli/lsp/remembered.py +81 -0
- constricter/cli/lsp/stored.py +200 -0
- constricter/cli/options.py +799 -0
- constricter/cli/paths.py +151 -0
- constricter/cli/reading.py +36 -0
- constricter/cli/report.py +397 -0
- constricter/cli/rounds.py +328 -0
- constricter/cli/runs.py +90 -0
- constricter/cli/schedule.py +463 -0
- constricter/cli/traced.py +401 -0
- constricter/cli/workers.py +286 -0
- constricter/empty.py +66 -0
- constricter/fix/__init__.cp313-win32.pyd +0 -0
- constricter/fix/__init__.py +2 -0
- constricter/fix/core/__init__.cp313-win32.pyd +0 -0
- constricter/fix/core/__init__.py +2 -0
- constricter/fix/core/asked.cp313-win32.pyd +0 -0
- constricter/fix/core/asked.py +56 -0
- constricter/fix/core/fixes.cp313-win32.pyd +0 -0
- constricter/fix/core/fixes.py +317 -0
- constricter/fix/core/imports.cp313-win32.pyd +0 -0
- constricter/fix/core/imports.py +580 -0
- constricter/fix/core/inherited.cp313-win32.pyd +0 -0
- constricter/fix/core/inherited.py +311 -0
- constricter/fix/core/known.cp313-win32.pyd +0 -0
- constricter/fix/core/known.py +730 -0
- constricter/fix/core/signatures.cp313-win32.pyd +0 -0
- constricter/fix/core/signatures.py +132 -0
- constricter/fix/index/__init__.cp313-win32.pyd +0 -0
- constricter/fix/index/__init__.py +2 -0
- constricter/fix/index/awaits.cp313-win32.pyd +0 -0
- constricter/fix/index/awaits.py +90 -0
- constricter/fix/index/beyond.cp313-win32.pyd +0 -0
- constricter/fix/index/beyond.py +149 -0
- constricter/fix/index/callers.cp313-win32.pyd +0 -0
- constricter/fix/index/callers.py +155 -0
- constricter/fix/index/crossed.cp313-win32.pyd +0 -0
- constricter/fix/index/crossed.py +327 -0
- constricter/fix/index/decorated.cp313-win32.pyd +0 -0
- constricter/fix/index/decorated.py +140 -0
- constricter/fix/index/fixtures.cp313-win32.pyd +0 -0
- constricter/fix/index/fixtures.py +176 -0
- constricter/fix/index/linked.cp313-win32.pyd +0 -0
- constricter/fix/index/linked.py +142 -0
- constricter/fix/index/loose.cp313-win32.pyd +0 -0
- constricter/fix/index/loose.py +103 -0
- constricter/fix/index/managed.cp313-win32.pyd +0 -0
- constricter/fix/index/managed.py +63 -0
- constricter/fix/index/modules.cp313-win32.pyd +0 -0
- constricter/fix/index/modules.py +741 -0
- constricter/fix/index/offers.cp313-win32.pyd +0 -0
- constricter/fix/index/offers.py +252 -0
- constricter/fix/index/order.cp313-win32.pyd +0 -0
- constricter/fix/index/order.py +155 -0
- constricter/fix/index/origins.cp313-win32.pyd +0 -0
- constricter/fix/index/origins.py +238 -0
- constricter/fix/index/own_methods.cp313-win32.pyd +0 -0
- constricter/fix/index/own_methods.py +91 -0
- constricter/fix/index/own_overloads.cp313-win32.pyd +0 -0
- constricter/fix/index/own_overloads.py +70 -0
- constricter/fix/index/own_types.cp313-win32.pyd +0 -0
- constricter/fix/index/own_types.py +330 -0
- constricter/fix/index/params.cp313-win32.pyd +0 -0
- constricter/fix/index/params.py +81 -0
- constricter/fix/index/plain.cp313-win32.pyd +0 -0
- constricter/fix/index/plain.py +221 -0
- constricter/fix/index/project.cp313-win32.pyd +0 -0
- constricter/fix/index/project.py +797 -0
- constricter/fix/index/sides.cp313-win32.pyd +0 -0
- constricter/fix/index/sides.py +160 -0
- constricter/fix/index/strings.cp313-win32.pyd +0 -0
- constricter/fix/index/strings.py +46 -0
- constricter/fix/index/stubs/__init__.cp313-win32.pyd +0 -0
- constricter/fix/index/stubs/__init__.py +2 -0
- constricter/fix/index/stubs/atoms.cp313-win32.pyd +0 -0
- constricter/fix/index/stubs/atoms.py +425 -0
- constricter/fix/index/stubs/chained.cp313-win32.pyd +0 -0
- constricter/fix/index/stubs/chained.py +69 -0
- constricter/fix/index/stubs/classnames.cp313-win32.pyd +0 -0
- constricter/fix/index/stubs/classnames.py +124 -0
- constricter/fix/index/stubs/declared.cp313-win32.pyd +0 -0
- constricter/fix/index/stubs/declared.py +508 -0
- constricter/fix/index/stubs/installed.cp313-win32.pyd +0 -0
- constricter/fix/index/stubs/installed.py +425 -0
- constricter/fix/index/stubs/names.cp313-win32.pyd +0 -0
- constricter/fix/index/stubs/names.py +200 -0
- constricter/fix/index/stubs/read.cp313-win32.pyd +0 -0
- constricter/fix/index/stubs/read.py +70 -0
- constricter/fix/index/stubs/signatures.cp313-win32.pyd +0 -0
- constricter/fix/index/stubs/signatures.py +656 -0
- constricter/fix/index/stubs/stubbed.cp313-win32.pyd +0 -0
- constricter/fix/index/stubs/stubbed.py +208 -0
- constricter/fix/index/taken.cp313-win32.pyd +0 -0
- constricter/fix/index/taken.py +45 -0
- constricter/fix/index/tuples.cp313-win32.pyd +0 -0
- constricter/fix/index/tuples.py +112 -0
- constricter/fix/libraries/__init__.cp313-win32.pyd +0 -0
- constricter/fix/libraries/__init__.py +2 -0
- constricter/fix/libraries/library.cp313-win32.pyd +0 -0
- constricter/fix/libraries/library.py +420 -0
- constricter/fix/libraries/opened.cp313-win32.pyd +0 -0
- constricter/fix/libraries/opened.py +147 -0
- constricter/fix/libraries/overloads.cp313-win32.pyd +0 -0
- constricter/fix/libraries/overloads.py +960 -0
- constricter/fix/libraries/receivers.cp313-win32.pyd +0 -0
- constricter/fix/libraries/receivers.py +274 -0
- constricter/fix/libraries/stdlib.cp313-win32.pyd +0 -0
- constricter/fix/libraries/stdlib.py +752 -0
- constricter/fix/libraries/walks.cp313-win32.pyd +0 -0
- constricter/fix/libraries/walks.py +49 -0
- constricter/fix/tables/aliases.json +147 -0
- constricter/fix/tables/attributes.json +700 -0
- constricter/fix/tables/awaited.json +69 -0
- constricter/fix/tables/awaited_overloads.json +14 -0
- constricter/fix/tables/bases.json +888 -0
- constricter/fix/tables/classes.json +1941 -0
- constricter/fix/tables/elements.json +156 -0
- constricter/fix/tables/functions.json +58 -0
- constricter/fix/tables/generic_attributes.json +254 -0
- constricter/fix/tables/method_overloads.json +461 -0
- constricter/fix/tables/method_signatures.json +954 -0
- constricter/fix/tables/methods.json +954 -0
- constricter/fix/tables/overloads.json +540 -0
- constricter/fix/tables/platform.json +37 -0
- constricter/fix/tables/returns.json +1362 -0
- constricter/fix/tables/scalar_members.json +16 -0
- constricter/fix/tables/scalars.json +2707 -0
- constricter/fix/tables/source.json +28 -0
- constricter/fix/tables/subscriptable.json +77 -0
- constricter/fix/tables/type_parameters.json +178 -0
- constricter/fix/tables/variables.json +2962 -0
- constricter/fix/values/__init__.cp313-win32.pyd +0 -0
- constricter/fix/values/__init__.py +2 -0
- constricter/fix/values/aliased.cp313-win32.pyd +0 -0
- constricter/fix/values/aliased.py +195 -0
- constricter/fix/values/bodies.cp313-win32.pyd +0 -0
- constricter/fix/values/bodies.py +76 -0
- constricter/fix/values/callables.cp313-win32.pyd +0 -0
- constricter/fix/values/callables.py +323 -0
- constricter/fix/values/called.cp313-win32.pyd +0 -0
- constricter/fix/values/called.py +194 -0
- constricter/fix/values/classvars.cp313-win32.pyd +0 -0
- constricter/fix/values/classvars.py +629 -0
- constricter/fix/values/decided.cp313-win32.pyd +0 -0
- constricter/fix/values/decided.py +429 -0
- constricter/fix/values/displays.cp313-win32.pyd +0 -0
- constricter/fix/values/displays.py +101 -0
- constricter/fix/values/doubts.cp313-win32.pyd +0 -0
- constricter/fix/values/doubts.py +677 -0
- constricter/fix/values/entered.cp313-win32.pyd +0 -0
- constricter/fix/values/entered.py +332 -0
- constricter/fix/values/fills.cp313-win32.pyd +0 -0
- constricter/fix/values/fills.py +446 -0
- constricter/fix/values/guesses.cp313-win32.pyd +0 -0
- constricter/fix/values/guesses.py +376 -0
- constricter/fix/values/hinted.cp313-win32.pyd +0 -0
- constricter/fix/values/hinted.py +811 -0
- constricter/fix/values/inference.cp313-win32.pyd +0 -0
- constricter/fix/values/inference.py +698 -0
- constricter/fix/values/loops.cp313-win32.pyd +0 -0
- constricter/fix/values/loops.py +335 -0
- constricter/fix/values/members.cp313-win32.pyd +0 -0
- constricter/fix/values/members.py +578 -0
- constricter/fix/values/narrowed.cp313-win32.pyd +0 -0
- constricter/fix/values/narrowed.py +220 -0
- constricter/fix/values/operated.cp313-win32.pyd +0 -0
- constricter/fix/values/operated.py +202 -0
- constricter/fix/values/ordered.cp313-win32.pyd +0 -0
- constricter/fix/values/ordered.py +74 -0
- constricter/fix/values/returned.cp313-win32.pyd +0 -0
- constricter/fix/values/returned.py +479 -0
- constricter/fix/values/returns.cp313-win32.pyd +0 -0
- constricter/fix/values/returns.py +237 -0
- constricter/fix/values/shapes.cp313-win32.pyd +0 -0
- constricter/fix/values/shapes.py +654 -0
- constricter/fix/values/stored.cp313-win32.pyd +0 -0
- constricter/fix/values/stored.py +564 -0
- constricter/fix/values/targets.cp313-win32.pyd +0 -0
- constricter/fix/values/targets.py +419 -0
- constricter/fix/values/unchecked.cp313-win32.pyd +0 -0
- constricter/fix/values/unchecked.py +278 -0
- constricter/jsonc.py +50 -0
- constricter/noqa.py +47 -0
- constricter/notebook.py +115 -0
- constricter/offences.py +436 -0
- constricter/overrides.py +24 -0
- constricter/plugins/__init__.py +2 -0
- constricter/plugins/flake8.py +133 -0
- constricter/plugins/pylint.py +186 -0
- constricter/py.typed +0 -0
- constricter/recording.py +660 -0
- constricter/rules/__init__.cp313-win32.pyd +0 -0
- constricter/rules/__init__.py +2 -0
- constricter/rules/annotations.cp313-win32.pyd +0 -0
- constricter/rules/annotations.py +296 -0
- constricter/rules/binding.cp313-win32.pyd +0 -0
- constricter/rules/binding.py +652 -0
- constricter/rules/calls.cp313-win32.pyd +0 -0
- constricter/rules/calls.py +460 -0
- constricter/rules/checker.cp313-win32.pyd +0 -0
- constricter/rules/checker.py +536 -0
- constricter/rules/declarations.cp313-win32.pyd +0 -0
- constricter/rules/declarations.py +730 -0
- constricter/rules/decorators.cp313-win32.pyd +0 -0
- constricter/rules/decorators.py +351 -0
- constricter/rules/flow.cp313-win32.pyd +0 -0
- constricter/rules/flow.py +502 -0
- constricter/rules/keys.cp313-win32.pyd +0 -0
- constricter/rules/keys.py +79 -0
- constricter/rules/late.cp313-win32.pyd +0 -0
- constricter/rules/late.py +969 -0
- constricter/rules/narrowing.cp313-win32.pyd +0 -0
- constricter/rules/narrowing.py +98 -0
- constricter/rules/parsed.cp313-win32.pyd +0 -0
- constricter/rules/parsed.py +136 -0
- constricter/rules/quoted.cp313-win32.pyd +0 -0
- constricter/rules/quoted.py +141 -0
- constricter/rules/rebinding.cp313-win32.pyd +0 -0
- constricter/rules/rebinding.py +169 -0
- constricter/rules/recorded.cp313-win32.pyd +0 -0
- constricter/rules/recorded.py +168 -0
- constricter/rules/redundant.cp313-win32.pyd +0 -0
- constricter/rules/redundant.py +160 -0
- constricter/rules/scope.cp313-win32.pyd +0 -0
- constricter/rules/scope.py +802 -0
- constricter/rules/scoped.cp313-win32.pyd +0 -0
- constricter/rules/scoped.py +232 -0
- constricter/rules/scoping.cp313-win32.pyd +0 -0
- constricter/rules/scoping.py +346 -0
- constricter/rules/settings.cp313-win32.pyd +0 -0
- constricter/rules/settings.py +189 -0
- constricter/rules/syntax.cp313-win32.pyd +0 -0
- constricter/rules/syntax.py +472 -0
- constricter/rules/tables.cp313-win32.pyd +0 -0
- constricter/rules/tables.py +169 -0
- constricter/rules/walked.cp313-win32.pyd +0 -0
- constricter/rules/walked.py +127 -0
- constricter/rules/widened.cp313-win32.pyd +0 -0
- constricter/rules/widened.py +322 -0
- constricter/trace.py +374 -0
- e45ce06b2fdd5c43f782__mypyc.cp313-win32.pyd +0 -0
- python_constricter-0.4.1.dist-info/METADATA +400 -0
- python_constricter-0.4.1.dist-info/RECORD +261 -0
- python_constricter-0.4.1.dist-info/WHEEL +4 -0
- python_constricter-0.4.1.dist-info/entry_points.txt +5 -0
- python_constricter-0.4.1.dist-info/licenses/LICENSE.md +21 -0
|
Binary file
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# SPDX-License-Identifier: MIT
|
|
2
|
+
"""`--fix` for `os.walk(top)`: what a loop over it binds, by `top`'s type.
|
|
3
|
+
|
|
4
|
+
Its return (`Iterator[tuple[AnyStr, list[AnyStr], list[AnyStr]]]`) nests deeper than the tables hold.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import ast
|
|
8
|
+
from collections.abc import Callable
|
|
9
|
+
from typing import Final, TypeAlias
|
|
10
|
+
|
|
11
|
+
from constricter.fix.core.known import Inference, Known
|
|
12
|
+
from constricter.fix.libraries import stdlib
|
|
13
|
+
|
|
14
|
+
_WALK: Final = "os.walk"
|
|
15
|
+
_STR: Final = "str"
|
|
16
|
+
_BYTES: Final = "bytes"
|
|
17
|
+
_KINDS: Final = frozenset({"loop", "stdlib"})
|
|
18
|
+
_Infer: TypeAlias = Callable[[ast.expr], Inference | None]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def walked(iterable: ast.expr, known: Known, infer: _Infer) -> Inference | None:
|
|
22
|
+
"""Infer what a loop over `os.walk(top)` binds: a directory's path, its directories' names and its files'.
|
|
23
|
+
|
|
24
|
+
A `str` and two lists of them, where `top` is a `str` or a `pathlib` path; `bytes`, where it's
|
|
25
|
+
a `bytes`. `infer` types `top`.
|
|
26
|
+
|
|
27
|
+
Returns:
|
|
28
|
+
The tuple's annotation and its reason; `None` for any other value, or a `top` of no such type.
|
|
29
|
+
|
|
30
|
+
"""
|
|
31
|
+
func: ast.expr
|
|
32
|
+
top: ast.expr
|
|
33
|
+
match iterable:
|
|
34
|
+
case ast.Call(func=func, args=[top, *_]) if stdlib.resolved(func, known.names.stdlib) == _WALK:
|
|
35
|
+
found: Inference | None
|
|
36
|
+
if (found := infer(top)) is None:
|
|
37
|
+
return None
|
|
38
|
+
name: str | None = _BYTES if found.annotation == _BYTES else None
|
|
39
|
+
if found.annotation == _STR or stdlib.is_path(found.annotation, known):
|
|
40
|
+
name = _STR
|
|
41
|
+
if name is None:
|
|
42
|
+
return None
|
|
43
|
+
return Inference(
|
|
44
|
+
f"tuple[{name}, list[{name}], list[{name}]]",
|
|
45
|
+
"`os.walk`, which yields a directory's path and its entries' names",
|
|
46
|
+
found.kinds | _KINDS,
|
|
47
|
+
)
|
|
48
|
+
case _:
|
|
49
|
+
return None
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
{
|
|
2
|
+
"asyncio.base_events.BaseEventLoop": "asyncio.BaseEventLoop",
|
|
3
|
+
"asyncio.base_events.Server": "asyncio.Server",
|
|
4
|
+
"asyncio.events.AbstractEventLoop": "asyncio.AbstractEventLoop",
|
|
5
|
+
"asyncio.events.AbstractServer": "asyncio.AbstractServer",
|
|
6
|
+
"asyncio.events.Handle": "asyncio.Handle",
|
|
7
|
+
"asyncio.events.TimerHandle": "asyncio.TimerHandle",
|
|
8
|
+
"asyncio.exceptions.BrokenBarrierError": "asyncio.BrokenBarrierError",
|
|
9
|
+
"asyncio.exceptions.CancelledError": "asyncio.CancelledError",
|
|
10
|
+
"asyncio.exceptions.IncompleteReadError": "asyncio.IncompleteReadError",
|
|
11
|
+
"asyncio.exceptions.InvalidStateError": "asyncio.InvalidStateError",
|
|
12
|
+
"asyncio.exceptions.LimitOverrunError": "asyncio.LimitOverrunError",
|
|
13
|
+
"asyncio.exceptions.SendfileNotAvailableError": "asyncio.SendfileNotAvailableError",
|
|
14
|
+
"asyncio.exceptions.TimeoutError": "asyncio.TimeoutError",
|
|
15
|
+
"asyncio.graph.FrameCallGraphEntry": "asyncio.FrameCallGraphEntry",
|
|
16
|
+
"asyncio.graph.FutureCallGraph": "asyncio.FutureCallGraph",
|
|
17
|
+
"asyncio.locks.Barrier": "asyncio.Barrier",
|
|
18
|
+
"asyncio.locks.BoundedSemaphore": "asyncio.BoundedSemaphore",
|
|
19
|
+
"asyncio.locks.Condition": "asyncio.Condition",
|
|
20
|
+
"asyncio.locks.Event": "asyncio.Event",
|
|
21
|
+
"asyncio.locks.Lock": "asyncio.Lock",
|
|
22
|
+
"asyncio.locks.Semaphore": "asyncio.Semaphore",
|
|
23
|
+
"asyncio.protocols.BaseProtocol": "asyncio.BaseProtocol",
|
|
24
|
+
"asyncio.protocols.BufferedProtocol": "asyncio.BufferedProtocol",
|
|
25
|
+
"asyncio.protocols.DatagramProtocol": "asyncio.DatagramProtocol",
|
|
26
|
+
"asyncio.protocols.Protocol": "asyncio.Protocol",
|
|
27
|
+
"asyncio.protocols.SubprocessProtocol": "asyncio.SubprocessProtocol",
|
|
28
|
+
"asyncio.queues.QueueEmpty": "asyncio.QueueEmpty",
|
|
29
|
+
"asyncio.queues.QueueFull": "asyncio.QueueFull",
|
|
30
|
+
"asyncio.queues.QueueShutDown": "asyncio.QueueShutDown",
|
|
31
|
+
"asyncio.runners.Runner": "asyncio.Runner",
|
|
32
|
+
"asyncio.streams.StreamReader": "asyncio.StreamReader",
|
|
33
|
+
"asyncio.streams.StreamReaderProtocol": "asyncio.StreamReaderProtocol",
|
|
34
|
+
"asyncio.streams.StreamWriter": "asyncio.StreamWriter",
|
|
35
|
+
"asyncio.taskgroups.TaskGroup": "asyncio.TaskGroup",
|
|
36
|
+
"asyncio.timeouts.Timeout": "asyncio.Timeout",
|
|
37
|
+
"asyncio.transports.BaseTransport": "asyncio.BaseTransport",
|
|
38
|
+
"asyncio.transports.DatagramTransport": "asyncio.DatagramTransport",
|
|
39
|
+
"asyncio.transports.ReadTransport": "asyncio.ReadTransport",
|
|
40
|
+
"asyncio.transports.SubprocessTransport": "asyncio.SubprocessTransport",
|
|
41
|
+
"asyncio.transports.Transport": "asyncio.Transport",
|
|
42
|
+
"asyncio.transports.WriteTransport": "asyncio.WriteTransport",
|
|
43
|
+
"asyncio.unix_events.AbstractChildWatcher": "asyncio.AbstractChildWatcher",
|
|
44
|
+
"asyncio.unix_events.FastChildWatcher": "asyncio.FastChildWatcher",
|
|
45
|
+
"asyncio.unix_events.MultiLoopChildWatcher": "asyncio.MultiLoopChildWatcher",
|
|
46
|
+
"asyncio.unix_events.PidfdChildWatcher": "asyncio.PidfdChildWatcher",
|
|
47
|
+
"asyncio.unix_events.SafeChildWatcher": "asyncio.SafeChildWatcher",
|
|
48
|
+
"asyncio.unix_events.ThreadedChildWatcher": "asyncio.ThreadedChildWatcher",
|
|
49
|
+
"asyncio.windows_events.IocpProactor": "asyncio.IocpProactor",
|
|
50
|
+
"asyncio.windows_events.ProactorEventLoop": "asyncio.ProactorEventLoop",
|
|
51
|
+
"asyncio.windows_events.WindowsProactorEventLoopPolicy": "asyncio.WindowsProactorEventLoopPolicy",
|
|
52
|
+
"asyncio.windows_events.WindowsSelectorEventLoopPolicy": "asyncio.WindowsSelectorEventLoopPolicy",
|
|
53
|
+
"compression.bz2.BZ2Compressor": "bz2.BZ2Compressor",
|
|
54
|
+
"compression.bz2.BZ2Decompressor": "bz2.BZ2Decompressor",
|
|
55
|
+
"compression.bz2.BZ2File": "bz2.BZ2File",
|
|
56
|
+
"compression.gzip.BadGzipFile": "gzip.BadGzipFile",
|
|
57
|
+
"compression.gzip.GzipFile": "gzip.GzipFile",
|
|
58
|
+
"compression.lzma.LZMACompressor": "lzma.LZMACompressor",
|
|
59
|
+
"compression.lzma.LZMADecompressor": "lzma.LZMADecompressor",
|
|
60
|
+
"compression.lzma.LZMAError": "lzma.LZMAError",
|
|
61
|
+
"compression.lzma.LZMAFile": "lzma.LZMAFile",
|
|
62
|
+
"compression.zlib.error": "zlib.error",
|
|
63
|
+
"concurrent.futures.TimeoutError": "asyncio.TimeoutError",
|
|
64
|
+
"concurrent.futures.interpreter.InterpreterPoolExecutor": "concurrent.futures.InterpreterPoolExecutor",
|
|
65
|
+
"concurrent.futures.process.ProcessPoolExecutor": "concurrent.futures.ProcessPoolExecutor",
|
|
66
|
+
"concurrent.futures.thread.ThreadPoolExecutor": "concurrent.futures.ThreadPoolExecutor",
|
|
67
|
+
"distutils.command.build_py.Mixin2to3": "distutils.util.Mixin2to3",
|
|
68
|
+
"distutils.command.build_scripts.Mixin2to3": "distutils.util.Mixin2to3",
|
|
69
|
+
"distutils.core.Command": "distutils.cmd.Command",
|
|
70
|
+
"distutils.core.Distribution": "distutils.dist.Distribution",
|
|
71
|
+
"distutils.core.Extension": "distutils.extension.Extension",
|
|
72
|
+
"importlib.resources.ResourceReader": "importlib.abc.ResourceReader",
|
|
73
|
+
"importlib.resources.abc.Traversable": "importlib.abc.Traversable",
|
|
74
|
+
"importlib.resources.abc.TraversableResources": "importlib.abc.TraversableResources",
|
|
75
|
+
"importlib.resources.readers.FileReader": "importlib.readers.FileReader",
|
|
76
|
+
"importlib.resources.readers.MultiplexedPath": "importlib.readers.MultiplexedPath",
|
|
77
|
+
"importlib.resources.readers.NamespaceReader": "importlib.readers.NamespaceReader",
|
|
78
|
+
"importlib.resources.readers.ZipReader": "importlib.readers.ZipReader",
|
|
79
|
+
"importlib.resources.simple.ResourceContainer": "importlib.simple.ResourceContainer",
|
|
80
|
+
"importlib.resources.simple.ResourceHandle": "importlib.simple.ResourceHandle",
|
|
81
|
+
"importlib.resources.simple.SimpleReader": "importlib.simple.SimpleReader",
|
|
82
|
+
"importlib.resources.simple.TraversableReader": "importlib.simple.TraversableReader",
|
|
83
|
+
"json.decoder.JSONDecodeError": "json.JSONDecodeError",
|
|
84
|
+
"json.decoder.JSONDecoder": "json.JSONDecoder",
|
|
85
|
+
"json.encoder.JSONEncoder": "json.JSONEncoder",
|
|
86
|
+
"multiprocessing.context.AuthenticationError": "multiprocessing.AuthenticationError",
|
|
87
|
+
"multiprocessing.context.BufferTooShort": "multiprocessing.BufferTooShort",
|
|
88
|
+
"multiprocessing.context.Process": "multiprocessing.Process",
|
|
89
|
+
"multiprocessing.context.ProcessError": "multiprocessing.ProcessError",
|
|
90
|
+
"multiprocessing.context.TimeoutError": "multiprocessing.TimeoutError",
|
|
91
|
+
"multiprocessing.dummy.Barrier": "threading.Barrier",
|
|
92
|
+
"multiprocessing.dummy.BoundedSemaphore": "threading.BoundedSemaphore",
|
|
93
|
+
"multiprocessing.dummy.Condition": "threading.Condition",
|
|
94
|
+
"multiprocessing.dummy.Event": "threading.Event",
|
|
95
|
+
"multiprocessing.dummy.Semaphore": "threading.Semaphore",
|
|
96
|
+
"nt.stat_result": "os.stat_result",
|
|
97
|
+
"nt.statvfs_result": "os.statvfs_result",
|
|
98
|
+
"nt.terminal_size": "os.terminal_size",
|
|
99
|
+
"nt.times_result": "os.times_result",
|
|
100
|
+
"nt.uname_result": "os.uname_result",
|
|
101
|
+
"posix.sched_param": "os.sched_param",
|
|
102
|
+
"posix.stat_result": "os.stat_result",
|
|
103
|
+
"posix.statvfs_result": "os.statvfs_result",
|
|
104
|
+
"posix.terminal_size": "os.terminal_size",
|
|
105
|
+
"posix.times_result": "os.times_result",
|
|
106
|
+
"posix.uname_result": "os.uname_result",
|
|
107
|
+
"posix.waitid_result": "os.waitid_result",
|
|
108
|
+
"secrets.SystemRandom": "random.SystemRandom",
|
|
109
|
+
"sqlite3.dbapi2.Blob": "sqlite3.Blob",
|
|
110
|
+
"sqlite3.dbapi2.Connection": "sqlite3.Connection",
|
|
111
|
+
"sqlite3.dbapi2.Cursor": "sqlite3.Cursor",
|
|
112
|
+
"sqlite3.dbapi2.DataError": "sqlite3.DataError",
|
|
113
|
+
"sqlite3.dbapi2.DatabaseError": "sqlite3.DatabaseError",
|
|
114
|
+
"sqlite3.dbapi2.Error": "sqlite3.Error",
|
|
115
|
+
"sqlite3.dbapi2.IntegrityError": "sqlite3.IntegrityError",
|
|
116
|
+
"sqlite3.dbapi2.InterfaceError": "sqlite3.InterfaceError",
|
|
117
|
+
"sqlite3.dbapi2.InternalError": "sqlite3.InternalError",
|
|
118
|
+
"sqlite3.dbapi2.NotSupportedError": "sqlite3.NotSupportedError",
|
|
119
|
+
"sqlite3.dbapi2.OperationalError": "sqlite3.OperationalError",
|
|
120
|
+
"sqlite3.dbapi2.PrepareProtocol": "sqlite3.PrepareProtocol",
|
|
121
|
+
"sqlite3.dbapi2.ProgrammingError": "sqlite3.ProgrammingError",
|
|
122
|
+
"sqlite3.dbapi2.Row": "sqlite3.Row",
|
|
123
|
+
"sqlite3.dbapi2.Warning": "sqlite3.Warning",
|
|
124
|
+
"sre_compile.error": "re.error",
|
|
125
|
+
"sre_constants.error": "re.error",
|
|
126
|
+
"sre_parse.error": "re.error",
|
|
127
|
+
"unittest.async_case.IsolatedAsyncioTestCase": "unittest.IsolatedAsyncioTestCase",
|
|
128
|
+
"unittest.case.FunctionTestCase": "unittest.FunctionTestCase",
|
|
129
|
+
"unittest.case.SkipTest": "unittest.SkipTest",
|
|
130
|
+
"unittest.case.TestCase": "unittest.TestCase",
|
|
131
|
+
"unittest.loader.TestLoader": "unittest.TestLoader",
|
|
132
|
+
"unittest.main.TestProgram": "unittest.TestProgram",
|
|
133
|
+
"unittest.result.TestResult": "unittest.TestResult",
|
|
134
|
+
"unittest.runner.TextTestRunner": "unittest.TextTestRunner",
|
|
135
|
+
"unittest.suite.BaseTestSuite": "unittest.BaseTestSuite",
|
|
136
|
+
"unittest.suite.TestSuite": "unittest.TestSuite",
|
|
137
|
+
"urllib.request.HTTPError": "urllib.error.HTTPError",
|
|
138
|
+
"xml.etree.cElementTree.C14NWriterTarget": "xml.etree.ElementTree.C14NWriterTarget",
|
|
139
|
+
"xml.etree.cElementTree.ParseError": "xml.etree.ElementTree.ParseError",
|
|
140
|
+
"xml.etree.cElementTree.QName": "xml.etree.ElementTree.QName",
|
|
141
|
+
"xml.etree.cElementTree.TreeBuilder": "xml.etree.ElementTree.TreeBuilder",
|
|
142
|
+
"xml.parsers.expat.ExpatError": "pyexpat.ExpatError",
|
|
143
|
+
"xml.parsers.expat.XMLParserType": "pyexpat.XMLParserType",
|
|
144
|
+
"xml.sax.handler.ContentHandler": "xml.sax.ContentHandler",
|
|
145
|
+
"xml.sax.handler.ErrorHandler": "xml.sax.ErrorHandler",
|
|
146
|
+
"xml.sax.xmlreader.InputSource": "xml.sax.InputSource"
|
|
147
|
+
}
|