feat(deps)!: make all de/serialization libraries optional
Los mantenedores suelen responder en 1 día
@Simoh23999 ya está trabajando en esto.
Desde el 30/7/2026.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Empieza revisando las declaraciones de dependencias y las importaciones de serialización en tiempo de ejecución; después, compara los puntos de entrada propuestos _opt/serialization.py y models/bom.py. Verifica que el uso exclusivo para validación funcione sin dependencias de serialización, mientras que la serialización informe claramente de la dependencia opcional que falta; prueba tanto los casos con la dependencia instalada como los casos sin ella.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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):
...
- Lenguaje dominante
- Python
- Estrellas
- 117
- Forks
- 67
- Merge medio
- 21 h 9 min
- PR fusionados (30 d)
- 3
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CycloneDX/cyclonedx-python-lib
-
[PERF] Quadratic (O(N^2)) serialization time for large BOMs — `Bom.validate()` → `register_dependency()` linear scanPosiblemente ocupada @inspired-geek la tomó hace 109 días. Abiertoperformance
Dificultad 3/5 1-2 días Aptitud para principiantes 36/100
CycloneDX/cyclonedx-python-lib#1006 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
tests: test all model enumsQuizá libre de nuevo @jkowalleck la tomó hace 124 días y no hay ningún pull request abierto. AbiertoQA
CycloneDX/cyclonedx-python-lib#991 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
feat: Add support for Component signaturePosiblemente ocupada @wiebe-vandendriessche la tomó hace 123 días. Abiertoenhancement help wanted schema 1.4
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
CycloneDX/cyclonedx-python-lib#978 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
chore: have coverage uploaded consitentlyQuizá libre de nuevo @jkowalleck la tomó hace 171 días y no hay ningún pull request abierto. Abiertochore
CycloneDX/cyclonedx-python-lib#966 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
chore: use dependabot cooldown periodQuizá libre de nuevo @jkowalleck la tomó hace 173 días y no hay ningún pull request abierto. Abiertochore
CycloneDX/cyclonedx-python-lib#965 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de CycloneDX/cyclonedx-python-lib
Issues similares
-
Update Python support to 3.15Abiertopython-version
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
bug javascript P2-medium python release:v3.1
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
adrirubio/claude-deck#546 ·
Los mantenedores suelen responder en 1 día
-
area: desktop area: website priority: P2 type: feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
appandflow/stim#3411 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 Menos de una hora Aptitud para principiantes 88/100
baptistehamon/lsapy#185 ·
Los mantenedores suelen responder en 1 día