Open-source tools

Start locally with a query parser. No PackDB account, API key, or telemetry is needed. The SDK and CLI are clients for an existing endpoint, not a way to provision one.

Choose a component

  • LogQL parser

    Parse LogQL into a typed syntax tree with structured errors.

    Rust; no server or account

  • TraceQL parser

    Parse the documented supported TraceQL subset.

    Rust; no server or account

  • Rust SDK

    Query SQL over HTTP or Flight SQL, preserving reported completeness.

    Existing endpoint and operator-issued credentials for SQL

  • Query CLI

    Run SQL from the command line; follow the release-specific README.

    Existing endpoint and operator-issued credentials

These are supporting libraries and tools, not the full PackDB platform. The parsers do not execute queries or retrieve telemetry. Check each repository's compatibility document for supported syntax and limits.

Parse a LogQL query locally

With Rust 1.94.1 or newer installed, create an application and add the tagged source dependency. This example pins LogQL parser v0.1.1; it does not depend on an unreleased branch or a crates.io package.

bash
cargo new packdb-parser-example
cd packdb-parser-example
cargo add --git https://github.com/packdb-oss/logql-parser --tag v0.1.1 packdb-logql-parser

Use this as the application's src/main.rs:

rust
fn main() -> Result<(), packdb_logql_parser::ParseError> {
    let query = packdb_logql_parser::parse(
        r#"{service_name="checkout"} |= "error""#,
    )?;
    println!("{query:#?}");
    Ok(())
}
bash
cargo run

The output is a syntax tree for a stream selector and line filter, not matching log lines. Malformed or unsupported input produces a structured error. Review and commit your application's Cargo.lock; the dependency's lockfile does not pin your application.

For trace-query syntax, start with the TraceQL parser example and supported subset.

Already have an endpoint?

Follow the SDK's completeness-aware HTTP quickstart or the workspace ingestion quickstart. Use the endpoint and credentials issued by your operator. A successful query response is not an independent audit of the underlying telemetry.

Releases are available on GitHub; these packages are not currently published to crates.io. Community support is best effort, not a commercial service-level agreement. See each repository for its Apache-2.0 license, contribution guidelines, and security-reporting policy.