awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/cel-spec

0
View on GitHub↗
3,673 stars·285 forks·Starlark·apache-2.0·13 viewscel.dev↗

Cel Spec

The Common Expression Language specification is a formal standard for a non-Turing-complete expression language designed for safe, portable, and fast logic evaluation. It serves as a cross-language logic standard and a declarative policy language, providing a consistent semantic framework for executing boolean expressions and data transformations across different programming environments.

This specification acts as an embedded expression engine that allows applications to integrate portable logic for evaluating user-defined configurations. It is specifically designed to enable safe user-defined configuration and the enforcement of declarative security policies and access control.

The framework covers the standardization of cross-language logic, dynamic predicate evaluation, and the embedding of expression logic within applications. It provides a means to validate expression syntax and define execution environments for consistent type safety and resolution.

Features

  • Cross-Language Semantic Standards - Execute limited expressions using a common semantic framework to maintain consistent results across different applications and languages.
  • Expression Languages - Defines a formal standard for a non-Turing-complete expression language used for safe and portable logic evaluation.
  • Non-Turing-Complete Languages - Defines a non-Turing-complete execution model to ensure all expressions terminate within predictable timeframes.
  • Abstract Syntax Tree Parsers - Transform written text into a structured binary representation to improve the efficiency of storage and evaluation.
  • Cross-Language Logic Standardization - Provides a formal standard for executing non-Turing-complete expressions consistently across different programming environments.
  • Cross-Language Value Mappings - Defines a consistent semantic framework for translating values between host languages and the embedded expression runtime.
  • Embedded Logic Evaluation - Integrates an expression parser and evaluator to execute portable, restricted logic within a host application.
  • Expression Evaluators - Provides an engine for evaluating logical and mathematical expressions against specific variable bindings.
  • Safe User-Defined Configurations - Provides a safe way for users to define custom logic that can be validated without compromising host system security.
  • Policy Definition Languages - Implements a restricted expression syntax specifically for declaring and enforcing security rules and access control policies.
  • Policy Enforcement - Implements mechanisms for enforcing access rules and constraints based on declarative policy data.
  • Policy-Based Access Control - Enables the enforcement of security permissions based on defined declarative authorization policies.
  • Variable and Function Bindings - Implements a binding-based mechanism to resolve expression identifiers using external variables and functions.
  • Abstract Syntax Tree Specifications - Provides a standardized specification for representing expression syntax as abstract syntax trees for consistent analysis.
  • Contextual Function Embedding - Extends the expression language by allowing external variables and functions to be passed through a configurable context.
  • Syntax Validation - Provides utilities to verify that expression strings are syntactically correct before evaluation.
  • Two-Phase Compilation - Implements a two-phase pipeline separating the compilation of text into binary format from its final evaluation.
  • Boolean Predicates - Implements boolean predicates to evaluate inputs against rules and return true/false results.
  • Dynamic Predicate Evaluation - Computes boolean expressions and data transformations to determine if specific conditions are met during execution.
  • Environment Type Validation - Uses declared environments to validate type safety and identifier existence before evaluating expressions.
  • Environment Declarations - Allows declaring the available variables and functions to ensure consistent type safety and resolution.

Star history

Star history chart for google/cel-specStar history chart for google/cel-spec

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Cel Spec

Similar open-source projects, ranked by how many features they share with Cel Spec.
  • google/cel-gogoogle avatar

    google/cel-go

    2,875View on GitHub↗

    cel-go is a Go implementation of the Common Expression Language, providing a type-safe engine for the evaluation of non-Turing complete, side-effect-free expressions. It functions as an embedded expression engine that converts human-readable strings into type-checked abstract syntax trees to ensure safe execution. The system utilizes a compile-once evaluate-many model, parsing and validating expressions into cached programs for repeated execution across different datasets. It further distinguishes itself as a partial state evaluator, using commutative logic to compute results and return resid

    Gocelexpressionexpression-evaluator
    View on GitHub↗2,875
  • antonmedv/exprantonmedv avatar

    antonmedv/expr

    7,905View on GitHub↗

    Expr is a high-performance expression evaluation engine and language for Go applications. It functions as a dynamic rule engine that parses and executes custom logic and data validations at runtime without requiring the application to be recompiled. The system utilizes a sandboxed logic executor to run expressions without side effects. It ensures program termination by employing instruction-level loop detection to prevent infinite loops and isolates the evaluation process from the host system. The engine employs a bytecode-based virtual machine and abstract syntax tree analysis to achieve ex

    Go
    View on GitHub↗7,905
  • microsoft/power-fxmicrosoft avatar

    microsoft/Power-Fx

    3,338View on GitHub↗

    Power-Fx is a declarative logic framework and low-code formula language based on Excel formulas. It functions as an expression parser and evaluator that transforms formula strings into an abstract syntax tree to execute logical operations and resolve values. The project provides a standardized integration layer to connect formula-based logic to external data sources for querying and pushing records. This allows for the definition of business rules and calculations that can be shared as consistent logic across different applications and platforms.

    C#power-fxpowerfx
    View on GitHub↗3,338
  • dhall-lang/dhall-langdhall-lang avatar

    dhall-lang/dhall-lang

    4,458View on GitHub↗

    Dhall is a type-safe configuration language designed to create programmable configuration files that are guaranteed to terminate. It is a non-Turing-complete language that uses a strict type system to ensure correctness and prevent infinite loops during evaluation. The project functions as a deterministic configuration engine and marshalling tool, converting programmable expressions into static formats such as JSON, YAML, and Bash. It distinguishes itself through a focus on security and integrity, using semantic hashing to pin remote imports and enforcing origin policies to prevent data exfil

    Dhallconfiguration-languagedhall
    View on GitHub↗4,458
See all 30 alternatives to Cel Spec→

Frequently asked questions

What does google/cel-spec do?

The Common Expression Language specification is a formal standard for a non-Turing-complete expression language designed for safe, portable, and fast logic evaluation. It serves as a cross-language logic standard and a declarative policy language, providing a consistent semantic framework for executing boolean expressions and data transformations across different programming environments.

What are the main features of google/cel-spec?

The main features of google/cel-spec are: Cross-Language Semantic Standards, Expression Languages, Non-Turing-Complete Languages, Abstract Syntax Tree Parsers, Cross-Language Logic Standardization, Cross-Language Value Mappings, Embedded Logic Evaluation, Expression Evaluators.

What are some open-source alternatives to google/cel-spec?

Open-source alternatives to google/cel-spec include: google/cel-go — cel-go is a Go implementation of the Common Expression Language, providing a type-safe engine for the evaluation of… antonmedv/expr — Expr is a high-performance expression evaluation engine and language for Go applications. It functions as a dynamic… microsoft/power-fx — Power-Fx is a declarative logic framework and low-code formula language based on Excel formulas. It functions as an… dhall-lang/dhall-lang — Dhall is a type-safe configuration language designed to create programmable configuration files that are guaranteed to… expr-lang/expr — Expr is a statically typed expression engine and domain-specific language for parsing and evaluating dynamic logic… octelium/octelium — Octelium is a zero-trust network access platform and identity-aware proxy designed to secure private HTTP, SSH, and…