A modular toolkit for running Python and JavaScript inside JVM applications via GraalVM Polyglot.
This repository contains:
polyglot-core— framework-agnostic Java SDK (executors, binding, context helper)polyglot-spring-boot-starter— Spring Boot 4 auto-configuration + client scanning + Actuator/Micrometerpolyglot-bom— BOM for consistent dependency versionsexamples/— demo apps
.
├── polyglot-bom/
├── polyglot-core/
├── polyglot-spring-boot-starter/
├── examples/
├── scripts/
├── pom.xml
├── CHANGELOG.md
├── CONTRIBUTING.md
├── CODE_OF_CONDUCT.md
├── LICENSE
└── Taskfile.yaml
- JDK 25+
- GraalVM 25.x+
- Maven 3.9+
The starter targets Spring Boot 4.x.
Import the BOM and then add the module(s) you need without versions:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.ih0r-d</groupId>
<artifactId>polyglot-bom</artifactId>
<version>${polyglot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement><dependency>
<groupId>io.github.ih0r-d</groupId>
<artifactId>polyglot-adapter</artifactId>
</dependency><dependency>
<groupId>io.github.ih0r-d</groupId>
<artifactId>polyglot-spring-boot-starter</artifactId>
</dependency>The project keeps language engines optional to avoid unwanted transitive pulls.
<dependency>
<groupId>org.graalvm.python</groupId>
<artifactId>python-embedding</artifactId>
<version>25.0.1</version>
</dependency>
<dependency>
<groupId>org.graalvm.python</groupId>
<artifactId>python-launcher</artifactId>
<version>25.0.1</version>
</dependency><dependency>
<groupId>org.graalvm.js</groupId>
<artifactId>js</artifactId>
<version>25.0.1</version>
<type>pom</type>
</dependency>Licensed under the Apache License 2.0.
See LICENSE for details.