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