The scripting runtime now dispatches <script type='python'> elements to GraalPy, the GraalVM-hosted Python interpreter, without any explicit configuration at the script or application level. Both Python and JavaScript scripts coexist in the same module and share the same server-side API surface, security context, and lifecycle management. The engine is selected at parse time based on the declared type attribute.
Runtime behaviour
- Transparent engine selection. Setting
type='python'on a script element is the only change required; the runtime selects GraalPy automatically and applies the same execution context as JavaScript scripts. - Shared platform API surface. Python scripts access the same data-access layer, service calls, and scripting utilities available to JavaScript — the engine selection does not restrict the API surface for either language.
- Single deployment unit. Applications that mix Python and JavaScript logic deploy as a single module; no separate runtime configuration or interpreter management is required.
Deployment requirements
- GraalVM JDK. GraalPy runs as a GraalVM polyglot language; the GraalVM JDK must be present in the deployment environment. Deployments already running on GraalVM gain Python support without an additional installation step.
- Existing scripts unaffected. Scripts without a type attribute, or with
type='javascript', continue to execute on the JavaScript engine with no change in behaviour or performance characteristics.
Python support extends the server-side scripting surface to workloads where Python library ecosystems or team convention make it the preferred language for business logic, data transformation, or integration scripts.