mattn

mattn/anko

Go MIT Dev Tools Single maintainer risk

Scriptable interpreter written in golang

1.6k stars
132 forks
active
GitHub

1.6k

Stars

132

Forks

19

Open issues

26

Contributors

AI Analysis

Anko is a scriptable interpreter written in Go that enables embedding a dynamically-typed scripting language within Go applications. It serves developers who need to expose user-facing scripting capabilities or provide runtime code evaluation in Go programs. It is specialized for embedding scenarios and not intended as a general-purpose language for standalone development.

Dev Tools Runtime Discovery value: 6/10
Documentation 7/10
Activity 9/10
Community 7/10
Code quality 8/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 7/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

scripting-language go-interpreter embedded-runtime dynamic-execution language-vm
Actively maintained MIT licensed Niche/specialized use case Well documented Production ready
Deep Analysis · Based on README and public signals
5h ago

Lightweight Go-embedded scripting language for programmatic extensibility and automation workflows

Anko is a Go-based scripting interpreter designed to be embedded in Go applications, enabling runtime script execution without external dependencies. It serves developers who need to add user-facing or internal scripting capabilities to Go programs. The project has maintained steady, modest adoption in niche automation and extensibility scenarios, supported by an author with strong OSS credentials (mattn). Real-world production adoption remains not fully verified in public documentation.

Origin

Created in March 2014 by Yasuhiro Matsumoto (mattn), a prolific Go contributor. Anko emerged as a lightweight alternative to embedding full language runtimes (Python, Lua, JavaScript) in Go applications. The project has remained under active maintenance with periodic updates, though growth has remained incremental over 12 years.

Growth

Stars have accumulated slowly and consistently (1,575 over 12 years) with no recent acceleration. The project gained some visibility in the Go community as a minimal scripting option for tool builders and embedded use cases. Recent push activity (July 2026) indicates continued maintenance rather than active feature development or growth momentum. Zero stars in the last 7 days suggests stable, plateau-level adoption.

In production

Adoption not verified. README provides embedded usage examples and command-line tool examples, but contains no case studies, production deployment documentation, or public user testimonials. Open Collective financial contributors exist but organization names/counts not disclosed in truncated README. Financial backing suggests some level of real-world reliance, but scale and scope unknown.

Code analysis
Architecture

Based on README: Anko exposes a VM-based interpreter through a simple Go API. Users define environments (`env.NewEnv()`), bind Go functions into that environment, and execute scripts against it. The README shows support for basic control flow (if/else, loops implied), data structures (slices, maps, structs), and function definitions. Appears to be a tree-walking or bytecode interpreter; implementation details not visible from metadata.

Tests

README references a CI badge and codecov integration, suggesting automated testing is in place. Explicit coverage percentages not disclosed in README.

Maintenance

Last push July 10, 2026 (same as evaluation date) indicates active maintenance. CI workflows present. No evidence of recent major feature additions or breaking releases in README. Described as 'master branch not stable' with recommendation to use tagged releases, suggesting deliberate versioning strategy but also indicating API surface may shift.

Honest verdict

ADOPT IF: you are building a Go application that requires user-configurable script execution, want minimal external runtime dependencies, do not need a mature language ecosystem, and accept potential API instability on the master branch. AVOID IF: you need production-grade stability guarantees, require extensive language features or standard library, or prioritize broad community support and third-party packages. MONITOR IF: you are evaluating embedded scripting options and want to track whether Anko reaches wider adoption in specific verticals (DevOps tooling, configuration management, game modding).

Independent dimensions

Mainstream potential

2/10

Technical importance

5/10

Adoption evidence

2/10

Risks
  • Master branch API instability acknowledged in README; users directed to tagged releases, creating friction for new adopters
  • Adoption not verified at scale; unclear which real-world systems depend on Anko; limited public case studies or endorsements
  • Slow recent growth (0 stars/7 days) and modest fork count (132) suggest limited community momentum and low barrier to maintenance burden if author disengages
  • Incomplete feature parity with mature scripting languages; likely limited standard library, error handling, and debugging tooling compared to Python, Lua, or JavaScript runtimes
  • Long-term roadmap and versioning strategy not documented in README; no visible governance or succession plan
Prediction

Anko will likely remain a stable, niche tool for Go developers seeking minimal-overhead scripting in embedded contexts. Growth will remain modest unless significant adoption emerges in a high-visibility vertical (DevOps, cloud tooling). Maintenance will probably continue at current levels given author's track record, but project is unlikely to become a dominant choice in its category.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Go
94.5%
Yacc
3.3%
JavaScript
1.4%
Vim Script
0.6%
HTML
0.1%
Makefile
0%

Information

Language
Go
License
MIT
Last updated
12h ago
Created
150mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Recent releases

No releases published yet.

Similar repos

dop251

dop251/goja

Goja is a pure-Go implementation of ECMAScript 5.1+ that enables embedding...

benhoyt

benhoyt/goawk

GoAWK is a POSIX-compliant AWK interpreter written in Go with built-in CSV/TSV...

inko-lang

inko-lang/inko

Inko is a compiled programming language designed specifically for building...

1.3k Rust Dev Tools
vs. alternatives
goja

JavaScript interpreter in Go; wider adoption in web/tooling contexts; larger feature surface but heavier dependency

Lua + Go bindings (e.g., gopher-lua)

Lua is more mature language; larger ecosystem; similar embedding use case; Anko claims lighter weight

Starlark (Python-like, Google)

Stricter determinism guarantees; stronger backing; similar embedding story; more complex feature set

Tengo

Go-native scripting language with similar positioning; unclear relative market position; both serve narrow niche

WasmEdge + WASI

Modern alternative for sandboxed scripting; higher complexity and overhead; different security model