Crate tellaro_query_language

Crate tellaro_query_language 

Source
Expand description

§TQL - Tellaro Query Language

A flexible, human-friendly query language for searching and filtering structured data.

TQL provides an intuitive syntax similar to SQL WHERE clauses, with support for:

  • Nested field access (user.profile.name)
  • Rich set of operators (comparison, logical, collection)
  • Field transformations via mutators (field | lowercase)
  • Statistical aggregations (| stats count() by field)
  • OpenSearch backend integration
  • GeoIP lookups (MaxMind and DB-IP)

§Quick Start

use tql::{Tql, TqlConfig};
use serde_json::json;

let tql = Tql::new(TqlConfig::default());
let records = vec![
    json!({"name": "John", "age": 30}),
    json!({"name": "Jane", "age": 25}),
];

let results = tql.query(&records, "age > 25").unwrap();
assert_eq!(results.len(), 1);

§Feature Parity

This Rust implementation maintains 100% feature parity with the Python version, providing identical syntax, behavior, and capabilities.

Re-exports§

pub use error::Result;
pub use error::TqlError;
pub use parser::AstNode;
pub use parser::TqlParser;
pub use evaluator::TqlEvaluator;
pub use stats_evaluator::StatsEvaluator;
pub use stats_evaluator::StatsQuery;
pub use stats_evaluator::AggregationSpec;

Modules§

comparator
Value comparator for TQL query evaluation.
error
Error types for TQL operations.
evaluator
Query evaluator for TQL.
field_accessor
Field accessor for nested field access in JSON-like data structures.
mutators
Mutator system for field transformations in TQL.
parser
TQL Parser module.
stats_evaluator
Stats evaluator for TQL aggregation queries.

Structs§

Tql
Main TQL query interface