Open-source tools

Trace a tool retry or parse a query on your own machine. Neither local example needs an account, API key, or telemetry of your own. The SDK and CLI are clients for an existing endpoint, not a way to provision one.

Choose a component

  • Tool retry example

    Inspect three console spans: a failed read-only lookup, its successful retry, and the successful agent run that contains both.

    Python 3.13 or Node.js 22.18+; no server or account for the local run. Optional export to PackDB Cloud requires an existing workspace and ingest key.

  • 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 parser 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.

See why the SDK preserves reported limitations in A successful telemetry query is not always a complete answer.

Rust releases are available on GitHub; the Rust 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.