Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-zig
A list of awesome projects related to Zig
https://github.com/catdevnull/awesome-zig
Last synced: 3 days ago
JSON representation
-
Compilers and interpreters
- LoLa Programming Language - ([GitHub](https://github.com/MasterQ32/LoLa)) An embeddable programming language for game scripting.
- Vexu/bog - Small, strongly typed, embeddable language.
- squeek502/zua - An implementation of Lua 5.1 for learning purposes.
- CurtisFenner/zsmol - The new Smol compiler and reference.
- dantecatalfamo/brainfuck-zig - Brainfuck interpreter.
- dantecatalfamo/mruby-zig - [mruby](https://mruby.org/) bindings.
- dantecatalfamo/wren-zig - [wren](https://wren.io/) bindings.
- fubark/cyber - Fast and concurrent scripting.
- oven-sh/bun - Incredibly fast JavaScript runtime, bundler, transpiler and package manager – all in one.
-
Emulators
- sourgrasses/ichigo - Virtual Boy emulator.
- fengb/fundude - Gameboy emulator for WASM.
- GrooveStomp/chip8-zig - CHIP-8 emulator.
- floooh/kc85.zig - A KC85 emulator.
- Arwalk/ChipZ
-
Game tools and libraries
- user00e00/sudokuinzig - Simple and robust sudoku solver.
- hazeycode/brucelib - Monorepo of modules for programming cross-platforms games, simulations, engines & editors.
- hexops/mach - Game engine and graphics toolkit.
- floooh/sokol-zig - [Sokol](https://github.com/floooh/sokol) bindings.
- TM35-Metronome/tm35-nds - A library for working with Nintendo DS roms.
- wendigojaeger/ZigGBA - SDK for creating Game Boy Advance games using Zig.
- andy5995/zigdeck - A library that creates and shuffles a deck of cards from which you can draw.
- michal-z/zig-gamedev - DirectX 12 game development ecosystem.
- TM35-Metronome/metronome - A set of tools for modifying and randomizing Pokémon games.
-
GUI
- andrewrk/zig-sdl - Self-contained SDL2 package for Zig.
- ifreund/river - Dynamic wayland compositor that takes inspiration from dwm and bspwm.
- david-vanderson/gui - Immediate mode GUI for Zig.
- ifreund/river - Dynamic wayland compositor that takes inspiration from dwm and bspwm.
- capy-ui/capy - Cross-platform library for making true native GUIs.
- Aransentin/ZWL - Zig Windowing Library.
- prime31/zig-upaya - GUI toolkit.
- fubark/cosmic - GUI toolkit.
- batiati/IUPforZig - Zig idiomatic and type-checked bindings for IUP Portable User Interface Toolkit.
- Snektron/vulkan-zig - Vulkan binding generator.
- Avokadoen/zig_vulkan - Toy renderer using Vulkan and GLFW.
- andrewrk/zig-vulkan-triangle - Simple triangle displayed using Vulkan, GLFW, and Zig.
- kassane/QML-zig - QML bindings.
- cshenton/learnopengl - [Learn OpenGL](https://learnopengl.com) tutorials ported to Zig.
- Nelarius/weekend-raytracer-zig - An implementation of the "Ray Tracing in One Weekend" book.
- SpexGuy/Zig-Gltf-Display - A program that displays glTF files using Vulkan.
- tiehuis/zig-raytrace - Simple raytracer.
- donpdonp/zootdeck - Fediverse GTK Desktop Reader.
- olexij-christian/zgtk3 - GTK3 bindings.
- david-vanderson/gui - Immediate mode GUI for Zig.
- MasterQ32/ZigPaint - A simple paint application. Used to create an OpenGL loader/wrapper and a minimal UI system.
-
Parser
-
Package managers
- caolan/zig-netstring - Netstring parser.
- naneros/ztoml - TOMLv1.0.0 parser and convert TOML to JSON.
- darithorn/zig-toml - A TOML parser.
- chwayne/rem - An HTML parsing library.
- Himujjal/zig-json5 - JSON5 parser resembling the `std.json` APIs.
- goto-bus-stop/ziguid - GUID parsing/stringifying.
- 00JCIV00/cova - Commands, Options, Values, Arguments. A simple yet robust cross-platform command line argument parsing library.
- Hejsil/zig-clap - Simple command line argument parsing library.
- sam701/zig-cli - Package for building command line apps.
- kivikakk/libpcre.zig - Bindings to libpcre for Perl-compatible regular expressions.
- kivikakk/koino - CommonMark/GitHub Flavored Markdown parser and HTML renderer.
- kubkon/zig-yaml - YAML parser.
- sreehax/zig-ini - .ini parser.
- Nulo/ini-parser - .ini parser.
- tiehuis/zig-regex - A regex implementation.
- tiehuis/zig-ryu - Port of [ryu](https://github.com/ulfjack/ryu).
- Vexu/zuri - URI parser.
- vi/zigmkv - Matroska/webm (mkv) parser.
- winksaville/zig-parse-args - Parse command line arguments.
- winksaville/zig-parse-number - Implement ParseNumber which can parse any TypeId.Int or TypeId.Float.
- gernest/base32 - Base32 encoding/decoding.
- Arwalk/zig-protobuf - Implementation of Protocol Buffers v3 leveraging Zig's comptime.
- iddev5/inon - Data configuration file format.
- InKryption/comath - Calculate math expressions in comptime.
- weskoerber/kewpie - A simple query string parser.
- darithorn/zig-toml - A TOML parser.
- chwayne/rem - An HTML parsing library.
-
-
C/C++ libraries packaged for Zig
-
C
- andrewrk/libsoundio - library for real-time audio input and output.
- andrewrk/libz - Zlib data compression.
- andrewrk/libgroove - streaming audio processing library.
- kassane/openssl-zig - crypto, providers & ssl libraries only.
- kassane/wolfssl - wolfssl library.
- kassane/libbpf - BPF CO-RE (Compile Once – Run Everywhere).
- kassane/winpthreads - PThread library for MinGW.
- raysan5/raylib - A simple and easy-to-use library to enjoy videogames programming.
- jmcnamara/libxlsxwriter - Creating Excel XLSX files.
-
C++
- andrewrk/libchromaprint - library for generating audio fingerprints used by AcoustID.
- kassane/asio - (non-boost) Networking I/O library (w/ event-loop, C++14/17/20).
- kassane/fmt - Modern formatting library.
- kassane/context - (boost-context) fiber library (C++14/17/20).
- kassane/fiber - (boost-fiber) userland threads (C++14/17/20).
- kassane/beast - (boost-beast) HTTP and WebSocket (C++14/17/20).
- kassane/hana - (boost-hana) Meta-programming library (header-only, C++14/17/20).
- kassane/intrusive - (boost-intrusive) intrusive containers (header-only, C++03/11/14).
- kassane/unordered - (boost-unordered) hashmap and set concurrency containers (C++03/11/14).
- kassane/catch2 - Unit testing library (C++14/17/20).
- kassane/outcome - (non-boost) Error handler (C++14/17/20).
- kassane/json - jsoncpp ported to Zig packaging.
- kassane/Standalone-Server - Asio standalone C++ HTTP/S Server.
- kassane/range-v3 - modern range library (C++14/17/20).
- kassane/libzmq - ZeroMQ core engine in C++ library.
- kassane/libsigcplusplus - Typesafe callback system for standard C++.
- ggerganov/llama.cpp - Port of Facebook's LLaMA model in C/C++.
-
-
Other
-
C++
- All Your Codebase - Development status of Zig and its' ecosystem.
- zig.pm - A community-maintained repository of Zig packages.
- vegecode/svd2zig - Convert System View Description (svd) files to Zig headers for baremetal development.
- hspak/geteltorito-zig - Geteltorito re-write in Zig.
- momumi/x86-zig - Library for assembling x86.
- nrdmn/ilo_license_key - ILO license key library.
- mqttiotstuff/iotmonitor - MQTT IotMonitor tools, save time to monitor mqtt agents or devices.
- ve-nt/outfieldr - [TLDR](https://github.com/tldr-pages/tldr) client.
- kubkon/zig-ios-example - Minimal `build.zig` for targeting iOS.
- ynuwenhof/zigbraten - Proof of concept internal cheat for Cube 2: Sauerbraten.
- vbrusca/ZigSdlGameTemplate - SDL game project template.
-
-
Algorithms and data structures
- hexops/xorfilter - Xor Filters for checking if a key is part of a set.
- ziglibs/s2s - Binary serialization format and library.
- BarabasGitHub/LZig4 - LZ4 implementation.
- DutchGhost/ArrayVec - An array with a vector feeling.
- emekoi/deque.zig - A lock free chase-lev deque.
- kristoff-it/zig-cuckoofilter - Production-ready Cuckoo Filters for any C ABI compatible target.
- marijnfs/zigtimsort - TimSort implementation.
- Sahnvour/zig-containers - A container library.
- Srekel/zig-sparse-set - Sparse sets, supporting both SOA and AOS style.
- JakubSzark/zig-string - UTF-8 string data structure.
- karlseguin/cache.zig - Thread-safe, expiration-aware, LRU cache.
-
Bootables
- MasterQ32/RetrOS - A retro-style gaming console running on bare x86 metal.
- SamTebbs33/pluto - An x86 kernel.
- AndreaOrru/zen - Experimental operating system.
- andrewrk/clashos - Multiplayer arcade game for bare metal Raspberry Pi 3 B+.
- andrewrk/HellOS - "hello world" x86 kernel example.
- chivay/vmt - Toy OS.
- DorianXGH/Lukarnel - A microkernel with Rust microservices.
- iguessthislldo/georgios - Hobby Operating System.
- jzck/kernel-zig - Hobby x86 kernel.
- markfirmware/zig-bare-metal-microbit - Bare metal microbit program.
- markfirmware/zig-bare-metal-raspberry-pi - Bare metal raspberry pi program.
- nrdmn/uefi-examples - UEFI examples.
- nrdmn/uefi-paint - UEFI-bootable touch paint app.
- rafaelbreno/zig-os - A simple OS following Philipp Oppermann's posts "Writing an OS in Rust".
- sjdh02/trOS - Tiny aarch64 baremetal OS thingy.
- tralamazza/embedded_zig - Minimal embedded ARM example (STM32F103 blue pill).
- yvt/zig-armv8m-test - Example app for Armv8-M + TrustZone.
- ZeeBoppityZagZiggity/ZBZZ.OS - An operating system built for RISCV.
-
Database
- coilhq/tigerbeetle - A distributed financial accounting database designed for mission critical safety and performance.
- kristoff-it/redis-cuckoofilter - Hashing-function agnostic Cuckoo filters for Redis.
- kristoff-it/zig-okredis - Zero-allocation Client for Redis 6+.
- leroycep/sqlite-zig - SQLite bindings.
- vrischmann/zig-cassandra - Client for Cassandra 2.1+.
- vrischmann/zig-sqlite - SQLite wrapper.
- karlseguin/zuckdb.zig - DuckDB wrapper.
- karlseguin/pg.zig - Native PostgreSQL client.
-
Misc libraries
- mlarouche/zigimg - Zig library for reading and writing different image formats.
- natecraddock/ziglua - Bindings for the Lua C API.
- BraedonWooding/Lazy-Zig - Linq.
- DutchGhost/maybeuninit - MaybeUninit.
- emekoi/log.zig - A thread-safe logging library.
- kprotty/zap - A collection of libraries which provide interfaces over the system for writing high performance applications.
- vbrusca/ZigMatrixUtils - Matrix manipulation and utility library.
- ziglibs/known-folders - Provides access to well-known folders across several operating systems.
- SasLuca/zig-nanoid - Battle-tested, tiny, secure, URL-friendly, unique string ID generator. Now available in pure Zig.
- kassane/libvlc-zig - Bindings for libVLC media framework.
- karlseguin/log.zig - Structured logging library.
- dantecatalfamo/9p-zig - 9P2000 client/server library.
- karlseguin/singleflight.zig - Duplicate function call suppression.
- kassane/lean4-zig - Bindings for Lean 4 (theorem prover).
- attron/astroz - Astronomical and Spacecraft Toolkit.
- bfactory-ai/zignal - Image processing library inspired by [dlib](http://dlib.net/).
- dbandstra/zig-pcx - PCX image format decoder and encoder.
- ryoppippi/zigcv - Bindings for OpenCV4.
-
Allocators and memory
- fengb/zee_alloc - Tiny allocator primarily targeting WebAssembly.
- mdsteele/ziegfried - A general-purpose memory allocator.
- suirad/Seal - An allocator that wraps another allocator and detects if memory is leaked after usage.
- Hejsil/zig-gc - A super simple mark-and-sweep garbage collector.
- dbandstra/zig-hunk - Basic "Hunk" memory allocator, based on the hunk system from id Software's Quake engine.
-
Audio
- Hejsil/zig-midi
- hazeycode/zig-alsa - Bindings for ALSA (libasound).
- dantecatalfamo/sndio-zig - Bindings for [sndio](https://sndio.org).
- orhun/linuxwave - Generate music from the entropy of Linux.
- dbandstra/zig-wav - Simple WAV file parser and writer.
-
Concurrency
- mitchellh/libxev - Cross-platform event-loop.
- kprotty/zefi - Fiber library.
- rsepassi/zigcoro - coroutine-friendly, based on libxev.
- iacore/minicoro-zig - Bindings for minicoro - Stackful Stack-Switching Coroutine.
-
Editor plugins
- MarioAriasC/zig-support - Language support for JetBrains IDEs (IntelliJ, CLion and others)
- isaachier/ztags - Ctags implementation for Zig.
- Tetralux/sublime-zig - My own, more lightweight, syntax highlighting for Zig.
- ziglang/sublime-zig-language - Zig language support for Sublime Text.
- ziglang/vscode-zig - Zig language support for VSCode.
- ziglang/zig-mode - Zig mode for Emacs.
- ziglang/zig.vim - Vim configuration for Zig.
- zigtools/zls - Zig LSP implementation + Zig Language Server.
-
Games
- Akuli/curses-minesweeper - Minesweeper game written in curses.
- andrewrk/tetris - A simple tetris clone.
- fabioarnold/snake-zig - A simple snake clone.
- Stenodyon/blink - A game about building logic with lasers.
- thejoshwolfe/legend-of-swarkland - Hack-n-slash roguelike inspired by NetHack.
- tiehuis/zstack - Line-race tetris mode.
- kooparse/zalgebra - Linear algebra library for games and real-time computer graphics.
- floooh/pacman.zig - A Pacman clone.
- dantecatalfamo/OpenCSE - Free implementation of the Can't Stop Express dice game.
- dbandstra/oxid - Arcade-style game where you fight waves of monsters in a fixed-screen maze.
-
Network
-
- dantecatalfamo/zig-dns - Experimental DNS library implemented in zig.
- euantorano/ip.zig - Library for working with IP Addresses.
- lun-4/zigdig - Naive DNS client library.
- marler8997/netpunch - Outbound proxy protocol.
- remeh/statsd-zig - Basic DogStatsD UDP server.
- MasterQ32/zig-network - Small network abstraction layer around TCP & UDP.
-
HTTP
- Luukdegram/apple_pie - HTTP 1.0/1.1 Server implementation.
- truemedian/zfetch - HTTP(S) client based on iguanaTLS.
- ducdetronquito/requestz - HTTP client based on h11.
- ducdetronquito/h11 - I/O-free HTTP/1.1 implementation inspired by hyper/h11.
- lun-4/ziget - Simple wget without libc.
- Vexu/routez - HTTP server.~~
- frmdstryr/zhp - Featureful HTTP server.
- axgdev/telegram_echobot_zig - Telegram echo bot.
- karlseguin/http.zig - HTTP/1.1 server.
- zigzap/zap - blazingly fast, robust HTTP server.
-
Messaging
- skunkwerks/zamqp - AMQP client, based on rabbitmq-c.
- nine-lives-later/zzmq - ZeroMQ library, based on CZMQ.
-
-
Web
-
Messaging
- andrewrk/lua-in-the-browser - Using Zig to build Lua for WebAssembly.
- karlseguin/websocket.zig - A WebSocket implementation.
- kivikakk/htmlentities.zig - HTML5 entity data.
- meheleventyone/zig-wasm-test - A minimal WebAssembly example using Zig's build system.
- shritesh/zig-wasm-dom - Zig + WebAssembly + JS + DOM.
- shritesh/zigfmt-web - Zig fmt on the web.
- zigwasm/wasm-zig - Common WASM runtime binding to C API.
- zigwasm/wasmer-zig - Bindings for the Wasmer WebAssembly runtime.
- zigwasm/wasmtime-zig - Bindings of Wasmtime.
- batiati/mustache-zig - Mustache implementation.
- floscodes/zerve - Simple framework for writing web services and web apps.
- zon-dev/zinc - Zinc is a framework focusing on high performance, usability, security, and extensibility.
-
-
System tools
-
Messaging
- pbui-project/pbui-main - BSD/Linux core utilities written in Zig.
- hspak/brightnessztl - A CLI to control device backlight.
- thejoshwolfe/hexdump-zip - Produce an annotated hexdump of a zipfile.
- kubkon/zacho - Zig's Mach-O parser.
- weskoerber/mac_address - A cross-platform library to retrieve the MAC address from your network interfaces without libc.
-
-
Zig development tools
-
Messaging
- marler8997/zigup - Download and manage zig compilers.
- korandoru/setup-zig - Set up a specific version of Zig environment on GitHub Actions.
- weskoerber/zvm - POSIX-compliant bash script to manage multiple active Zig versions.
- vezel-dev/zig-sdk - MSBuild SDK for building Zig, C, and C++ projects using the Zig compiler.
- aherrmann/rules_zig - Bazel build rules for Zig.
-
Package managers
- zigtools/zpm - Unofficial Zig package manager.
- mattnite/gyro - Package manager with an index, build runner, and build dependencies.
- nektro/zigmod - Zig package manager.
- cheetah/asdf-zig - Zig plugin for the ASDF package manager.
- mattnite/ezpkg - Zig Package Manager Expansion Pack.
- nix-community/zon2nix - Convert the dependencies in `build.zig.zon` to a Nix expression.
-
-
Learning resources
-
Package managers
- belse-de/zig-tut - A collection of small projects and tutorials to learn Zig.
- zighelp/zighelp - Get up to speed with Zig quickly (ziglearn fork).
- ziglings/exercises - Learn Zig by fixing tiny example programs.
-
Programming Languages
Categories
Parser
27
C/C++ libraries packaged for Zig
26
GUI
21
Bootables
18
Network
18
Misc libraries
18
Web
12
Other
11
Algorithms and data structures
11
Zig development tools
11
Games
10
Game tools and libraries
9
Compilers and interpreters
9
Database
8
Editor plugins
8
System tools
5
Emulators
5
Allocators and memory
5
Audio
5
Concurrency
4
Learning resources
3
Sub Categories
Keywords
zig
136
zig-package
46
ziglang
29
zig-library
20
wasm
11
cpp
10
cpp-library
9
webassembly
8
http
7
cplusplus
6
kernel
5
graphics
5
c
5
networking
4
bindings
4
linux
4
wasi
4
server
4
gamedev
4
raspberry-pi
3
osdev
3
vulkan
3
operating-system
3
web
3
gui
3
lua
3
http-server
3
boost-libraries
3
library
3
iot
3
typescript
2
game-engine
2
raytracing
2
command-line
2
cli
2
os
2
aarch64
2
asio
2
game-development
2
unix
2
x86
2
argument-parser
2
tls
2
ssl
2
bare-metal
2
cryptography
2
uefi
2
cross-platform
2
arm
2
serialization
2