PRQL has bindings for many languages. These include:
We have three tiers of bindings:
Supported bindings require:
- A maintainer.
- Implementations of the core compile functions.
- Test coverage for these functions.
- A published package to the language’s standard package repository.
- A script in
Taskfile.ymlto bootstrap a development environment.
- Any dev tools, such as a linter & formatter, in pre-commit or MegaLinter.
The currently supported bindings are:
Most of these are in the main PRQL repo, and we gate any changes to the compiler’s API on compatible changes to the bindings.
Unsupported bindings work, but don’t fulfil all of the above criteria. We don’t gate changes to the compiler’s API. If they stop working, we’ll demote them to nascent.
Nascent bindings are in development, and may not yet fully work.