python / python/mypy

pynamodb_mypy plugin issue

Offen
#20,746 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug topic-plugins
Vorherrschende Sprache
Python
Sterne
20.6k
Forks
3.3k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Bug Report
Issue related to pynamodb_mypy:

Traceback (most recent call last):
  File "mypy/checkexpr.py", line 6103, in accept
  File "mypy/checkexpr.py", line 6138, in accept_maybe_cache
  File "mypy/nodes.py", line 2289, in accept
  File "mypy/checkexpr.py", line 508, in visit_call_expr
  File "mypy/checkexpr.py", line 645, in visit_call_expr_inner
  File "mypy/checkexpr.py", line 1496, in check_call_expr_with_callee_type
  File "mypy/checkexpr.py", line 1589, in check_call
  File "mypy/checkexpr.py", line 1832, in check_callable_call
  File "mypy/checkexpr.py", line 1270, in apply_function_plugin
  File "/Users/style/cfa/d20-functions/.venv/lib/python3.12/site-packages/pynamodb_mypy/plugin.py", line 150, in _get_function_hook__pynamodb_attribute__init__
    self._inspect_pynamodb_attribute_init(ctx)
  File "/Users/style/cfa/d20-functions/.venv/lib/python3.12/site-packages/pynamodb_mypy/plugin.py", line 207, in _inspect_pynamodb_attribute_init
    attr_type = get_descriptor_access_type(ctx.context, internal_api, attr_instance)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/style/cfa/d20-functions/.venv/lib/python3.12/site-packages/pynamodb_mypy/_private_api.py", line 20, in get_descriptor_access_type
    mypy.checkmember.MemberContext(
TypeError: 'msg' is an invalid keyword argument for __init__()

Your Environment

  • Mypy version used: 1.19.1
  • Mypy command-line flags: --show-traceback
  • Mypy configuration options from mypy.ini (and other config files):
[tool.mypy]
packages = ['app', "slack_app", ]
python_version = "3.12"
strict = true
plugins = ['pynamodb_mypy']
exclude = [
    '.*/site-packages/.*',
    'otp',
    '^app/test',
    '^slack_app/test',
]
  • Python version used: 3.12.2

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Mit Python 3.12.2, mypy 1.19.1, der gezeigten strikten Konfiguration und --show-traceback reproduzieren. Dann pynamodb_mypy/plugin.py und pynamodb_mypy/_private_api.py im Umfeld von _inspect_pynamodb_attribute_init und get_descriptor_access_type untersuchen und dabei den MemberContext-Aufruf vergleichen; als erledigt gilt, wenn dieselbe Prüfung ohne den gemeldeten TypeError abgeschlossen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
compilers, devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.