Bindings
PRQL has bindings for many languages. These include:
We have three tiers of bindings:
- Supported
- Unsupported
- Nascent
Supported
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.yaml
to 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
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
Nascent bindings are in development, and may not yet fully work.
Naming
Over time, we’re trying to move to a consistent naming scheme:
- Crates are named
prqlc-$lang
. - Where possible, packages are published to each language’s package repository
as
prqlc
.