GraalPy

Java 用の高性能な埋め込み可能な Python 3 ランタイム

利点

access icon

Java 用 Python

Java で直接 Python パッケージを読み込んで使用
compatibility icon

Python 3 互換

最新の Python AI およびデータサイエンスパッケージを実行
speed icon

JVM 上で最速の Python

Graal JIT はネイティブコード速度のために Python をコンパイルします
upgrade icon

JVM 用のモダンな Python

GraalPy は Jython ユーザー向けのアップグレードパスを提供します
code icon

Python で Java のスクリプト作成

Java クラスおよびフレームワークと対話する Python スクリプトを使用してアプリケーションを拡張
binary icon

簡単な配布

GraalVM ネイティブイメージを使用して Python アプリケーションを単一のバイナリとしてパッケージ化

はじめに

1. Maven Central から GraalPy を依存関係として追加


<dependency>
  <groupId>org.graalvm.polyglot</groupId>
  <artifactId>polyglot</artifactId> 
  <version>24.1.1</version>
</dependency>
<dependency>
  <groupId>org.graalvm.polyglot</groupId>
  <artifactId>python</artifactId> 
  <version>24.1.1</version>
  <type>pom</type>
</dependency>
                

または


implementation("org.graalvm.polyglot:polyglot:24.1.1")
implementation("org.graalvm.polyglot:python:24.1.1")
                

2. Java に Python コードを埋め込む


import org.graalvm.polyglot.Context;

try (Context context = Context.create()) {
    context.eval("python", "print('Hello from GraalPy!')");
}
                

3. 追加の Python パッケージ用の GraalPy プラグインを追加 (オプション)


<plugin>
  <groupId>org.graalvm.python</groupId>
  <artifactId>graalpy-maven-plugin</artifactId>
  <version>24.1.1</version>
  <executions>
    <execution>
      <configuration>
        <packages>
          <!-- Select Python packages to install via pip. -->
          <package>pyfiglet==1.0.2</package>
        </packages>
      </configuration>
      <goals>
        <goal>process-graalpy-resources</goal>
      </goals>
    </execution>
  </executions>
</plugin>
                

または


plugins {
    id("org.graalvm.python") version "24.1.1"
}

graalPy {
    packages = setOf("pyfiglet==1.0.2")
}
                

GraalPy クイックスタート

このスタータープロジェクトで早速始めましょう

ビデオ

Python で Java アプリケーションを強化しましょう!

Python エコシステムは、データサイエンス、機械学習などに多くの強力なパッケージを提供しており、これらを Java で活用できるようになりました。GraalPy を Java プロジェクトの依存関係として追加して開始できます。追加の Python パッケージのインストールに役立つ GraalPy の Maven および Gradle プラグインもあります。このプレゼンテーションでは、Python でデータを視覚化する Spring Boot アプリケーション、JBang! 上で実行される Python、Python でスクリプト化された Java アプリケーションなど、さまざまなユースケースを示すライブデモも紹介します。

お問い合わせ