# Choose your language

Canonical page: https://ankiforge.dev/docs/languages/
Language: en
Description: Install the public Rust, Node or Python package and export your first Anki deck.

Use Rust, Node / TypeScript or Python to connect Anki deck generation to your data. All three can export a persistent `spanish.apkg` without installing Anki.

| Language | Public package | Install | Complete first deck |
| --- | --- | --- | --- |
| Rust | [ankiforge 0.3.1](https://crates.io/crates/ankiforge) | `cargo add ankiforge@0.3.1` | [Rust quickstart](https://ankiforge.dev/docs/quickstart/) |
| Node / TypeScript | [ankiforge 0.3.1](https://www.npmjs.com/package/ankiforge) | `npm install --include=optional ankiforge@0.3.1` | [Node quickstart](https://ankiforge.dev/docs/node-quickstart/) |
| Python | [ankiforge 0.3.1](https://pypi.org/project/ankiforge/) | `python -m pip install ankiforge==0.3.1` | [Python quickstart](https://ankiforge.dev/docs/python-quickstart/) |

Rust needs Rust 1.92+. Node needs Node 22.13+ and a matching native optional dependency. Python uses a native wheel for an ordinary CPython interpreter; CPython 3.11–3.14 are verified in recorded release checks. See [verified environments](https://ankiforge.dev/docs/compatibility/).

## Next tasks

Generate and update a deck from [shared JSON, image and audio inputs](https://ankiforge.dev/docs/json-to-anki/), or compare [Anki Forge and genanki](https://ankiforge.dev/docs/anki-forge-vs-genanki/) for your workflow.

Add [images and audio](https://ankiforge.dev/docs/media/), create [custom note types](https://ankiforge.dev/docs/custom-notetypes/), or [compare and update a distributed deck](https://ankiforge.dev/docs/updates/).

For TypeScript, use the [compiler configuration](https://ankiforge.dev/docs/node-api/#typescript). For genanki, read the [migration guide](https://ankiforge.dev/docs/genanki-migration/). Repository development and source-only capabilities have their own [source build instructions](https://ankiforge.dev/docs/development/#source-builds).
