Choosing scripting extension - need advice

This page summarizes the projects mentioned and recommended in the original post on /r/golang

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
  1. starlark-go

    Starlark in Go: the Starlark configuration language, implemented in Go

    If you want Python syntax, https://github.com/google/starlark-go is nice. It is the configuration language interpreter for Bazel, so it is well maintained and stable But that also means features, move slowly and some things that you would find in the standard library for CPython need to be grabbed from a different community maintained repo. It's also, in my opinion, a little less smooth moving back and forth between the scripting language and your code. Code. That said, both are great choices in my opinion. Some people like Lua. I'm sure I would like it if I wanted to spend time on it, but I'm already pretty comfortable with the other choices so I haven't.

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. expr

    Discontinued Expression language and expression evaluation for Go [Moved to: https://github.com/expr-lang/expr] (by antonmedv)

    We use https://github.com/antonmedv/expr at some other place for similar case, but there rules are bit simpler and this library seem to suit ideally for such simple "one line" conditions.

  4. otto

    A JavaScript interpreter in Go (golang)

    Googling suggests https://github.com/robertkrimen/otto which allows scripting in javascript for golang projects. This would be definitely enough, but in some way it may be a bit overkill - and scripts supporter shall need some knowledge of javascript which is not always straightforward :)

  5. goja

    ECMAScript/JavaScript engine in pure Go

    For JS in Go use goja, which offers excellent integration with Go. Also I maintain an extension that adds Common-JS compatibility to it.

  6. kutil

    Go Utilities

    For JS in Go use goja, which offers excellent integration with Go. Also I maintain an extension that adds Common-JS compatibility to it.

  7. flamenco

    If you're curious how I set it up, check out blender/flamenco on Gitlab. The Goja/JS stuff is in internal/manager/job_compilers.

  8. prudence

    An opinionated lightweight web framework built for scale

    If you're interested, I have another project in which I use TypeScript (tsc) to compile to JavaScript/Common-JS that is compatible with goja. It works really well.

  9. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
  10. embedded-scripting-languages

    A list of embedded scripting languages

    or perhaps use one of this list (depending on who's writing the configuration): https://github.com/dbohdan/embedded-scripting-languages

  11. wasmer-go

    πŸΉπŸ•ΈοΈ WebAssembly runtime for Go

    If performance is your main concern, there's Wasmer-go, but if you'd rather avoid CGO dependencies, there's wazero.

  12. wazero

    wazero: the zero dependency WebAssembly runtime for Go developers

    If performance is your main concern, there's Wasmer-go, but if you'd rather avoid CGO dependencies, there's wazero.

  13. starlight

    a go wrapper for google's starlark embedded python language (by sourcegraph)

    Pretty surprised no one has suggested starlark - Very nice ergonomics on both the scripting side and the interpreter. Worth a look! Especially nice when combined with starlight

  14. yaegi

    Yaegi is Another Elegant Go Interpreter

    You could also embed a Go interpreter, and have your scripts or expressions in Go. See for example https://github.com/traefik/yaegi. Disclaimer: I'm the author of this project.

  15. grule-rule-engine

    Rule engine implementation in Golang

    You should take a look at Grule https://github.com/hyperjumptech/grule-rule-engine

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Running a Javascript VM in Golang: Data Transforms via User Scripts

    3 projects | dev.to | 28 Jun 2024
  • SSR React in Go

    9 projects | dev.to | 20 Jan 2024
  • Plugo - A plugin library for Go.

    5 projects | /r/golang | 9 Dec 2022
  • Using Javascript plugins in Go

    2 projects | /r/golang | 3 Mar 2021
  • Building a narrative game with Next.js and AI

    2 projects | dev.to | 20 Mar 2025

Did you know that Go is
the 4th most popular programming language
based on number of references?