# GraalVM Standard Development Kit The GraalVM SDK is a collection of APIs for the components of GraalVM. * [`org.graalvm.nativeimage`](https://www.graalvm.org/sdk/javadoc/org/graalvm/nativeimage/package-summary.html): The Native Image public API for advanced use cases. * [`org.graalvm.polyglot`](https://www.graalvm.org/sdk/javadoc/org/graalvm/polyglot/package-summary.html): A library that allows embedding of polyglot language implementations in Java. * [`org.graalvm.word`](https://www.graalvm.org/sdk/javadoc/org/graalvm/word/package-summary.html): A low-level library for machine-word-sized values in Java. * [`org.graalvm.collections`](https://www.graalvm.org/sdk/javadoc/org/graalvm/collections/package-summary.htmlyes): A collections library for GraalVM components. ## Getting Started To get started, download and install GraalVM for your operating system as described in the [installation guide](https://www.graalvm.org/latest/docs/getting-started/). The `org.graalvm.nativeimage`, `org.graalvm.word`, and `org.graalvm.collection` modules from the GraalVM SDK are included in a GraalVM JDK and can be used like any other module. The GraalVM SDK bits are also available on Maven central. Add these module dependencies to your Maven project configuration file: ```xml org.graalvm.sdk nativeimage ${graalvm.version} org.graalvm.sdk word ${graalvm.version} org.graalvm.sdk collections ${graalvm.version} ``` The `org.graalvm.polyglot` module is not contained by default in the GraalVM JDK. To enable a language embedding in Java, specify the language as a dependency. If you need the Truffle tools for your polyglot application, enable them through a dependency too. Below is an example of the Maven configuration: ```xml org.graalvm.polyglot polyglot ${graalvm.polyglot.version} org.graalvm.polyglot js|python|ruby|wasm|llvm|java ${graalvm.polyglot.version} pom org.graalvm.polyglot tools ${graalvm.polyglot.version} pom ``` ## Learn More * [Embedding Languages documentation](https://www.graalvm.org/latest/reference-manual/embed-languages/) to learn how to use the Polyglot API to embed GraalVM languages in Java host applications. * [Polyglot Embedding Demonstration on GitHub](https://github.com/graalvm/polyglot-embedding-demo) to find a complete runnable Maven and Gradle examples. ## Changes Important API changes and additions are tracked in the [SDK changelog](./CHANGELOG.md). ## License [GraalVM SDK](../sdk) is licensed under the [Universal Permissive License](./LICENSE.md).