v0.4.0
π CLI Interface
- Command-line tool: cel command now available after installation
- Interactive REPL: Enhanced terminal experience with syntax highlighting, auto-completion, and command history
- Multiple output formats: JSON, pretty tables, Python repr, and auto-detection
- File processing: Batch evaluation of expressions from files
- Context loading: JSON context files for complex evaluations
Command-line usage
$ cel '1 + 2' # β 3
$ cel --interactive # Launch REPL
$ cel 'age >= 21' --context user.json # Context from file
π§ͺ Testing
- 200+ tests: Complete coverage of all CEL features and edge cases
- 35 new CLI tests: Formatter, REPL, file operations, and integration testing
- Performance verification: Microsecond-level evaluation benchmarks
- Error handling tests: Parser errors, type errors, and edge cases
π§ Technical Improvements
CEL Interpreter Update
- cel-interpreter: 0.9.0 β 0.10.0 (enhanced CEL specification compliance)
PyO3 0.25.0 Migration
- Modern API: Migrated from deprecated IntoPy to IntoPyObject<'py> trait
- Better error handling: Improved type conversion with proper lifetime management
- Enhanced type safety: New conversion system with comprehensive error propagation
- Graceful degradation: Parser panics converted to proper PyValueError exceptions
Documentation
- Comprehensive Python-facing documentation with examples and type hints
- Context class: Detailed docstrings for all methods with usage examples
π¦ Dependencies
- pyo3: 0.22.6 β 0.25.0
- cel-interpreter: 0.9.0 β 0.10.0
- log: 0.4.22 β 0.4.27
- chrono: 0.4.38 β 0.4.41
- pyo3-log: 0.11.0 β 0.12.1
Full Changelog: v0.3.1...v0.4.0