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

traefik/yaegi

0
View on GitHub↗
8,311 stars·414 forks·Go·Apache-2.0·16 viewspkg.go.dev/github.com/traefik/yaegi↗

Yaegi

Yaegi is a Go language interpreter and embedded scripting engine that executes Go source code at runtime without requiring a separate compilation step. It provides a mechanism for evaluating Go expressions and files dynamically, functioning as both a library for compiled applications and a standalone read-eval-print-loop environment.

The project enables the integration of dynamic Go scripts into compiled programs to allow for runtime extensibility and plugin development. It facilitates the conversion of interpreted symbols from evaluated scripts into usable interfaces and types within a compiled program.

The system covers dynamic code evaluation, package loading, and interactive prototyping through a command-line shell. These capabilities allow for the execution of Go source code and the management of symbol tables and type resolution during runtime.

Features

  • Dynamic Go Execution - Allows running Go source code at runtime without needing a full compilation cycle for every change.
  • Interpreter Symbol Tables - Manages variable scopes and memory allocation using a runtime symbol table for nested lookups.
  • Dynamic Package Loading - Provides the ability to resolve and import Go packages on demand during runtime execution.
  • Symbol-to-Interface Mappings - Converts interpreted symbols from evaluated scripts into usable Go interfaces and types within compiled programs.
  • Runtime Symbol Resolution - Implements mechanisms for resolving external symbols across compiled and interpreted modules at runtime.
  • Embedded Scripting Engines - Integrates a Go interpreter into host applications to allow dynamic logic and data exchange.
  • Interface Value Wrapping - Wraps interpreted values in Go interfaces to allow seamless data exchange with compiled code.
  • Language Interpreters - Implements an interpreter that executes Go source code by simulating the target environment.
  • Live Code Evaluation - Provides the capability to execute Go source code at runtime without restarting the application.
  • Plugin Extenders - Enables loading custom external Go libraries at runtime to augment core application functionality.
  • Interactive REPLs - Processes input strings through a cycle of parsing and evaluation for real-time code inspection.
  • Interactive Shells - Provides a command line interface for evaluating Go code and accessing the runtime environment.
  • Read-Eval-Print Loops - Provides an interactive environment for testing Go expressions and package imports in real-time.
  • Interactive Read-Eval-Print Loops - Ships an interactive environment for real-time evaluation of Go expressions and inspection of values.
  • Bytecode Interpreters - Implements a runtime that executes intermediate representations generated from Go source code.
  • Interactive Execution - Elegant Go interpreter for interactive scripting.

Star history

Star history chart for traefik/yaegiStar history chart for traefik/yaegi

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. 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

Open-source alternatives to Yaegi

Similar open-source projects, ranked by how many features they share with Yaegi.
  • bobthecow/psyshbobthecow avatar

    bobthecow/psysh

    9,829View on GitHub↗

    PsySH is an interactive read-eval-print loop and shell environment for PHP. It functions as a runtime debugger and application inspector, allowing for the execution of PHP code in real-time to experiment with snippets and inspect live application state. The project is distinguished by its ability to be embedded directly into running PHP applications for live troubleshooting. It provides specialized tools for state manipulation, including the ability to bypass visibility restrictions to inspect private or protected object members and the capacity to reload code without restarting the session.

    PHPcliphppsysh
    View on GitHub↗9,829
  • janet-lang/janetjanet-lang avatar

    janet-lang/janet

    4,308View on GitHub↗

    Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an embeddable scripting engine. It functions as a fiber-based concurrency runtime and includes a parsing engine based on Parsing Expression Grammars. The project is distinguished by its ability to be integrated into C or C++ applications via a minimal header interface. It utilizes a Lisp-style macro system for compile-time code transformation and employs prototype-based table inheritance for object-oriented behavior. The runtime covers a broad set of capabilities, including asynchronous

    Ccfunctional-languageimperative-language
    View on GitHub↗4,308
  • yoav-lavi/melodyyoav-lavi avatar

    yoav-lavi/melody

    4,747View on GitHub↗

    Melody is a regular expression transpiler and pattern compiler that translates a high-level, human-readable syntax into standard regular expressions. It functions as a tool to simplify the creation and maintainability of complex matching patterns. The project provides a specialized syntax for defining reusable variables and macros to reduce duplication within expressions. It includes native support for mapping specialized labels to Unicode category properties and automatically handles the escaping of literal text. The system is accessible through several interfaces, including a command-line

    Rust
    View on GitHub↗4,747
  • rhaiscript/rhairhaiscript avatar

    rhaiscript/rhai

    5,453View on GitHub↗

    Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications. It functions as an abstract syntax tree compiler and native interop layer, allowing developers to map Rust types and functions into a scripting environment for bidirectional communication. The project serves as a framework for creating customizable domain-specific languages. It allows for the definition of custom operators, syntax, and restricted execution environments, enabling the creation of specialized languages with tailored functional sets. The engine covers a broad rang

    Rustembeddedembedded-scripting-languageno-std
    View on GitHub↗5,453
See all 30 alternatives to Yaegi→

Frequently asked questions

What does traefik/yaegi do?

Yaegi is a Go language interpreter and embedded scripting engine that executes Go source code at runtime without requiring a separate compilation step. It provides a mechanism for evaluating Go expressions and files dynamically, functioning as both a library for compiled applications and a standalone read-eval-print-loop environment.

What are the main features of traefik/yaegi?

The main features of traefik/yaegi are: Dynamic Go Execution, Interpreter Symbol Tables, Dynamic Package Loading, Symbol-to-Interface Mappings, Runtime Symbol Resolution, Embedded Scripting Engines, Interface Value Wrapping, Language Interpreters.

What are some open-source alternatives to traefik/yaegi?

Open-source alternatives to traefik/yaegi include: bobthecow/psysh — PsySH is an interactive read-eval-print loop and shell environment for PHP. It functions as a runtime debugger and… janet-lang/janet — Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an… yoav-lavi/melody — Melody is a regular expression transpiler and pattern compiler that translates a high-level, human-readable syntax… rhaiscript/rhai — Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications.… sigoden/aichat — This project is a terminal-based command line interface client and agent orchestrator for interacting with multiple… ipython/ipython — IPython is an interactive computing environment and programmable extension of the Python read-eval-print loop. It…