Do you ❤️ Trino? Give us a 🌟 on GitHub

Ecosystem

Client drivers

Client drivers are language-specific wrappers around the client protocol. They enable client application developers to connect to Trino, submit SQL queries, and receive the results in the programming or scripting language of choice. Client drivers remove the need for developers to understand and implement the interactions of the client protocol and enable collaboration of all developers in a specific ecosystem.

Official client drivers #

The following client drivers are developed and maintained by the Trino community.

Go

Go #

Integration developed and maintained by the Trino community

Go is a statically typed, compiled high-level programming language. Use the Trino Go client to connect a Go applications to a Trino cluster and receive the results of the submitted SQL queries.

JavaScript

JavaScript #

Integration developed and maintained by the Trino community

Applications using JavaScript, TypeScript, Node.js, and related frameworks can use the trino-js-client to connect to a Trino cluster and receive the results of the submitted queries.

JDBC

JDBC #

Integration developed and maintained by the Trino community

Java Database Connectivity (JDBC) enables applications running on the JVM to connect and query databases. Use the Trino JDBC driver with your application for the JVM, written in Java, Kotlin, or any other JVM language, or provided by your tool vendor.

Python

Python #

Integration developed and maintained by the Trino community

Python is a programming language that lets you work quickly and integrate systems more effectively. Use the Trino Python Client to connect a Python script or application to a Trino cluster and receive the results of the submitted queries.


Other client drivers #

The following client drivers are developed and maintained by other communities and vendors.

Elixir

Elixir #

Elixir is a dynamic, functional language for building scalable and maintainable applications.

Elixir runs on the Erlang VM, known for creating low-latency, distributed, and fault-tolerant systems. These capabilities and Elixir tooling allow developers to be productive in several domains, such as web development, embedded software, machine learning, data pipelines, and multimedia processing, across a wide range of industries.

Use the req_trino to connect an Elixir script or application to a Trino cluster and receive the results of the submitted queries.

ODBC

ODBC #

Open Database Connectivity (ODBC) enables applications to connect and query databases. Use an ODBC driver with your own custom application, or with any other application that supports ODBC. ODBC drivers for Trino are available from Magnitude. Starburst customers receive an ODBC driver suitable for Starburst Enterprise and Starburst Galaxy.

R

R #

R is a free software environment for statistical computing and graphics. RPresto is a DBI-based adapter for the open source distributed SQL query engines Presto and Trino for running interactive analytic queries.

Ruby

Ruby #

Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. Use the Trino Ruby client library to connect a Ruby script or application to a Trino cluster and receive the results of the submitted queries.

Rust

Rust #

Rust is a programming language empowering everyone to build reliable and efficient software. Use the Prusto client library to connect a Rust application to a Trino cluster and receive the results of the submitted queries.