π΄ Palm Engine 0.39.0 β Analytics plane + reactive foundations
Bundled release since 0.34.5 (0.35β0.39).
Definition-driven data plane (Analytics + dashboards) plus control-plane foundations (WorkIntent, triggers, event journal). Palm provider system inspect for ops datasets (local or remote Palm).
| PyPI | palmengine==0.39.0 |
| Import | palm |
| Tag | v0.39.0 |
| Previous | 0.34.5 |
| Docs | VISION-0.35 Β· VISION-0.36 Β· ADR-014 Β· RELEASE-0.39.0 |
Highlights
Analytics (0.35β0.36)
AnalyticsServiceβ list / describe / query; published-only gate; read-action allowlist- Present profiles: raw Β· table Β· series Β· kpi
- REST
/v1/api/analytics/*Β· static dogfood/analytics/ - Virtual views β
source+transform(e.g.count_by) at query time - Todos pack: durable list + virtual priority view + dashboard
palm-todos
Reactive foundations (0.37β0.38)
WorkIntent(pure core) + durable store + coalesce- Triggers: schedule / on_flow / on_resource (parse + registry)
resource.changedon mutating provider invokehost.tick_work()β run-when-able drain (Android-shaped)EventJournalβ offsets, consume, compact keys, redrive
Dashboards & system ops (0.39)
DashboardDefinition/ tiles β render = loopqueryonly- REST dashboards + UI
?dashboard= - Palm provider system-read:
list_jobs|instances|waiting|flows|resources(local + remote) - Pack
system/+ dashboardpalm-system - Virtual
palm-system-instances-per-flow(instances Γ flow)
Try it
uv pip install 'palmengine==0.39.0'
just palm-server
open http://127.0.0.1:8080/analytics/?dashboard=palm-system
open http://127.0.0.1:8080/analytics/?dashboard=palm-todoscurl -s -H 'X-Palm-Subject: dev' \
http://127.0.0.1:8080/v1/api/analytics/dashboards/palm-system/render | jq
curl -s -H 'X-Palm-Subject: dev' -H 'Content-Type: application/json' \
-d '{"dataset":"palm-system-instances-per-flow","profile":"series"}' \
http://127.0.0.1:8080/v1/api/analytics/query | jqUpgrade notes
- Non-breaking for existing MCP/REST flows
- New optional surfaces only (analytics, work drain, journal, dashboards)
- Work drain is explicit (
tick_work); not a continuous background Kafka consumer - Dashboard registry reloads with host/example packs (in-process)
- Hello reports 0.39.0
Still open (VISION-0.36+)
Trigger dogfood on example packs Β· continuous drain loop Β· journal multi-consumer production polish Β· design-time dashboard authoring Β· full virtual-view library beyond count_by
Related: 0.34.5 Assist remote Β· 0.32.10 WebSocket + Portal