Scripting

Top 23 Scripting Open-Source Projects

  • V8

    The official mirror of the V8 Git repository

    Project mention: is there any resource for JavaScript that explain what kind of logic statement behind each function and why it's give this output and only accept this input etc... ? | reddit.com/r/learnprogramming | 2022-10-12

    It sounds like you want to know how JavaScript is implemented in the browser. The thing is, there is no universal implementation for JavaScript. JavaScript defines a specification that must be adhered to, and then each browser vendor can implement it in whatever way they see fit, as long as it does the specified things. For example (and I'm not saying this is the case) it's entirely possible for Chrome to implement Array.sort() using merge sort, while Firefox implements it as quick sort. You can try to find the source code for the implementation in a certain browser, but that will not be universal. I imagine you can find out how it works in Chrome somewhere in https://chromium.googlesource.com/v8/v8.git, though I'm not sure exactly where.

  • bitbar

    Put the output from any script or program into your macOS Menu Bar (the BitBar reboot)

    Project mention: Tailscale Funnel | news.ycombinator.com | 2022-11-17

    As an exercise, I've implemented a basic (and very hacky) UI for tailscale(1) as an xbar [1] plugin: https://gist.github.com/notpushkin/aa36c2d34e3e7180aa66ed2a5...

    [1]: https://xbarapp.com/

    tailscaled isn't particularly stable on my machine though, so I guess I'll roll back to the closed source version. However, this could be a starting point for a Linux client!

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

  • Wren

    The Wren Programming Language. Wren is a small, fast, class-based concurrent scripting language.

    Project mention: Why does Rust have parameters on impl? | reddit.com/r/rust | 2022-11-19
  • AutoHotkey_L

    AutoHotkey - macro-creation and automation-oriented scripting utility for Windows.

    Project mention: What are some tools or apps I can use to smooth out or automate typical office tasks?, | reddit.com/r/productivity | 2022-11-17

    You can explore AutoHotKey if you are on Windows. I have automated tons of mundane tasks filling timesheets, generating reports, deployment scripts, text expanders and hotkey mapping, etc. using Autohotkey script.

  • CopyQ

    Clipboard manager with advanced features

    Project mention: KDE beats MacOS hands down | reddit.com/r/kde | 2022-11-15

    CopyQ my dude

  • jc

    CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.

    Project mention: Posix commands with a flag to output standardized JSON or YAML | news.ycombinator.com | 2022-11-22
  • wasm3

    🚀 The fastest WebAssembly interpreter, and the most universal runtime

    Project mention: The Pine Formula | news.ycombinator.com | 2022-08-03

    > This product family will never run Linux, as developers will need to develop a new firmware from scratch. This is obviously not a problem for the earbuds, but a big limitation for the player

    Perhaps not Linux, but I suspect there would be a place here for a Unix-like platform that feels familiar. If for example we could get wide-adoption of something like the JVM or wasm3 [0] on these platforms, code could become quite portable, despite wildly different architectures.

    For example, Apache's NuttX [1] (that I first learned from Lupyuen, a guy making great progress working with Pine64 products).

    > Processing wise, this chip is well sufficient for TWS headphones, but very inadequate for an audio player. It will not drive a good screen, it nor run high-resolution flacs or (probably?) support a high-quality, high-bandwidth codec. In fact, a first generation iPod Nano (retailing for $149 in 2006) had 16MB RAM, so over 16 times what the PinePod would offer. In fact, even the features of any custom firmware are limited from so little memory

    I wouldn't call it time just yet. Displays can be interacted with intelligently (to reduce pixel bandwidth) and ultra high quality audio codecs offer diminishing returns, especially when you don't have a DAC or headphones to make the most of them.

    My advice to Pine64 would be this:

    1. Consolidate your product lines. The Pinebook is just a slower Pinebook Pro, just go with the Pinebook Pro. The PineTab is just a Pinebook without the keyboard, again I would consolidate this with the Pinebook Pro and just make the keyboard detachable.

    2. The SBCs should just go straight into the device, thus creating a clear upgrade path for future products. If you want a PineBook Pro running Quartz, just swap the boards (of course with daughter boards for USB expansion, display driver, power, etc).

    3. Don't be afraid to kill off products. The Pinebook and PineTab have never seen a new release. The PinePhone appears to be taking a back seat to the PinePhone Pro. The PineCube is basically DoA due to the processing power struggling to process the camera image.

    More generally, try to do fewer things, but do them well.

    [0] https://github.com/wasm3/wasm3

    [1] https://nuttx.apache.org/docs/latest/

    [2] https://lupyuen.github.io/articles/sensor

  • Sonar

    Free webinar: The Power of Clean C++. Are you ready to take your C++ code to the next level? Join Sonar on December 7th for our live webinar as we discuss how to get your code clean - and stay clean - with minimal effort and without being overloaded with warnings. Register now!

  • Duktape

    Duktape - embeddable Javascript engine with a focus on portability and compact footprint

    Project mention: Is there anyway to bypass the limit of rand()? | reddit.com/r/C_Programming | 2022-11-20

    Use lrand48(), or better, implement a high-quality RNG like PCG or splitmix64.

  • Unreal.js

    Unreal.js: Javascript runtime built for UnrealEngine

    Project mention: Unreal Rust | news.ycombinator.com | 2022-09-04

    This reminds me of Unreal.js, which allows you to write games with Unreal Engine in JavaScript (V8, to be specific): https://github.com/ncsoft/Unreal.js.

  • sol2

    Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:

    Project mention: RTS programming game where you write real C++ code to control your player. | reddit.com/r/cpp | 2022-11-11
  • script

    Making it easy to write shell-like scripts in Go

    Project mention: Is there anything golang similar to python plumbum? | reddit.com/r/golang | 2022-11-17

    I would say bitfield/script is the closest thing to plumbum. You should check out this article written by the author.

  • babashka

    Native, fast starting Clojure interpreter for scripting

    Project mention: Zuo: A Tiny Racket for Scripting | news.ycombinator.com | 2022-11-11

    If I want to write scripts in lisp (and I do!) I use babashka. https://babashka.org/.

    If I'm working on one project for some time I'll write a throwaway bb.edn with tasks for things I need to do often, for example to monitor a kubernetes pod, log it, and hit certain API endpoints. Then when I'm in the project directory I can just run `bb tsj` (e.g. test sign job).

  • luau

    A fast, small, safe, gradually typed embeddable scripting language derived from Lua

    Project mention: Building the fastest Lua interpreter.. automatically! | reddit.com/r/Compilers | 2022-11-24

    Also it should be noted that LuaJITs hash table shape specialization is also done in the JIT, which is similar to the IC that the author is doing in the interpreter. Roblox's Luau actually does hash table shape specialization in the interpreter

  • gluon

    A static, type inferred and embeddable language written in Rust.

    Project mention: Rock v0.2.1, a little native toy language I've made with Rust and LLVM. | reddit.com/r/ProgrammingLanguages | 2022-04-20
  • libffi

    A portable foreign-function interface library.

    Project mention: kivy-ios / initial build with toolchain keeps getting stuck here (checking for suffix of executables...) after updating macOS and xcode... any thoughts? Thanks! | reddit.com/r/kivy | 2022-08-01

    The last line of output is from configure and appears to be during building of libffi recipe - apparently executing the generate-darwin-source-and-headers.py from libffi repository

  • ChaiScript

    Embedded Scripting Language Designed for C++

  • Weechat

    The extensible chat client.

    Project mention: Tell HN: Linux Mint support IRC appears to me captured by juvenile moderators | news.ycombinator.com | 2022-08-27

    I am not familiar with HexChat but you might consider using a different IRC client that allows you to silence anything/everything by default and only alert you on specific keywords you are interested in. If you like command line tools, consider trying out WeeChat IRC client [1] It is very customizable and there are many scripts for it.

    [1] - https://weechat.org/

  • Platypus

    Create native Mac applications from command line scripts.

  • nbind

    :sparkles: Magical headers that make your C++ library accessible from JavaScript :rocket:

  • SwiftBar

    Powerful macOS menu bar customization tool

    Project mention: Apps that should be paid, but are not (Part 3) | reddit.com/r/macapps | 2022-11-19

    https://github.com/swiftbar/SwiftBar - Powerful macOS menu bar customization tool

  • PowerShell

    PowerShell functions and scripts (Azure, Active Directory, SCCM, SCSM, Exchange, O365, ...) (by lazywinadmin)

    Project mention: A way to see how frequently Exchange Meeting rooms are being used? | reddit.com/r/PowerShell | 2022-08-12
  • kscript

    Scripting enhancements for Kotlin

    Project mention: If I can write code outside of the main function and it'll work just fine, why would I even need the main function? | reddit.com/r/Kotlin | 2022-03-19

    There is a community project called kscript, which can execute bare bones kotlin script files. The shebang line for that would be #!/usr/bin/env kscript. While that is one thing which can be done with Kotlin script, it is not its main purpose, its main purpose is to have a script definition in some other Kotlin program which can then execute any Kotlin script following that definition at runtime. See the official tutorial for how a Kotlin program would run such a script.

  • ctypes.sh

    A foreign function interface for bash.

    Project mention: Shared Libraries as Executables | news.ycombinator.com | 2022-08-20

    rundll32.exe is just a way of doing FFI from as a command -- there are few different options on UNIX-likr systems for that. The most obvious is ctypes.sh [0].

    There are, though, even more sophisticated options than just FFI, like the Witchcraft Compiler Collection [1], which includes among other things an interactive shell.

    [0] https://github.com/taviso/ctypes.sh

    [1] https://github.com/endrazine/wcc

  • Zigi

    The context switching struggle is real. Zigi makes context switching a thing of the past. It monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack!

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). The latest post mention was on 2022-11-24.

Scripting related posts

Index

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

Project Stars
1 V8 20,498
2 bitbar 16,452
3 Wren 6,088
4 AutoHotkey_L 6,030
5 CopyQ 5,718
6 jc 5,677
7 wasm3 5,506
8 Duktape 5,451
9 Unreal.js 3,360
10 sol2 3,198
11 script 3,125
12 babashka 3,029
13 luau 2,780
14 gluon 2,692
15 libffi 2,639
16 ChaiScript 2,617
17 Weechat 2,574
18 Platypus 2,113
19 nbind 1,905
20 SwiftBar 1,880
21 PowerShell 1,866
22 kscript 1,815
23 ctypes.sh 1,775
Truly a developer’s best friend
Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.
scoutapm.com