Allow to register new class/dataclass/attribute makers in attrs plugin
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
This is a feature request.
attrs is very much intended to be composable (e.g. https://github.com/hynek/environ_config) but currently the attrs plugin only works on the core library's functions: https://github.com/python/mypy/blob/b2d61741623f2a0573f2b1bdb8391ceed862cf69/mypy/plugins/attrs.py#L24-L37
I would like to be able to signal somehow to mypy, that some function is a wrapper around @attr.s/@attr.ib/@attr.dataclass. Not only would third-party applications benefit, but I could really use it while experimenting on https://github.com/python-attrs/attrs/issues/408.
Any ideas/plans how we could achieve that?
cc also @euresti & @chadrik
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit mypy/plugins/attrs.py, insbesondere mit den Kernbibliotheksfunktionen, die ungefähr in den Zeilen 24–37 aufgeführt sind, und verfolge, wie das attrs-Plugin @attr.s, @attr.ib und @attr.dataclass erkennt. Sieh dir das verknüpfte attrs-Issue für den zugrunde liegenden Wrapper-Anwendungsfall an. Als abgeschlossen gilt die Aufgabe, wenn es eine dokumentierte und getestete Möglichkeit für Wrapper von Drittanbietern gibt, ein gleichwertiges Verhalten für Klassen, Dataclasses oder Attribut-Ersteller zu registrieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100