Bridge que expone, desde Python, las operaciones de libredte/libredte-lib-core, a través de libredte-lib-core-dispatcher, usando derafu-backbone-bridge como base.
from libredte_lib_core_bridge import Dispatcher
dispatcher = Dispatcher() # environment='prod', debug=False por defecto
result = dispatcher.dispatch(
'billing.identifier.caf_loader::load',
xml=xml_base64,
)
caf = result.value
result.metadata # ExecutionMetadata: tiempo, memoria, etc.dispatch() nunca deja pasar un error de PHP sin tipar: lanza una excepción
Python (derafu_backbone_bridge.BackboneBridgeError o una de sus
subclases) en vez de una excepción PHP cruda. Esa excepción carga el
Problem/ExecutionMetadata reales detrás del error (.problem,
.metadata), no solo un mensaje y un nombre de clase.
Dispatcheres una subclase dederafu_backbone_bridge.GenericDispatcher, pre-cableada con elBootstrap::boot()delibredte-lib-core-dispatcher.- No sabe dónde vive el código PHP en disco: eso se resuelve vía la variable
de entorno
BACKBONE_DISPATCHER_AUTOLOAD(o pasandoautoload_pathexplícito al construirDispatcher). - No importa
phpyen ningún punto: todo el manejo dephpyvive dentro dederafu-backbone-bridge.
make install-dev
make check # ruff + testsLos tests requieren phpy (solo disponible dentro del contenedor
docker-python3.14-caddy-server construido con PHPY_ENABLED=true) y
una instalación real de libredte-lib-core-dispatcher (con sus propias
dependencias de Composer) accesible en disco. No usan ningún fixture
externo: generan un CAF real y válido en memoria vía el propio
caf_faker::create de libredte-lib-core.
Este proyecto es software libre y puede ser redistribuido y/o modificado bajo los términos de la Licencia Pública General Affero de GNU (AGPL), versión 3 o (a elección) cualquier versión posterior. Ver COPYING.