config
A library for working with structured configuration in Go (by andrewpillar)
expr
Expression language and expression evaluation for Go [Moved to: https://github.com/expr-lang/expr] (by antonmedv)
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
config
Posts with mentions or reviews of config.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-04-09.
-
Structured configuration in Go
as you can see, it is very similar to HCL, however there is less visual noise as I call it. The library developed for this is called config which is used for decoding the configuration, there is not support as of yet for encoding. With this library you will be able to configured support for environment variable expansion and support for includes. I have found that this strikes the balance I require of a configuration language, declarative, with limited visual noise, and easy for people to read. This is hardly a silver bullet, and no doubt will demonstrate it's limitations depending on what it is you're trying to configured. Nonetheless, I have found it be flexible for my use cases. You can see examples of this language in the djinn-ci/djinn repository itself in the dist directory.
expr
Posts with mentions or reviews of expr.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-17.
-
Solving the Expression Problem in Go
Not diminishing the article at all, there's massive value I've gained from leveraging this runtime solution in multiple projects: https://github.com/antonmedv/expr
The language is easy enough for people to pick-up.
- Expr Release v1.15
- Expr v1.14 release: Go expression language
- Expr – expression language with type checker
-
FireScroll - The config database to deploy everywhere (now with conditional statements!)
Uses the [expr](https://github.com/antonmedv/expr) language to achieve this and I've been super happy with the results.
-
Library to analyze an arbitrary JSON string
I have been using expr (https://github.com/antonmedv/expr) to do something like this for a while. no complains so far.
-
[gcalc] A simple calculater in golang
If you wanted it to not require putting in the operation first and just accept string equations (without using something like https://github.com/antonmedv/expr) you could parse, tokenize and then process the input.
- Go Expression Language
- Polymode: Multiple Major Modes and How to Use SQL and Python in One Buffer
- Expr (Go expression language) releases v1.11
What are some alternatives?
When comparing config and expr you can also consider the following projects:
djinn - Source code for the Djinn CI platform
govaluate - Arbitrary expression evaluation for golang
LIBUCL - Universal configuration library parser
cel-go - Fast, portable, non-Turing complete expression evaluation with gradual typing (Go)
gval - Expression evaluation in golang
grule-rule-engine - Rule engine implementation in Golang
tengo - A fast script language for Go
mosalat - a rule-engine with custom dsl for golang
go-lua - A Lua VM in Go
otto - A JavaScript interpreter in Go (golang)
goja - ECMAScript/JavaScript engine in pure Go
The uGO Language - Script Language for Go