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
Knetic avatar

Knetic/govaluateArchived

0
View on GitHub↗
3,940 stars·515 forks·Go·MIT·35 views

Govaluate

govaluate is a Go expression evaluator and runtime logic parser. It functions as a dynamic rule engine that converts string-based expressions into executable operations, allowing for the calculation of mathematical and logical expressions at runtime.

The library enables the execution of business rules and custom formulas without recompiling source code. It supports extending evaluation behavior through the injection of external parameters and the execution of user-defined custom functions.

The system provides capabilities for dynamic data validation, including regular expression matching and collection membership verification. It also handles missing results using null coalescing logic and processes values through type-agnostic handling.

Features

  • Dynamic Expression Evaluators - Provides a full engine for parsing and calculating mathematical or string expressions at runtime.
  • Dynamic Parameter Injection - Injects external runtime parameters into expressions to serve as variables during evaluation.
  • Runtime Expression Functions - Allows the registration of custom Go functions to extend the native operator set of expressions.
  • Abstract Syntax Tree Parsing - Implements the conversion of expression strings into a structured tree representation for runtime execution.
  • Expression Evaluators - Parses and calculates arbitrary mathematical and logical expressions at runtime within Go applications.
  • Expression Function Dispatchers - Executes user-defined logic within expressions to extend evaluation behavior with specialized rules.
  • General Purpose Formula Evaluators - Enables the definition and execution of custom calculations and data transformations via Go parameters.
  • Runtime Variable Injections - Maps external data structures to internal expression variables during the evaluation phase.
  • Business Rule Evaluation - Executes predefined logic policies to determine if specific business conditions are satisfied without recompilation.
  • Dynamic Rule Engines - Executes conditional logic and data transformations using external expressions instead of hard-coded Go logic.
  • Runtime Logic Parsing - Converts string-based logical expressions into executable operations during application runtime.
  • Null Value Handling - Implements logic for replacing empty or missing expression results with defined fallback values.
  • Unknown Type Handling - Handles mixed data types using runtime reflection and interface casting when exact types are unknown.
  • Recursive Descent Evaluators - Uses recursive descent to traverse and compute values from the parsed expression tree.
  • Null-Coalescing Operators - Provides language-level operators to substitute missing or null results with defined fallback values.
  • Runtime Data Validations - Checks if input values meet specific runtime criteria using regular expressions and collection membership.
  • Compilers and Interpreters - Arbitrary expression evaluation.

Star history

Star history chart for knetic/govaluateStar history chart for knetic/govaluate

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

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

Projects sharing features with Govaluate

These projects share indexed features with Govaluate. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • microsoft/rulesenginemicrosoft avatar

    microsoft/RulesEngine

    4,299View on GitHub↗

    RulesEngine is a business logic evaluator for .NET that executes complex rule workflows and dynamic expressions against input data. It functions as a dynamic expression evaluator and an externalized logic framework, allowing the definition and management of business rules in JSON format to change application behavior without recompiling code. The project decouples decision logic from source code by loading policies from external files or databases. It supports the registration of custom classes and methods to extend standard expression capabilities through type injection. The framework cover

    C#dotnetengineexpression-evaluator
    View on GitHub↗4,299
  • symfony/expression-languagesymfony avatar

    symfony/expression-language

    2,848View on GitHub↗

    The expression-language is a lightweight calculation component and parser tool that compiles and evaluates single-line string expressions against runtime variables. It functions as an expression engine that parses logical expressions into executable code or evaluates them directly against provided variables and functions to power dynamic rule evaluation and configuration. The engine features a complete architecture covering lexical tokenisation, intermediate code generation, and execution caching. It parses expression strings into hierarchical abstract syntax trees to enable programmatic insp

    PHPcomponentphpsymfony
    View on GitHub↗2,848
  • 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
Compare all 30 related projects→

Frequently asked questions

What does knetic/govaluate do?

govaluate is a Go expression evaluator and runtime logic parser. It functions as a dynamic rule engine that converts string-based expressions into executable operations, allowing for the calculation of mathematical and logical expressions at runtime.

What are the main features of knetic/govaluate?

The main features of knetic/govaluate are: Dynamic Expression Evaluators, Dynamic Parameter Injection, Runtime Expression Functions, Abstract Syntax Tree Parsing, Expression Evaluators, Expression Function Dispatchers, General Purpose Formula Evaluators, Runtime Variable Injections.

Which projects share features with knetic/govaluate?

Projects with overlapping indexed features include: microsoft/rulesengine — RulesEngine is a business logic evaluator for .NET that executes complex rule workflows and dynamic expressions… symfony/expression-language — The expression-language is a lightweight calculation component and parser tool that compiles and evaluates single-line… 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… killme2008/aviatorscript — Aviatorscript is a high-performance scripting language and expression evaluation engine designed for integration… expr-lang/expr — Expr is a statically typed expression engine and domain-specific language for parsing and evaluating dynamic logic…