eval

Top 19 eval Open-Source Projects

  • InjectionIII

    Re-write of Injection for Xcode in (mostly) Swift

  • gomacro

    Interactive Go interpreter and debugger with REPL, Eval, generics and Lisp-like macros

  • Project mention: Go superset | /r/golang | 2023-05-19

    gomacro added macros and generics several years before generics reached release.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • quickjs-emscripten

    Safely execute untrusted Javascript in your Javascript, and execute synchronous code that uses async functions

  • Project mention: New QuickJS Release | news.ycombinator.com | 2023-12-09

    Based on your comment below I think you figured out the difference - but if you're looking to execute JS, you can pick between ShadowRealm (where available, or using a polyfill) or my library quickjs-emscripten.

    Pros of quickjs-emscripten over ShadowRealm:

    - You can use quickjs today in any browser with WASM. ShadowRealm isn't available yet, and polyfills have had security issues in the past. See https://www.figma.com/blog/an-update-on-plugin-security/

    - In ShadowRealm eval, untrusted code can consume arbitrary CPU cycles. With QuickJS, you can control the CPU time used during an `eval` using an [interrupt handler] that's called periodically during the eval.

    - In ShadowRealm eval, untrusted code can allocate arbitrary amounts of memory. With QuickJS, you can control both the [stack size] and the [heap size] available inside the runtime.

    - quickjs-emscripten can do interesting things with custom module loaders and facades that allow synchronous code inside the runtime to call async code on the host.

    Pros of ShadowRealm over QuickJS:

    - ShadowRealm will (presumably?) execute code using your native runtime, probably v8, JavaScriptCore, or SpiderMonkey. Quickjs is orders of magnitude slower than JIT'd javascript performance of v8 etc. It's also slower than v8/JSC's interpreters, although not by a huge amount. See [benchmarks] from 2019.

    - You can easily call and pass values to ShadowRealm imported functions. Talking to quickjs-emscripten guest code requires a lot of fiddly and manual object building.

    - Overall the quickjs(-emscripten) API is verbose, and requires manual memory management of references to values inside the quickjs runtime.

    [interrupt handler]: https://github.com/justjake/quickjs-emscripten/blob/main/doc...

    [stack size]: https://github.com/justjake/quickjs-emscripten/blob/main/doc...

    [heap size]: https://github.com/justjake/quickjs-emscripten/blob/main/doc...

    [benchmarks]: https://bellard.org/quickjs/bench.html

  • sandbox

    A nifty JavaScript sandbox for Node.js (by gf3)

  • PHP-Antimalware-Scanner

    AMWScan (PHP Antimalware Scanner) is a free tool to scan php files and analyze your project to find any malicious code inside it.

  • ExpressionEvaluator

    A Simple Math and Pseudo C# Expression Evaluator in One C# File. Can also execute small C# like scripts

  • Eval-Expression.NET

    C# Eval Expression | Evaluate, Compile, and Execute C# code and expression at runtime.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • matex

    PHP Mathematical expression parser and evaluator

  • subscript

    Fast and tiny expression evaluator with minimal syntax.

  • Project mention: Wax compiler – a tiny language designed to transpile to other languages | news.ycombinator.com | 2024-04-19

    > The goal of wax is to be a "common subset" of most major imperative programming languages. By lacking the unique fancy features in each of these languages and being as boring as possible, wax transpiles to all of them seamlessly

    I love the concept. I was recently studying a very small language called "subscript", with a similar idea they called "common syntax".

    > Subscript supports common syntax (shared by JavaScript,C, C++, Java, C#, PHP, Swift, Objective-C, Kotlin, Perl etc.)

    https://github.com/dy/subscript

    ---

    Lingdong Huang, the author of Wax language, is a genuine artist of software. His projects are a feast.

    https://lingdong.works/

    https://github.com/LingDong-

    A programming language in Classical Chinese. Procedurally generated flowers, fish drawings, imaginary creatures, landscape paintings. In my mind, he's up there in the Olympian heights with Fabrice Bellard, Justine Tunney, etc., in terms of technical mastery and innovative thinking.

  • alternative-interpreters

    List of alternative PHP nad JS interpreters and compilers

  • vectorboard

    Open Source Embeddings Optimisation and Eval Framework for RAG/LLM Applications. Documentations at https://docs.vectorboard.ai/introduction

  • Project mention: Exploring Methods to Improve Text Chunking in RAG Models (and other things...) | /r/GPT3 | 2023-10-22

    Hi, about chunking, if the text is structured (markdown or html), you can take headding and paragraph as a chunking unit, but the result is also affected by the applied embeddings, which can be evaluated separately first, for standard chunking methods with different chunk lengths, for example with this tool https://github.com/VectorBoard/vectorboard.

  • define-function

    quick.js based eval

  • run

    Safely execute untrusted code with ESM syntax support, dynamic injection of ESM modules from URL or plain JS code, and granular access control based on whitelisting for each JS object. (by initminal)

  • evalidate

    Safe and fast evaluation of untrusted user-supplied python expressions

  • Project mention: evalidate - Safe evaluation of untrusted user-supplied python expression | /r/Python | 2023-05-30

    Here comes evalidate. Evalidate parses expression into AST-tree, and validates every node of tree. For example, you can forbid every function call (example with smartphone will still work, but os.system() will not) or you can whitelist specific safe functions like int(). It's simple to use:

  • SpeechSuper-API-Samples

    Deep learning based speech and pronunciation assessment API for 8 languages.

  • dotty-patched

    Eval library and patched Scala-3/Dotty compiler. Evaluating source code and trees at compile time hacking multi-staging programming

  • php-smplang

    simple expression language written in PHP that executes code in an isolated environment

  • jsvar

    JSVAR - a C library for web GUIs with websockets.

  • asteval

    minimalistic evaluator of python expression using ast module

  • Project mention: evalidate - Safe evaluation of untrusted user-supplied python expression | /r/Python | 2023-05-30

    There is asteval project. It makes more poweful (ans slower) virtual python interpreter which you can use to run many commands in shared context. My benchmark (100 000 runs of simple python expressions):

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

eval related posts

  • New QuickJS Release

    6 projects | news.ycombinator.com | 9 Dec 2023
  • Exploring Methods to Improve Text Chunking in RAG Models (and other things...)

    1 project | /r/GPT3 | 22 Oct 2023
  • evalidate - Safe evaluation of untrusted user-supplied python expression

    2 projects | /r/Python | 30 May 2023
  • Sandboxing JavaScript Code

    2 projects | news.ycombinator.com | 19 Apr 2023
  • @initminal/run - Safe & fast code eval in the browser with modern ESM features, dynamic module injection and more...

    1 project | /r/javascript | 16 Apr 2023
  • why is UIKit much harder than SwiftUI?

    2 projects | /r/iOSProgramming | 24 Dec 2022
  • Show HN: Run unsafe user generated JavaScript in the browser

    14 projects | news.ycombinator.com | 19 Nov 2022
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 17 May 2024
    Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →

Index

What are some of the best open-source eval projects? This list will help you:

Project Stars
1 InjectionIII 3,880
2 gomacro 2,134
3 quickjs-emscripten 1,141
4 sandbox 844
5 PHP-Antimalware-Scanner 569
6 ExpressionEvaluator 564
7 Eval-Expression.NET 431
8 matex 108
9 subscript 91
10 alternative-interpreters 82
11 vectorboard 44
12 define-function 36
13 run 26
14 evalidate 21
15 SpeechSuper-API-Samples 22
16 dotty-patched 19
17 php-smplang 12
18 jsvar 8
19 asteval 0

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com