mypy ./ --show-traceback
./mwl_cost/core/db/invoice.py:28: error: INTERNAL ERROR -- Please try using mypy master on GitHub:
https://mypy.readthedocs.io/en/stable/common_issues.html#using-a-development-mypy-build
Please report a bug at https://github.com/python/mypy/issues
version: 1.10.0+dev.a18a0db0c77e71050aaf31a53ad1fba8c663fd1a
Traceback (most recent call last):
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/bin/mypy", line 8, in <module>
sys.exit(console_entry())
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/__main__.py", line 15, in console_entry
main()
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/main.py", line 100, in main
res, messages, blockers = run_build(sources, options, fscache, t0, stdout, stderr)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/main.py", line 182, in run_build
res = build.build(sources, options, None, flush_errors, fscache, stdout, stderr)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/build.py", line 192, in build
result = _build(
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/build.py", line 266, in _build
graph = dispatch(sources, manager, stdout)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/build.py", line 2942, in dispatch
process_graph(graph, manager)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/build.py", line 3340, in process_graph
process_stale_scc(graph, scc, manager)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/build.py", line 3435, in process_stale_scc
mypy.semanal_main.semantic_analysis_for_scc(graph, scc, manager.errors)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/semanal_main.py", line 93, in semantic_analysis_for_scc
process_top_levels(graph, scc, patches)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/semanal_main.py", line 220, in process_top_levels
deferred, incomplete, progress = semantic_analyze_target(
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/semanal_main.py", line 349, in semantic_analyze_target
analyzer.refresh_partial(
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/semanal.py", line 599, in refresh_partial
self.refresh_top_level(node)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/semanal.py", line 610, in refresh_top_level
self.accept(d)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/semanal.py", line 6695, in accept
node.accept(self)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/nodes.py", line 1142, in accept
return visitor.visit_class_def(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/semanal.py", line 1621, in visit_class_def
self.analyze_class(defn)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/semanal.py", line 1706, in analyze_class
self.analyze_class_body_common(defn)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/semanal.py", line 1740, in analyze_class_body_common
self.apply_class_plugin_hooks(defn)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/mypy/semanal.py", line 1825, in apply_class_plugin_hooks
hook(ClassDefContext(defn, base_expr, self))
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/sqlalchemy/ext/mypy/plugin.py", line 277, in _base_cls_hook
decl_class.scan_declarative_assignments_and_apply_types(ctx.cls, ctx.api)
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/sqlalchemy/ext/mypy/decl_class.py", line 97, in scan_declarative_assignments_and_apply_types
_scan_declarative_assignment_stmt(
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/sqlalchemy/ext/mypy/decl_class.py", line 458, in _scan_declarative_assignment_stmt
python_type_for_type = infer.infer_type_from_right_hand_nameexpr(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/sqlalchemy/ext/mypy/infer.py", line 59, in infer_type_from_right_hand_nameexpr
python_type_for_type = _infer_type_from_relationship(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/bukowski/Library/Caches/pypoetry/virtualenvs/mwl-cost-Ajo0IwpA-py3.12/lib/python3.12/site-packages/sqlalchemy/ext/mypy/infer.py", line 111, in _infer_type_from_relationship
target_cls_arg = stmt.rvalue.args[0]
~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range
./mwl_cost/core/db/invoice.py:28: : note: use --pdb to drop into pdb
Traceback
(Insert traceback and other messages from mypy here -- use `--show-traceback`.)
To Reproduce
exchange_table: Mapped[Optional["ExchangeTable"]] = relationship()
when using sqlalchemy relationship with any arguments
Thanks! It looks from the traceback like this is a bug in the sqlalchemy mypy plugin, so this should probably be reported over at their repo unfortunately.
Crash Report
Traceback
To Reproduce
Your Environment
mypy.ini
(and other config files):