Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

proper support of __get_pydantic_core_schema__

Offen
#646 7 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
tooling

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

enhancement
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

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus danielgtaylor/python-betterproto

Alle Issues in danielgtaylor/python-betterproto

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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