Tinygo

Open-source projects categorized as Tinygo
Language: + Go + C + Python

Top 15 Tinygo Open-Source Projects

  • TinyGo

    Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.

  • Project mention: Gokrazy – Go Appliances | news.ycombinator.com | 2023-12-18
  • vecty

    Vecty lets you build responsive and dynamic web frontends in Go using WebAssembly, competing with modern web frameworks like React & VueJS.

  • 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
  • bluetooth

    Cross-platform Bluetooth API for Go and TinyGo. Supports Linux, macOS, Windows, and bare metal using Nordic SoftDevice or HCI (by tinygo-org)

  • proxy-wasm-go-sdk

    WebAssembly for Proxies (Go SDK)

  • Project mention: A "Tiny" APISIX Plugin | dev.to | 2023-11-27

    // references: // https://github.com/tetratelabs/proxy-wasm-go-sdk/tree/main/examples // https://github.com/apache/apisix/blob/master/t/wasm/ package main import ( "github.com/tetratelabs/proxy-wasm-go-sdk/proxywasm" "github.com/tetratelabs/proxy-wasm-go-sdk/proxywasm/types" "github.com/valyala/fastjson" ) func main() { proxywasm.SetVMContext(&vmContext{}) } // each plugin has its own VMContext. // it is responsible for creating multiple PluginContexts for each route. type vmContext struct { types.DefaultVMContext } // each route has its own PluginContext. // it corresponds to one instance of the plugin. func (*vmContext) NewPluginContext(contextID uint32) types.PluginContext { return &pluginContext{} } type header struct { Name string Value string } type pluginContext struct { types.DefaultPluginContext Headers []header } func (ctx *pluginContext) OnPluginStart(pluginConfigurationSize int) types.OnPluginStartStatus { data, err := proxywasm.GetPluginConfiguration() if err != nil { proxywasm.LogErrorf("error reading plugin configuration: %v", err) return types.OnPluginStartStatusFailed } var p fastjson.Parser v, err := p.ParseBytes(data) if err != nil { proxywasm.LogErrorf("error decoding plugin configuration: %v", err) return types.OnPluginStartStatusFailed } headers := v.GetArray("headers") ctx.Headers = make([]header, len(headers)) for i, hdr := range headers { ctx.Headers[i] = header{ Name: string(hdr.GetStringBytes("name")), Value: string(hdr.GetStringBytes("value")), } } return types.OnPluginStartStatusOK } // each HTTP request to a route has its own HTTPContext func (ctx *pluginContext) NewHttpContext(contextID uint32) types.HttpContext { return &httpContext{parent: ctx} } type httpContext struct { types.DefaultHttpContext parent *pluginContext } func (ctx *httpContext) OnHttpResponseHeaders(numHeaders int, endOfStream bool) types.Action { plugin := ctx.parent for _, hdr := range plugin.Headers { proxywasm.ReplaceHttpResponseHeader(hdr.Name, hdr.Value) } return types.ActionContinue }

  • drivers

    TinyGo drivers for sensors, displays, and other devices that use I2C, SPI, GPIO, ADC, and UART interfaces.

  • luna

    🌙 A really tiny WebAssembly compiler for demonstration and educational purposes. Written in Go and built as one of my quests to conquer the WebAssembly dungeon (by thomscoder)

  • capsule

    A Capsule application is a runner (or launcher) of wasm functions. Capsule HTTP can serve the functions through HTTP (it’s possible to use Capsule as a simple CLI with Capsule CLI). And soon: NATS and MQTT (by bots-garden)

  • SaaSHub

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

    SaaSHub logo
  • go-re2

    Drop-in replacement for regexp using re2, for any Go app

  • Project mention: Best regexp alternative for Go. Benchmarks. Plots. | dev.to | 2023-08-26

    go-re2 (1.3.0) - as simple as possible replaces the default regexp. Uses C++ re2 to improve performance when dealing with large inputs or complex expressions;

  • tinygo-keyboard

    USB HID keyboard firmware for tinygo

  • nottinygc

    Higher-performance allocator for TinyGo WASI apps

  • tinyfont

    Text library for TinyGo displays

  • tinydraw

    TinyDraw is a package of drawing primitives on TinyGo displays.

  • spago

    SpaGo is toolkit for Single Page Application. (by nobonobo)

  • fivebyfive

    Polyglot examples for the 01Space ESP32-C3FH4-RGB board

  • TinyGo-On-ESP32

    This tutorial will walk you through how to setup Ubuntu 20.10 with Ubuntu Desktop on a Raspberry Pi 4B, install the Espressif ESP-IDF, install Go and TinyGo and finally flash an app to an Espressif ESP32 Microcontroller.

  • 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).

Tinygo related posts

  • A "Tiny" APISIX Plugin

    4 projects | dev.to | 27 Nov 2023
  • What's Zig got that C, Rust and Go don't have? [video]

    4 projects | news.ycombinator.com | 21 Nov 2023
  • TinyGo release 0.29 is out

    1 project | news.ycombinator.com | 30 Aug 2023
  • When would you (not) recommend Go over Rust?

    2 projects | /r/golang | 10 Jul 2023
  • “C is quirky, flawed, and an enormous success” – Dennis Ritchie

    1 project | news.ycombinator.com | 9 Jul 2023
  • Writing an OS in Go: The Bootloader

    3 projects | /r/golang | 29 Apr 2023
  • execute os command with tinygo

    1 project | /r/golang | 12 Apr 2023
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 2 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 Tinygo projects? This list will help you:

Project Stars
1 TinyGo 14,479
2 vecty 2,757
3 bluetooth 659
4 proxy-wasm-go-sdk 661
5 drivers 577
6 luna 308
7 capsule 284
8 go-re2 109
9 tinygo-keyboard 65
10 nottinygc 60
11 tinyfont 48
12 tinydraw 41
13 spago 35
14 fivebyfive 36
15 TinyGo-On-ESP32 15

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