Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

proper support of __get_pydantic_core_schema__

Ouverte
#646 7 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
tooling

Piste de recherche

Commencez dans src/betterproto/enum.py, autour de la restriction des attributs liés, et examinez la manière dont les classes Enum générées gèrent setattr. Comparez ce comportement avec les indications sur les types personnalisés de Pydantic liées dans l’issue, puis vérifiez si le fait d’autoriser get_pydantic_core_schema affecte d’autres chemins Enum. Le travail est terminé lorsque les méthodes d’intégration privées fonctionnent sans autoriser d’autres attributs publics.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Python
Étoiles
1.8k
Forks
235
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de danielgtaylor/python-betterproto

Toutes les issues de danielgtaylor/python-betterproto

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.