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

feat(deps)!: make all de/serialization libraries optional

Ouverte
#979 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

@Simoh23999 y travaille déjà.

Depuis le 30/7/2026.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Calme
Stack technique
python
Domaine
backend

Piste de recherche

Commencez par vérifier les déclarations de dépendances et les imports de sérialisation à l’exécution, puis comparez les points d’entrée proposés _opt/serialization.py et models/bom.py. Vérifiez que l’utilisation limitée à la validation fonctionne sans dépendances de sérialisation, tandis que la sérialisation signale clairement la dépendance optionnelle manquante ; testez les cas où la dépendance est installée et ceux où elle est absente.

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

Description

breaking change dependencies

when using this library for validation, i dont need to have the de/serialization dependencies installed.

goal

make all de/serialization libraries optional

solution

  • make de/serialization dependnecies optional, and installable in an extra called "de/serialization" orsomething
  • have a private module that tries to load optional de/serialization libs, and if this fails, then provide stubs.
  • runtime shall not use any de/serialization dependencies directly, but use the own optionally loaded ones (see above)

possible implementation (pseudo)

# file: _opt/serialization.py

__all__ = ['Serializer']

try:
  from serializaers import Serializer
except:
  # stubs
  class Serializer:
    def to_json() -> Never:
      raise Error('missing serializer, install optional dependnecy "serializaers"')
    def from_json() -> Never:
      raise Error('missing serializer, install optional dependnecy "serializaers"')
# file: models/bom.py

from .._opt.serialization import Serializer

class Bom(Serializer):
  ...

Langage dominant
Python
Étoiles
117
Forks
67
Merge moyen
8 min
PR mergées (30 j)
1

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 CycloneDX/cyclonedx-python-lib

Toutes les issues de CycloneDX/cyclonedx-python-lib

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.