proper support of __get_pydantic_core_schema__
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne in src/betterproto/enum.py ungefähr bei der Einschränkung verknüpfter Attribute und untersuche, wie generierte Enum-Klassen setattr behandeln. Vergleiche dieses Verhalten mit den im Issue verlinkten Anleitungen zu benutzerdefinierten Pydantic-Typen und prüfe anschließend, ob das Zulassen von get_pydantic_core_schema andere Enum-Pfade beeinflusst. Erledigt ist die Aufgabe, wenn private Integrationsmethoden funktionieren, ohne das Setzen anderer öffentlicher Attribute zu erlauben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
I'd like to dynamically add non-public methods to my Enums
What is the feature request for?
The core library
The Problem
I'm mixing up betterproto.Enum with pydantic classes for easier conversion between my database objects and protobuf messages. To use pydantic, I have to add validator based on this instruction. Thus, I decided to dynamically add a class method to a generated betterproto.Enum. However, betterproto.enum does not allow it by this
Are there any other parts of the code affected by adding a custom function __get_pydantic_core_schema__ to my generated Enum?
The Ideal Solution
I'd like __set_attr__ to accept new attributes if the new attributes are private (i.e.,starting with __) I can contribute if this direction is acceptable.
The Current Solution
If no other solutions, I will fork this repo and just remove the constraint. I don't like to fork for a hack.
- Vorherrschende Sprache
- Python
- Sterne
- 1.8k
- Forks
- 235
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus danielgtaylor/python-betterproto
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
-
bug investigation needed
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 42/100
-
bug investigation needed
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
-
bug investigation needed
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
danielgtaylor/python-betterproto#676 · 3 Kommentare ·
Alle Issues in danielgtaylor/python-betterproto
Ähnliche Issues
-
type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
push_gh-pages fails on master branch on forksEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offengood first issue infrastructure
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
kuznia-rdzeni/coreblocks#1135 ·
-
good first issue server
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation priority: high
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
a-lex-s/mealie-telegram-bot#54 ·
Maintainer antworten meist innerhalb von 1 Tag