Typing decorators which enrich a class
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 1.8k
- Forks
- 302
- Ø Merge
- 23 Std.
- Gemergte PRs (30 T.)
- 8
Beschreibung
Hi
I would like to type a decorator which takes as input a class and returns the same class with added attributes, i.e., a subclass.
Example:
import typing
_T = typing.TypeVar("_T")
def config(*, /, prefix: str) -> typing.Callable[[typing.Type[_T], ???]:
def wrap(cls: typing.Type[_T]) -> ???:
class Subclass(cls): # or could do cls.prefix = prefix instead of subclassing
prefix: str = prefix
return Subclass
return wrap
@config(prefix="test")
class A:
...
print(A.prefix)
Been searching for an answer and experimenting for a few days now and can't find anything concrete. Any help would be much appreciated
Thank you
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
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
Es werden keine Dateien, Tests oder Einstiegspunkte genannt. Beginne damit, die aktuelle Anleitung zur Typisierung von Klassendekoratoren und das Verhalten von Typprüfern für die gezeigten config- und wrap-Signaturen zu überprüfen; als abgeschlossen sollte gelten, dass es eine dokumentierte, akzeptierte Möglichkeit gibt, den Typ der Eingabeklasse beizubehalten und gleichzeitig das hinzugefügte Attribut prefix verfügbar zu machen.
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
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100