Skip to content

Latest commit

 

History

History
244 lines (238 loc) · 12 KB

File metadata and controls

244 lines (238 loc) · 12 KB
layout base
permalink python-developers/
audience_identifier python

Build and Run Python Applications with GraalPy

compatibility icon

High-Performance Python

Speed up Python applications with the Graal JIT compiler
binary icon

Single-Binary Packaging

Package Python applications as a single binary
code icon

Java Interoperability

Use Java libraries in Python applications
<script> async function resolveEarlyAccessDownload(event, urlFile) { event.preventDefault(); try { const response = await fetch(urlFile); if (!response.ok) { throw new Error(`Failed to fetch ${urlFile}: ${response.status}`); } const artifactUrl = (await response.text()).trim(); if (!artifactUrl) { throw new Error(`Empty artifact URL in ${urlFile}`); } window.open(artifactUrl, '_blank', 'noopener'); } catch (error) { window.open(urlFile, '_blank', 'noopener'); } } </script>

Install or Download

GraalPy is available for multiple platforms in two variants: Native (for a compact download size and smaller footprint) and JVM (for full Java interoperability). Distributions based on Oracle GraalVM provide the best performance and advanced features and are released under the GFTC license. Distributions based on GraalVM Community Edition, released under the OSI-approved UPL license, are available on GitHub. See Choosing a GraalPy Distribution for guidance on selecting the appropriate runtime.
{%- highlight bash -%} # Latest GraalPy release pyenv install graalpy-{{ site.language_version }} pyenv shell graalpy-{{ site.language_version }}

On Windows (pyenv-win), provide platform-specific names

pyenv install graalpy-{{ site.language_version }}-windows-amd64 pyenv shell graalpy-{{ site.language_version }}-windows-amd64

Latest development build of GraalPy

pyenv install graalpy-dev pyenv shell graalpy-dev {%- endhighlight -%}

{%- highlight bash -%}

Install GraalPy with uv (uv selects GraalPy by Python language version)

uv python install graalpy-3.12

Create a virtual environment with GraalPy

uv venv --python graalpy-3.12 {%- endhighlight -%}

{%- highlight yml -%} steps:

  • uses: actions/checkout@v4
  • uses: actions/setup-python@v5 with: python-version: 'graalpy-{{ site.language_version }}'
  • run: python my_script.py {%- endhighlight -%}
    </div>
    <div class="languages__example-box">
      <div class="languages__snippet">
        <table class="centered">
          <tr>
            <th class="border-correct-3">Version</th>
            <th>Linux (aarch64)</th>
            <th>Linux (amd64)</th>
            <th>macOS (aarch64)</th>
            <th class="border-correct-4">Windows (amd64)</th>
          </tr>
          <tr>
            <td>
            {{ site.language_version }}
            </td>
            <td><a target="_blank" href="https://github.com/oracle/graalpython/releases/download/graal-{{ site.language_version }}/graalpy{{ site.python_version }}-{{ site.language_version }}-linux-aarch64.tar.gz">
            <img src="{{ '/assets/img/download-icon.svg' | relative_url }}" class="" alt="download icon">
            </a></td>
            <td><a target="_blank" href="https://github.com/oracle/graalpython/releases/download/graal-{{ site.language_version }}/graalpy{{ site.python_version }}-{{ site.language_version }}-linux-amd64.tar.gz">
            <img src="{{ '/assets/img/download-icon.svg' | relative_url }}" class="" alt="download icon">
            </a></td>
            <td><a target="_blank" href="https://github.com/oracle/graalpython/releases/download/graal-{{ site.language_version }}/graalpy{{ site.python_version }}-{{ site.language_version }}-macos-aarch64.tar.gz">
            <img src="{{ '/assets/img/download-icon.svg' | relative_url }}" class="" alt="download icon">
            </a></td>
            <td><a target="_blank" href="https://github.com/oracle/graalpython/releases/download/graal-{{ site.language_version }}/graalpy{{ site.python_version }}-{{ site.language_version }}-windows-amd64.zip">
            <img src="{{ '/assets/img/download-icon.svg' | relative_url }}" class="" alt="download icon">
            </a></td>
          </tr>
          <tr>
            <td class="border-correct-1">Latest early access build</td>
            <td><a target="_blank" href="https://raw.githubusercontent.com/graalvm/graal-languages-ea-builds/refs/heads/main/graalpy/versions/latest-native-linux-aarch64.url" onclick="resolveEarlyAccessDownload(event, this.href)">
            <img src="{{ '/assets/img/download-icon.svg' | relative_url }}" class="" alt="download icon">
            </a></td>
            <td><a target="_blank" href="https://raw.githubusercontent.com/graalvm/graal-languages-ea-builds/refs/heads/main/graalpy/versions/latest-native-linux-amd64.url" onclick="resolveEarlyAccessDownload(event, this.href)">
            <img src="{{ '/assets/img/download-icon.svg' | relative_url }}" class="" alt="download icon">
            </a></td>
            <td><a target="_blank" href="https://raw.githubusercontent.com/graalvm/graal-languages-ea-builds/refs/heads/main/graalpy/versions/latest-native-darwin-aarch64.url" onclick="resolveEarlyAccessDownload(event, this.href)">
            <img src="{{ '/assets/img/download-icon.svg' | relative_url }}" class="" alt="download icon">
            </a></td>
            <td><a target="_blank" href="https://raw.githubusercontent.com/graalvm/graal-languages-ea-builds/refs/heads/main/graalpy/versions/latest-native-windows-amd64.url" onclick="resolveEarlyAccessDownload(event, this.href)">
            <img src="{{ '/assets/img/download-icon.svg' | relative_url }}" class="" alt="download icon">
          </a></td>
          </tr>
        </table>
      </div>
      <div class="example-logo-box">
         <img src="{{ '/assets/img/downloads/arrow-icon.svg' | relative_url }}" class="" alt="download icon">
      </div>
    </div>
  </div>
</div>