Libraries¶
jpx is built on a stack of Rust crates that can be used independently in your own projects.
jpx-core¶
Self-contained JMESPath implementation with 400+ extension functions. Provides the parser, runtime, and function registry used by all other jpx crates. This is a from-scratch implementation with no upstream dependency on the unmaintained jmespath crate.
- Uses
serde_json::Valuenatively -- no type conversion overhead - 26 standard JMESPath built-in functions + 400+ extensions across 31 categories
functions.tomlis the single source of truth for function metadata- Optional
let-exprfeature for JMESPathletexpressions
jpx-engine¶
Query engine with introspection, function discovery, configuration, and query store. Wraps jpx-core with higher-level features for building tools and services.
- Single, batch, and streaming evaluation
- Function introspection with BM25 search indexing
- Session-scoped query store for named queries
- JSON utilities: format, diff (RFC 6902), patch, merge (RFC 7396), stats, paths
- Layered configuration via
jpx.tomlwith discovery (cwd, home, XDG)
Python Bindings¶
Use jpx functions in Python via the jpx package on PyPI.
- Module-level functions:
search(),compile(),validate(),list_functions() CompiledExpressionclass for reusing compiled expressionsJpxEngineclass wrapping the full engine