Skip to content

v1.0.0 - First Stable Release

Choose a tag to compare

@howtis howtis released this 23 Jun 09:44

What's New

Core Runtime

  • Embed CPython in JVM via subprocess + MessagePack binary protocol
  • PythonEmbed runtime with eval, exec, execFile, and toJson APIs
  • PythonEmbedPool with auto-scaling and async CompletableFuture API
  • Object handles with numeric ID referencing for long-lived Python objects
  • Generator/streaming support via Java Iterator
  • Python-to-Java callbacks via _bridge.call() and _bridge.push()
  • Batch execution (batchEval/batchExec) for multiple requests in one round-trip
  • Proxy objects (PythonProxy) with dynamic Java interface implementation
  • Builder API with fluent construction for PythonEmbed and PythonEmbedPool
  • Type-safe argument conversion (arg()): null, Boolean, Number, String, List, Map, Set, byte[], datetime
  • Python log forwarding to SLF4J via python.* logger namespace
  • Periodic health check with RSS memory, ref count, and GC status reporting
  • Close hook support for resource cleanup

Spring Boot Starter

  • Spring Boot 3.x auto-configuration (python-embed-spring-boot-starter)
  • SINGLE and POOL modes with Actuator HealthIndicator

Gradle Plugin

  • Gradle plugin (python-embed-gradle-plugin) for venv creation and package installation
  • Python auto-download via python-build-standalone when system Python is absent

Examples

  • 13 example applications in python-embed-examples