Neutrino
A fast, single-binary Trino CLI. No JVM required.
Neutrino runs SQL against any Trino coordinator and returns results as formatted tables, JSON, or CSV. It ships as a single executable — no Java runtime, no Python environment, no dependencies to manage. Install it, point it at your cluster, and query.
Install
Homebrew (macOS and Linux):
brew install lightconelabs/tap/neutrino-cli
uv (macOS, Linux, and Windows):
uv tool install neutrino-sql
Installs the neutrino command.
Cargo (from source):
cargo install --git https://github.com/lightconelabs/neutrino
Binary download: Grab a prebuilt binary from GitHub Releases. Prebuilt binaries cover macOS (Apple Silicon + Intel), Linux (ARM + x86), and Windows.
Quick Start
Run an inline query:
neutrino --host trino.example.com "SELECT 1"
Run SQL from a file:
neutrino --host trino.example.com -f query.sql
Get JSON output for scripting:
neutrino --host trino.example.com --format json "SHOW CATALOGS"
Export results to CSV:
neutrino --host trino.example.com --format csv --output results.csv \
"SELECT * FROM my_catalog.my_schema.my_table LIMIT 100"
Authentication
Neutrino selects an auth method based on the flags you provide:
| Flags | Method |
|---|---|
--user only |
X-Trino-User header (no password) |
--user + --password |
HTTP Basic auth |
--jwt-token (with optional --user) |
Bearer token auth |
| No auth flags | OAuth2 browser flow (token cached for 1 hour) |
OAuth2 opens your browser, completes the flow, and caches the token locally. Subsequent queries reuse the cached token until it expires.
Options
| Flag | Description | Default | Env var |
|---|---|---|---|
--host |
Trino coordinator hostname (required) | — | TRINO_HOST |
--port |
Coordinator port | 443 |
TRINO_PORT |
--user |
Username | — | TRINO_USER |
--password |
Password (triggers Basic auth) | — | TRINO_PASSWORD |
--jwt-token |
JWT token (triggers Bearer auth) | — | TRINO_JWT_TOKEN |
--catalog |
Default catalog | — | TRINO_CATALOG |
--schema |
Default schema | — | TRINO_SCHEMA |
--insecure |
Skip TLS certificate verification | false |
— |
--limit |
Maximum rows to return | — | — |
--format |
Output format: table, json, or csv |
table |
— |
-o, --output |
Write results to a file instead of stdout | — | — |
-f, --file |
Read SQL from a file | — | — |
You can set connection details once through environment variables and omit them from every command:
export TRINO_HOST=trino.example.com
export TRINO_CATALOG=my_catalog
neutrino "SELECT * FROM my_schema.my_table LIMIT 10"
Output Formats
Table (default) — a formatted ASCII table with column names, types, and a row count:
┌──────────┬──────────┐
│ id │ name │
│ integer │ varchar │
├──────────┼──────────┤
│ 1 │ Alice │
│ 2 │ Bob │
└──────────┴──────────┘
(2 rows)
JSON — an array of objects, one per row. Useful for piping into jq:
neutrino --host trino.example.com --format json "SELECT id, name FROM users" | jq '.[].name'
CSV — RFC 4180 compliant, with a header row. Useful for spreadsheets and data pipelines:
neutrino --host trino.example.com --format csv "SELECT * FROM users" > users.csv
Why Neutrino?
| Neutrino | trino-cli | trino-python-client | |
|---|---|---|---|
| Runtime dependency | None | Java 11+ | Python 3.9+ |
| Startup time | Instant | Seconds (JVM cold start) | Varies |
| OAuth2 browser flow | Built in, token cached | Supported | Supported |
| Output formats | Table, JSON, CSV | Multiple formats | Custom code |
| Install | brew install, uv tool install, or single binary |
JAR download + JVM | pip install trino |
Development
cargo test
cargo run -- --host trino.example.com "SELECT 1"
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file neutrino_sql-0.1.5.tar.gz.
File metadata
- Download URL: neutrino_sql-0.1.5.tar.gz
- Upload date:
- Size: 37.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85b110b546c6260308aec1006150532dfc362449473cae07854831560be1f736
|
|
| MD5 |
591a7f4a89efc1da7ff9d74973e49b38
|
|
| BLAKE2b-256 |
fe66fae941e72aa5a7d85611337c72dd26501305103b545261c0d2ed9960f51d
|
File details
Details for the file neutrino_sql-0.1.5-py3-none-win_amd64.whl.
File metadata
- Download URL: neutrino_sql-0.1.5-py3-none-win_amd64.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27b1af83c4b6b358543a4a5f8dbd3c1893df80cbc10553eabd7671ed98279507
|
|
| MD5 |
dfe14d85e29d83a288ff65346518dc52
|
|
| BLAKE2b-256 |
562bb14fb3b5157d8ddf58c7bbbdae4ef0436a6abae09ab9adbc5f87b6030e05
|
File details
Details for the file neutrino_sql-0.1.5-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: neutrino_sql-0.1.5-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad8655abaeb0c802d22c3ce504cb3a5924a7f66eb1097adb873ca11e737ff47b
|
|
| MD5 |
8171ff5dfdbbaa696798d02e2788b887
|
|
| BLAKE2b-256 |
7d9dc0733aa043d10ac68fb3565653209a1dc260e7e9aeee0b05221e00993632
|
File details
Details for the file neutrino_sql-0.1.5-py3-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: neutrino_sql-0.1.5-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bf45079a44f85ca26dadcf9f3a21e051d5e37c2e9d4bd3e4a19f39340ea698e
|
|
| MD5 |
1d9a4ad206772ae42ce3fc49632d0edb
|
|
| BLAKE2b-256 |
fd85e3dfdbc98c154693b1e5c6077731b7831644cdf23793e8885b8a718d1cda
|
File details
Details for the file neutrino_sql-0.1.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: neutrino_sql-0.1.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f64ea31a896a13ae5610f90f1baa0d7265027a2bf64cdd591dc6f647fc9fa8a
|
|
| MD5 |
8c4495ecceebe6ae96167f717049fe63
|
|
| BLAKE2b-256 |
b90178f07bc03307b06862932e547e695841164c31e0f893b57bf4c9a3864f0c
|
File details
Details for the file neutrino_sql-0.1.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: neutrino_sql-0.1.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0521d534d6caa236bb4a49541dd910fa7a7e70757a0ac4d140f2c3a31c7dcb1f
|
|
| MD5 |
ccf766e1e4576705dbd61cef811260f4
|
|
| BLAKE2b-256 |
8017d979d1d0cfef9be18d569ef694c67af957133dff20d95c11c200a5aa34a2
|
File details
Details for the file neutrino_sql-0.1.5-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: neutrino_sql-0.1.5-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc31e008008096297dc60bca0a2167b5d2fd438bf9067bb3751c1634c5185ed4
|
|
| MD5 |
ff73713d2e9163cae0c73b67168078cc
|
|
| BLAKE2b-256 |
3ad70d9f67ef537d4d5d74512a23045d895a079016181280af68b2338c5b6d58
|
File details
Details for the file neutrino_sql-0.1.5-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: neutrino_sql-0.1.5-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f09a3413b3a793eaf463d4aff16c84b7f4b6a4402b46dd086d2db5f490471a6
|
|
| MD5 |
6ec03cb83bcded5be5e550a299c6a069
|
|
| BLAKE2b-256 |
b7784370273c19c23c0b136f56bd84acd0e23ff91fcdc4fdbe567ef9a0817005
|