Adding a Python integration¶
The desktop app must not learn how each service is launched. Register it in the supervisor.
- Add the module and pin dependencies in
sidecar/dtam/pyproject.tomlorruntime/python/requirements-runtime.txt(numpy 2 compatible). - Register a
ServiceDefinruntime/python/adelpha_runtime/registry.py: - unique
id required/start(alwaysvslazy)mount_factory(in-process ASGI) orchild_factory(isolated process)- health path, restart policy, version, description
- If it is HTTP, mount it under
/api/<id>/inruntime/python/adelpha_runtime/gateway.pyor reverse-proxy an internal port. Do not expose a new fixed port to the frontend. - Declare PyInstaller datas / hiddenimports in
runtime/python/adelpha-python-runtime.spec. - Add tests in
runtime/python/tests/(startup, health, failure, cleanup). - Rebuild the sidecar on each OS/arch (
make sidecar). - Produce installers (
make dist-current/ CI matrix).
The React client should keep using /api/<name> on the injected supervisor
base URL plus the session token.