资料库
Learning Resources
- Zig Language Reference (opens in a new tab) : Zig Language Reference.
- Zig In-depth Overview (opens in a new tab) : Zig In-depth Overview.
- Zig Guide (opens in a new tab) : Get started with the Zig programming language.
- Zig cookbook (opens in a new tab) : A collection of simple Zig programs that demonstrate good practices to accomplish common programming tasks.
- Zig in 30 minutes (opens in a new tab) : A half-hour to learn Zig.
- Ziglings (opens in a new tab) : Learn the Zig programming language by fixing tiny broken programs.
- Awesome zig wiki (opens in a new tab): Other interesting materials about Zig.
- Learning Zig (opens in a new tab) : This guide aims to make you comfortable with Zig. It assumes prior programming experience, though not in any particular language.
- Zig 圣经 (opens in a new tab) : 简单、快速地学习 Zig.
Tools
Text Editors
- zigtools/zls (opens in a new tab) : The @ziglang language server for all your Zig editor tooling needs, from autocomplete to goto-def! install.zigtools.org/ (opens in a new tab)
- ziglang/vscode-zig (opens in a new tab) : Zig language support for VSCode.
- ziglang/zig.vim (opens in a new tab) : Vim configuration for Zig.
- ice1000/intellij-zig (opens in a new tab) : The IntelliJ IDEA plugin for the Zig programming language ┗😃┛ ┏😃┓ ┗😃┛ ┏😃┓
- Tetralux/sublime-zig (opens in a new tab) : My own, more lightweight, syntax highlighting for the Zig Programming Language.
- ziglang/sublime-zig-language (opens in a new tab) : Zig language support for Sublime Text.
- ziglang/zig-mode (opens in a new tab) : Zig mode for Emacs.
- isaachier/ztags (opens in a new tab) : ctags implementation for Zig written in Zig.
Linter
- nektro/ziglint (opens in a new tab) : linting suite for Zig
Documentation and Testing
- kristoff-it/zig-doctest (opens in a new tab) : A tool for testing snippets of code, useful for websites and books that talk about Zig.
Package and Version Manager
- zigcc/asdf-zig (opens in a new tab) : zig plugin for asdf version manager. https://github.com/asdf-vm/asdf (opens in a new tab)
- marler8997/zigup (opens in a new tab) : Download and manage zig compilers.
- zigtools/zpm (opens in a new tab) : Zig package manager helper.
- goto-bus-stop/setup-zig (opens in a new tab) : Setup Zig for GitHub Action Workflows.
- korandoru/setup-zig (opens in a new tab) : Set up your GitHub Actions workflow with a specific version of Zig.
- jsomedon/night.zig (opens in a new tab) : Simple tool that just install & update zig nightly.
- matklad/hello-getzig (opens in a new tab) : getzig is an idea for a zig version manager along the lines of gradle wrapper.
- mitchellh/zig-overlay (opens in a new tab) : Nix flake for the Zig compiler.
- Cloudef/zig2nix (opens in a new tab) : Flake for packaging, building and running Zig projects.
- Cloudef/nix-zig-stdenv (opens in a new tab) : Zig based cross-compiling toolchain.
- joachimschmidt557/zigpkgs (opens in a new tab) : A collection of zig packages built with Nix.
- nektro/zigmod (opens in a new tab) : 📦 A package manager for the Zig programming language.
- mattnite/gyro (opens in a new tab) : A Zig package manager with an index, build runner, and build dependencies.
Data Structure and Algorithm
- hello-algo-zig (opens in a new tab) : Zig programming language codes for the famous public project 《Hello, Algorithm》|《 Hello,算法 》 (opens in a new tab) about data structures and algorithms.
- TheAlgorithms/Zig (opens in a new tab) : Collection of Algorithms implemented in Zig.
- alichraghi/zort (opens in a new tab) : Zort: Sorting algorithms in zig.
- Srekel/zig-sparse-set (opens in a new tab) : 🎡 zig-sparse-set 🎡. Sparse sets for zig, supporting both SOA and AOS style.
- mitchellh/zig-graph (opens in a new tab) : Directed graph data structure for Zig.
- ok-ryoko/multiring.zig (opens in a new tab) : Singly linked, cyclic and hierarchical abstract data type in Zig.
- jakubgiesler/VecZig (opens in a new tab) : Vector implementation in Zig.
- JacobCrabill/btree.zig (opens in a new tab) : Behavior Tree library written in Zig.
- DutchGhost/ArrayVec (opens in a new tab) : A library with an ArrayList-like API, except its a static array.
- emekoi/deque.zig (opens in a new tab) : a lock free chase-lev deque for zig.
- kristoff-it/zig-cuckoofilter (opens in a new tab) : Production-ready Cuckoo Filters for any C ABI compatible target.
- BarabasGitHub/LZig4 (opens in a new tab) : Implementing lz4 in zig.
- marijnfs/zigtimsort (opens in a new tab) : TimSort implementation for Zig.
- Sahnvour/zig-containers (opens in a new tab) : A set of containers for Zig.
- booniepepper/zig-data-structures (opens in a new tab) : Home to some experiments in Zig data structures.
- deckarep/ziglang-set (opens in a new tab) : A generic and general purpose Set implementation for the Zig language.
String Processing
- JakubSzark/zig-string (opens in a new tab) : Zig String (A UTF-8 String Library). This library is a UTF-8 compatible string library for the Zig programming language.
- jecolon/zigstr (opens in a new tab) : Zigstr is a UTF-8 string type for Zig programs.
- ziglibs/string-searching (opens in a new tab) : String(not limited to []const u8)-searching algorithms in zig.
- hwu1001/zig-string (opens in a new tab) : A String struct made for Zig.
File format processing
- ziglibs/known-folders (opens in a new tab) Provides access to well-known folders across several operating systems.
- tiehuis/zig-regex (opens in a new tab) : A regex implementation for the zig programming language.
- getty-zig/getty (opens in a new tab) : Getty is a framework for building robust, optimal, and reusable (de)serializers in Zig. getty.so (opens in a new tab)
- jecolon/ziglyph (opens in a new tab) : Unicode text processing for the Zig programming language.
- kubkon/zig-yaml (opens in a new tab) : YAML parser for Zig.
- nektro/zig-json (opens in a new tab) : A JSON library for inspecting arbitrary values.
- getty-zig/json (opens in a new tab) : Getty JSON is a (de)serialization library for the JSON data format.
- MahBestBro/regex (opens in a new tab) : A single file regex library written in and for Zig.
- karlseguin/log.zig (opens in a new tab) : A structured logger for Zig.
- mattyhall/tomlz (opens in a new tab) : A well-tested TOML parsing library for Zig.
- mitchellh/zig-libxml2 (opens in a new tab) : libxml2 built using Zig build system.
- travisstaloch/protobuf-zig (opens in a new tab) : A protocol buffers implementation in zig.
- sam701/zig-toml (opens in a new tab) : Zig TOML (v1.0.0) parser.
- ziglibs/tres (opens in a new tab) : ValueTree-based JSON parser.
- ziglibs/s2s (opens in a new tab) : A zig binary serialization format.
- Arwalk/zig-protobuf (opens in a new tab) : a protobuf 3 implementation for zig.
- aeronavery/zig-toml (opens in a new tab) : A TOML parser written in Zig.
- goto-bus-stop/ziguid (opens in a new tab) : GUID parsing/stringifying with zig.
- ducdetronquito/hppy (opens in a new tab) : The happy HTML parser ᕕ( ᐛ )ᕗ.
- kivikakk/libpcre.zig (opens in a new tab) : Zig bindings to libpcre.
- kivikakk/koino (opens in a new tab) : CommonMark + GFM compatible Markdown parser and renderer.
- m-r-hunt/tjp (opens in a new tab) : Typed JSON Parser.
- tiehuis/zig-ryu (opens in a new tab) : Zig port of https://github.com/ulfjack/ryu (opens in a new tab).
- vi/zigmkv (opens in a new tab) : [wip] Matroska/webm (mkv) parser in Zig.
- winksaville/zig-parse-number (opens in a new tab) : Implement ParseNumber which can parse any TypeId.Int or TypeId.Float.
- demizer/markzig (opens in a new tab) : Pure Zig Markdown Parser.
- thejoshwolfe/hexdump-zip (opens in a new tab) : produce an annotated hexdump of a zipfile.
Logging Processing
- emekoi/log.zig (opens in a new tab) : a thread-safe logging library for zig.
Audio Processing
- orhun/linuxwave (opens in a new tab) : Generate music from the entropy of Linux 🐧🎵. orhun.dev/linuxwave/ (opens in a new tab)
- hexops/mach-sysaudio (opens in a new tab) : cross-platform low-level audio IO in Zig.
- Hejsil/zig-midi (opens in a new tab) : zig-midi.
Image and Video Processing
- zigimg/zigimg (opens in a new tab) : Zig library for reading and writing different image formats.
- ryoppippi/zigcv (opens in a new tab) : opencv bindings for zig.
- kassane/libvlc-zig (opens in a new tab) : Zig bindings for libVLC media framework.
- marler8997/image-viewer (opens in a new tab) : An image-viewer experiment written in Zig.
- bfactory-ai/zignal (opens in a new tab) : Image processing library in Zig, heavily inspired by dlib .
Date, Time and Timezones
- scento/zig-date (opens in a new tab) : 🕒 time and date for Zig. zig-date is a date and time library for the Zig, inspired by the popular Rust library chrono (opens in a new tab).
- frmdstryr/zig-datetime (opens in a new tab) : A datetime module for Zig with an api similar to python's Arrow.
- nektro/zig-time (opens in a new tab) : A date and time parsing and formatting library for Zig.
- travisstaloch/date-zig (opens in a new tab) : fast calendar algorithms ported to Zig (Cassio Neri's EAF (opens in a new tab)).
- leroycep/chrono-zig (opens in a new tab) : Zig port of the Rust chrono crate.
- karlseguin/zul (opens in a new tab) : some date/time handling functionality among the other functionality.
- clickingbuttons/datetime (opens in a new tab) : Generic Date, Time, and DateTime library.
- leroycep/zig-tzif (opens in a new tab) : TZif (opens in a new tab) parser that also handles POSIX timezone strings
- FObersteiner/zdt (opens in a new tab) : Timezoned Datetime in Zig. For learning purposes.
Command Line and Argument Parser
- Hejsil/zig-clap (opens in a new tab) : A simple and easy to use command line argument parser library for Zig.
- MasterQ32/zig-args (opens in a new tab) : Simple-to-use argument parser with struct-based config.
- jiacai2050/zigcli (opens in a new tab) : A toolkit for building command lines programs in Zig.
- PrajwalCH/yazap (opens in a new tab) : 🔧 The ultimate Zig library for seamless command line parsing. Effortlessly handles options, subcommands, and custom arguments with ease. prajwalch.github.io/yazap (opens in a new tab)
- 00JCIV00/cova (opens in a new tab) : Commands, Options, Values, Arguments. A simple yet robust cross-platform command line argument parsing library for Zig.
- BanchouBoo/accord (opens in a new tab) : A simple argument parser for Zig.
- judofyr/parg (opens in a new tab) : Lightweight argument parser for Zig.
- sam701/zig-cli (opens in a new tab) : A simple package for building command line apps in Zig.
Memory Allocator and Management
- Aandreba/zigrc (opens in a new tab) : Zig reference-counted pointers inspired by Rust's Rc and Arc. aandreba.github.io/zigrc/ (opens in a new tab)
- DutchGhost/zorrow (opens in a new tab) : Borrowchecker in Zig. This is a userlevel implementation of borrowchk in Zig.
- mdsteele/ziegfried (opens in a new tab) : A general-purpose memory allocator for Zig.
- fengb/zee_alloc (opens in a new tab) : tiny Zig allocator primarily targeting WebAssembly.
- suirad/Seal (opens in a new tab) : An allocator that wraps another allocator and detects if memory is leaked after usage.
- rvcas/mpool (opens in a new tab) : A memory pool library written in Zig.
- nsmryan/zig_sealed_and_compact (opens in a new tab) : Zig functions for memory management.
- suirad/adma (opens in a new tab) : A general purpose, multithreaded capable slab allocator for Zig.
- hmusgrave/zcirc (opens in a new tab) : A dynamic circular buffer allocator for zig.
- dweiller/zig-composable-allocators (opens in a new tab) : Comptime-generic composable allocators.
- bcrist/Zig-TempAllocator (opens in a new tab) : Arena allocator for interactive programs and simulations.
- rdunnington/zig-stable-array (opens in a new tab) : Address-stable array with a max size that allocates directly from virtual memory.
- dweiller/zimalloc (opens in a new tab) : zimalloc is general purpose allocator for Zig, inspired by mimalloc (opens in a new tab).
- suirad/Seal (opens in a new tab) : An allocator that wraps another allocator and detects if memory is leaked after usage.
- Hejsil/zig-gc (opens in a new tab) :A super simple mark-and-sweep garbage collector written in Zig.
Asynchronous Runtime
- mitchellh/libxev (opens in a new tab) : libxev is a cross-platform, high-performance event loop that provides abstractions for non-blocking IO, timers, events, and more and works on Linux (io_uring or epoll), macOS (kqueue), and Wasm + WASI. Available as both a Zig and C API.
- kprotty/zap (opens in a new tab) : An asynchronous runtime with a focus on performance and resource efficiency.
- lithdew/pike (opens in a new tab) : Async I/O for Zig.
Embedded Development
- ZigEmbeddedGroup/microzig (opens in a new tab) : Unified abstraction layer and HAL for several microcontrollers.
- ZigEmbeddedGroup/stmicro-stm32 (opens in a new tab) : HAL for stm32 (STMicro) devices.
- ZigEmbeddedGroup/raspberrypi-rp2040 (opens in a new tab) : MicroZig Hardware Support Package for Raspberry Pi RP2040.
- ZigEmbeddedGroup/regz (opens in a new tab) : Generate zig code from ATDF or SVD files for microcontrollers.
- nmeum/zig-riscv-embedded (opens in a new tab) : Experimental Zig-based CoAP node for the HiFive1 RISC-V board.
- lupyuen/pinephone-nuttx (opens in a new tab) : Apache NuttX RTOS for PinePhone. Apache NuttX is a lightweight Real-Time Operating System (RTOS) that runs on PINE64 PinePhone. lupyuen.github.io/articles/what (opens in a new tab)
- lupyuen/zig-bl602-nuttx (opens in a new tab) : Zig on RISC-V BL602 with Apache NuttX RTOS and LoRaWAN.
- leecannon/zig-sbi (opens in a new tab) : Zig wrapper around the RISC-V SBI specification.
- eastonman/zesty-core (opens in a new tab) : A RISC-V OS written in Zig.
- kivikakk/daintree (opens in a new tab) : ARMv8-A/RISC-V kernel (with UEFI bootloader). An operating system plus a UEFI bootloader, all written in Zig.
- markfirmware/zig-bare-metal-microbit (opens in a new tab) : Bare metal microbit program written in zig.
- markfirmware/zig-bare-metal-raspberry-pi (opens in a new tab) : Bare metal raspberry pi program written in zig.
- tralamazza/embedded_zig (opens in a new tab) : minimal Zig embedded ARM example (STM32F103 blue pill).
- yvt/zig-armv8m-test (opens in a new tab) : Example Zig-based app for Armv8-M + TrustZone.
- hspak/brightnessztl (opens in a new tab) : A CLI to control device backlight.
- justinbalexander/svd2zig (opens in a new tab) : Convert System View Description (svd) files to Zig headers for baremetal development.
- mqttiotstuff/iotmonitor (opens in a new tab) : PainLess, Monitor and State server for iot mqtt devices, and software agents. This daemon permit to maintain the execution of constellations of mqtt devices and associated agents.
- Elara6331/zig-gpio (opens in a new tab): A Zig library for controlling GPIO lines on Linux systems.
General Operating System
- ZystemOS/Pluto (opens in a new tab) : An x86 kernel written in Zig.
- davidgm94/birth (opens in a new tab) : Rise: an attempt to write a better operating system.
- iguessthislldo/georgios (opens in a new tab) : Hobby Operating System.
- rafaelbreno/zig-os (opens in a new tab) : A simple OS written in Zig following Philipp Oppermann's posts Writing an OS in Rust (opens in a new tab).
- jzck/kernel-zig (opens in a new tab) : 💾 hobby x86 kernel zig.
- andrewrk/HellOS (opens in a new tab) : "hello world" x86 kernel example.
- marlersoft/zigwin32 (opens in a new tab) : A complete autogenerated set of Zig bindings for the Win32 API.
- a1393323447/zcore-os (opens in a new tab) : A RISC-V OS written in Zig. rCore-OS translated in Zig language.
- b0bleet/zvisor (opens in a new tab) : Zvisor is an open-source hypervisor written in the Zig programming language, which provides a modern and efficient approach to systems programming.
- TalonFloof/zorroOS (opens in a new tab) : Hobby operating system written in Zig.
- CascadeOS/CascadeOS (opens in a new tab) : General purpose operating system targeting standard desktops and laptops.
- AndreaOrru/zen (opens in a new tab) : Experimental operating system written in Zig.
- DorianXGH/Lukarnel (opens in a new tab) : A microkernel in zig with rust microservices.
- liampwll/zig-efi-os (opens in a new tab) : zig-efi-os.
- nrdmn/uefi-examples (opens in a new tab) UEFI examples in Zig.
- nrdmn/uefi-paint (opens in a new tab) : UEFI-bootable touch paint app.
- sjdh02/trOS (opens in a new tab) : tiny aarch64 baremetal OS thingy.
- ZeeBoppityZagZiggity/ZBZZ.OS (opens in a new tab) : An operating system built with RISCV and Zig.
- pbui-project/pbui-main (opens in a new tab) : The PBUI (POSIX-compliant BSD/Linux Userland Implementation) project is a a free and open source project intended to implement some standard library toolsets in the Zig programming language.
- momumi/x86-zig (opens in a new tab) : library for assembling x86 in zig (WIP).
Robot Operating System
- micro-ROS for Arduino (opens in a new tab) : micro-ROS library for Arduino.
- jacobperron/rclzig (opens in a new tab) : ROS 2 client library in Zig.
- luickk/MinimalRoboticsPlatform (opens in a new tab) : MRP is a minimal microkernel that supports the most fundamental robotic domains. It's thought for highly integrated robotics development.
Compilers and Interpreters
- Aro (opens in a new tab) : Aro. A C compiler with the goal of providing fast compilation and low memory usage with good diagnostics.
- buzz (opens in a new tab): A small/lightweight statically typed scripting language.
- fubark/cyber (opens in a new tab) : Fast and concurrent scripting.
- squeek502/zua (opens in a new tab) : An implementation of Lua 5.1 in Zig, for learning purposes.
- Vexu/bog (opens in a new tab) : Small, strongly typed, embeddable language.
FFI Bindings
- natecraddock/ziglua (opens in a new tab) : Zig bindings for the Lua C API.
- mitchellh/zig-objc (opens in a new tab) : Objective-C runtime bindings for Zig (Zig calling ObjC).
- fulcrum-so/ziggy-pydust (opens in a new tab) : A toolkit for building Python extensions in Zig. pydust.fulcrum.so/ (opens in a new tab)
- katafrakt/zig-ruby (opens in a new tab) : This repo contains an experiment of building a Ruby extension with Zig programming language. It implements a slightly altered version of 100 doors from Rosetta Code.
- ExpidusOS/zig-flutter (opens in a new tab) : Flutter w/ Zig.
- lassade/c2z (opens in a new tab) : C++ to Zig bindings and transpiler.
- floooh/sokol-zig (opens in a new tab) : Zig bindings for the sokol headers
- jiacai2050/zig-curl (opens in a new tab) : Zig bindings for libcurl
- jiacai2050/zig-rocksdb (opens in a new tab) : Zig bindings for RocksDB.
- jiacai2050/zig-jemalloc (opens in a new tab) : Zig allocator based on jemalloc
Zigged Project
- libz (opens in a new tab): zlib with the build system replaced by zig
- libmp3lame (opens in a new tab): libmp3lame with the build system replaced by zig
- libvorbis (opens in a new tab): libvorbis with the build system replaced by zig
- libogg (opens in a new tab): libogg with the build system replaced by zig
- nasm (opens in a new tab): nasm with the build system replaced by zig
- ffmpeg (opens in a new tab): ffmpeg with the build system replaced by zig
- SDL (opens in a new tab): SDL with the build system replaced by Zig
- libebur128 (opens in a new tab): libebur128 with the build system replaced by zig
- pulseaudio (opens in a new tab): pulseaudio with the build system replaced by zig
- libchromaprint (opens in a new tab): chromaprint with the build system replaced by zig
- raylib (opens in a new tab): A simple and easy-to-use library to enjoy videogames programming
- openssl (opens in a new tab): TLS/SSL and crypto library (uses Zig Build)
- wolfssl (opens in a new tab): WolfSSL library - Using Zig Build
- fmt (opens in a new tab): A modern formatting library (uses zig build-system)
- boost unordered (opens in a new tab): Boost.org unordered module (uses zig build)
- boost async (opens in a new tab): Coroutines for C++20 & asio (uses zig build for testing)
- json (opens in a new tab): JSON for Modern C++ (uses zig build-system)
- context (opens in a new tab):
boost.contextlibrary using zig build - fiber (opens in a new tab): userland threads uses zig build
- outcome (opens in a new tab): Provides very lightweight outcome<T> and result<T> (non-Boost edition) (uses zig build-system)
- Standalone (opens in a new tab): Asio standalone C++ HTTP/S Server (uses zig build-system)
- asio (opens in a new tab): Asio C++ Library (uses zig build-system)
- observable (opens in a new tab): : Unique-ownership smart pointers with observable lifetime.
- Catch2 (opens in a new tab): A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch) - uses zig build-system
- cppfront (opens in a new tab): Build Cppfront w/ zig build
- hana (opens in a new tab): Your standard library for metaprogramming
- intrusive (opens in a new tab): Boost.org intrusive module
- range (opens in a new tab): Range library for C++14/17/20, basis for C++20's std::ranges
- zig-libxml2 (opens in a new tab): libxml2 built using Zig build system
- benchmark (opens in a new tab): A microbenchmark support library First post at here (opens in a new tab).
GPU Computing
- gwenzek/cudaz (opens in a new tab) : Toy Cuda wrapper for Zig.
- lennyerik/cutransform (opens in a new tab) : CUDA kernels in any language supported by LLVM.
- Snektron/vulkan-zig (opens in a new tab) : Vulkan binding generator for Zig.
- hexops/mach-gpu (opens in a new tab) : mach/gpu provides a truly cross-platform graphics API for Zig (desktop, mobile, and web) with unified low-level graphics & compute backed by Vulkan, Metal, D3D12, and OpenGL (as a best-effort fallback.)
- hexops/mach-gpu-dawn (opens in a new tab) : Google's Dawn WebGPU implementation, cross-compiled with Zig into a single static library.
- ckrowland/simulations (opens in a new tab) : GPU accelerated visual simulations.
- Avokadoen/zig_vulkan (opens in a new tab) : Toying with vulkan and zig.
- akhildevelops/cudaz (opens in a new tab) : Cuda wrapper for interacting with GPUs in zig.
Scientific Computation
-
Linear Algebra
- kooparse/zalgebra (opens in a new tab) : Linear algebra library for games and real-time graphics.
- ziglibs/zlm (opens in a new tab) : Zig linear mathemathics.
- omaraaa/VecFns (opens in a new tab) : Automatic Vector Math Functions In Zig.
- Laremere/alg (opens in a new tab) : Algebra for Zig.
- BanchouBoo/algae (opens in a new tab) : Zig math library focused on game development.
- JungerBoyo/zmath (opens in a new tab) : simple linear algebra library written in zig.
- pblischak/zprob (opens in a new tab) : A Zig Library for Probability Distributions.
Machine Learning
-
Machine Learning Framework
- ggml (opens in a new tab) : Tensor library for machine learning. Written in C.
- ggml-zig (opens in a new tab) : ggml: Tensor library for machine learning (opens in a new tab) written in zig.
- rockcarry/ffcnn (opens in a new tab) : ffcnn is a cnn neural network inference framework, written in 600 lines C language.
- xboot/libonnx (opens in a new tab) : A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support.
- kraiskil/onnx2c (opens in a new tab) : Open Neural Network Exchange to C compiler. Onnx2c is a ONNX (opens in a new tab) to C compiler. It will read an ONNX file, and generate C code to be included in your project. Onnx2c's target is "Tiny ML", meaning running the inference on microcontrollers.
- candrewlee14/zgml (opens in a new tab) : Tensor library for machine learning, inspired by ggml.
- maihd/zten (opens in a new tab) : Tensor library for Zig, based on ggml.
- andrewCodeDev/ZEIN (opens in a new tab) : Zig-based implementation of tensors.
- recursiveGecko/onnxruntime.zig (opens in a new tab) : Experimental Zig wrapper for ONNX Runtime with examples (Silero VAD, NSNet2).
- Gonzih/onnx-worker.zig (opens in a new tab) : onnx-worker.zig
-
Large Language Model
- llama.cpp (opens in a new tab) : Inference of LLaMA (opens in a new tab) model in pure C/C++.
- cgbur/llama2.zig (opens in a new tab) : Inference Llama 2 in one file of pure Zig.
- clebert/llama2.zig (opens in a new tab) : Inference Llama 2 in pure Zig.
- renerocksai/gpt4all.zig (opens in a new tab) : ZIG build for a terminal-based chat client for an assistant-style large language model with ~800k GPT-3.5-Turbo Generations based on LLaMa.
- EugenHotaj/zig_gpt2 (opens in a new tab) : Neural Network Inference Engine in Zig. GPT2 inference engine written in Zig. The inference engine can run NanoGPT (opens in a new tab).
Database
- tigerbeetle (opens in a new tab) : The distributed financial accounting database designed for mission critical safety and performance. tigerbeetle.com (opens in a new tab)
- vrischmann/zig-sqlite (opens in a new tab) : zig-sqlite is a small wrapper around sqlite's C API, making it easier to use with Zig.
- leroycep/sqlite-zig (opens in a new tab) : This repository has zig bindings for sqlite. It trys to make the sqlite c API more ziggish.
- mjoerussell/zdb (opens in a new tab) : A library for interacting with databases in Zig.
- kristoff-it/redis-cuckoofilter (opens in a new tab) : Hashing-function agnostic Cuckoo filters for Redis.
- kristoff-it/zig-okredis (opens in a new tab) : Zero-allocation Client for Redis 6+.
- vrischmann/zig-cassandra (opens in a new tab) : Client for Cassandra 2.1+
- speed2exe/myzql (opens in a new tab) : MySQL and MariaDB driver in native Zig
- karlseguin/pg.zig (opens in a new tab) : Native PostgreSQL driver / client for Zig
- karlseguin/zuckdb.zig (opens in a new tab) : A DuckDB driver for Zig
Sensor and Communication Interface
- MasterQ32/zig-network (opens in a new tab) : A smallest-common-subset of socket functions for crossplatform networking, TCP & UDP.
- ZigEmbeddedGroup/serial (opens in a new tab) : Serial port configuration library for Zig.
- tetsu-koba/v4l2capture (opens in a new tab) : v4l2 video capturer written in Zig.
- kdchambers/reel (opens in a new tab) : Screen capture software for Linux / Wayland.
Finite State Machine
- cryptocode/zigfsm (opens in a new tab) : zigfsm is a finite state machine (opens in a new tab) library for Zig.
Game Field
- Mach (opens in a new tab) : Mach is a game engine & graphics toolkit for the future. machengine.org.
- zig-gamedev/zig-gamedev (opens in a new tab) : Building game development ecosystem for @ziglang!
- ryupold/zecsi (opens in a new tab) : Small game framework made with Zig utilizing the awesome raylib.
- wendigojaeger/ZigGBA (opens in a new tab) : Work in progress SDK for creating Game Boy Advance games using Zig programming language.
- prime31/zig-gamekit (opens in a new tab) : Companion repo for zig-renderkit for making 2D games.
- Jack-Ji/jok (opens in a new tab) : A minimal 2d/3d game framework for zig.
- star-tek-mb/Paradise (opens in a new tab) : Paradise is a wasm first game engine written in zig.
- zkburke/quanta (opens in a new tab) : A game engine/framework written in and for zig.
- andrewrk/tetris (opens in a new tab) : A simple tetris clone written in zig programming language. www.youtube.com/watch?v=AiintPutWrE (opens in a new tab)
- DanB91/Zig-Playdate-Template (opens in a new tab) : Starter code for a Playdate program written in Zig.
- foxnne/aftersun (opens in a new tab) : Top-down 2D RPG.
- 4imothy/termy48 (opens in a new tab) : A 2048 game to run in terminal.
- andrewrk/clashos (opens in a new tab) multiplayer arcade game for bare metal Raspberry Pi 3 B+.
- MasterQ32/Ziguana-Game-System (opens in a new tab) A retro-style gaming console running on bare x86 metal written in Zig.
- Srekel/zag (opens in a new tab) : Game dev project written in Zig and C.
- TM35-Metronome/metronome (opens in a new tab) : A set of tools for modifying and randomizing Pokémon games. tm35-metronome.github.io/ (opens in a new tab)
- Akuli/curses-minesweeper (opens in a new tab) : Minesweeper game written in curses with zig.
- thejoshwolfe/legend-of-swarkland (opens in a new tab) : Turn-based action fantasy puzzle game inspired by NetHack and Crypt of the Necrodancer. wolfesoftware.com/legend-of-swarkland/ (opens in a new tab)
- emekoi/ziglet (opens in a new tab) : a small zig game library.
- kristianhasselknippe/zig-game-engine (opens in a new tab) : Learning zig through game engine
- TM35-Metronome/tm35-nds (opens in a new tab) : A library for working with Nintendo DS roms.
- fabioarnold/snake-zig (opens in a new tab) : A simple snake game written in the Zig programming language using OpenGL 2.
- Stenodyon/blink (opens in a new tab) : A game about building logic with lasers.
- tiehuis/zstack (opens in a new tab) : Line-race tetris mode in Zig.
- godot-zig/godot-zig (opens in a new tab) : Zig bindings for Godot 4.
Emulators
- Ronsor/riscv-zig (opens in a new tab) : A RISC-V emulator written in Zig.
- leecannon/zriscv (opens in a new tab) : RISC-V emulator in Zig.
- jtgoen/zig-chip-8 (opens in a new tab) : Zig Implementation of a Chip-8 Emulator.
- paoda/zba (opens in a new tab) : Game Boy Advance Emulator. Yes, I'm awful with project names.
- fengb/fundude (opens in a new tab) Gameboy emulator: Zig -> wasm.
- GrooveStomp/chip8-zig (opens in a new tab) : A CHIP-8 emulator written in Zig.
- isaachier/gbemu (opens in a new tab) : Zig Game Boy emulator.
- tiehuis/zig-gameboy (opens in a new tab) : A gameboy emulator in zig.
- emekoi/c8 (opens in a new tab) : chip 8 emulator in zig.
Encryption
- gernest/base32 (opens in a new tab) : base32 encoding/decoding for ziglang
Network
- Vexu/routez (opens in a new tab) : Http server for Zig. routez.vexu.eu (opens in a new tab)
- Vexu/zuri (opens in a new tab) : URI parser for Zig.
- karlseguin/http.zig (opens in a new tab) : An HTTP/1.1 server for zig.
- ducdetronquito/h11 (opens in a new tab) : I/O-free HTTP/1.1 implementation inspired by hyper/h11.
- lun-4/zigdig (opens in a new tab) : naive dns client library in zig.
- connectFree/ZigZag (opens in a new tab) : Noise Framework implementation in Zig Language for use in EVER/IP and WireGuard.
- euantorano/ip.zig (opens in a new tab) : A Zig library for working with IP Addresses.
- lun-4/ziget (opens in a new tab) : simple wget in zig without libc.
- marler8997/netpunch (opens in a new tab) : Punch Protocol.
- mstroecker/zig-robotstxt (opens in a new tab) : Lightweight docker image for serving a disallow robots.txt file using the zig programming language.
- remeh/statsd-zig (opens in a new tab) : Basic DogStatsD UDP/UDS server supporting gauges and counters and sending these metrics to Datadog.
- gernest/url (opens in a new tab) : This is RFC 3986 compliant url parser for zig.
Web Framework
- oven-sh/bun (opens in a new tab) : Incredibly fast JavaScript runtime, bundler, transpiler and package manager – all in one.
- zigzap/zap (opens in a new tab) : ⚡zap⚡ - blazingly fast web backends in zig.
- frmdstryr/zhp (opens in a new tab) : frmdstryr/zhp.
- karlseguin/websocket.zig (opens in a new tab) : A websocket implementation for zig.
- nikneym/ws (opens in a new tab) : WebSocket library for Zig ⚡
- kivikakk/htmlentities.zig (opens in a new tab) : HTML entity data for Zig.
- shritesh/zigfmt-web (opens in a new tab) : zig fmt on the web.
- leroycep/zig-jwt (opens in a new tab) : JSON Web Tokens for Zig.
Web3 Framework
- Syndica/sig (opens in a new tab) : a Solana Zig RPC Client implementation.
- lithdew/rheia (opens in a new tab) : A blockchain written in Zig.
- jsign/verkle-crypto (opens in a new tab) : Cryptography for Ethereum Verkle Trees.
- Ultra-Code/recblock (opens in a new tab) : Blockchain for a record management and money transfer system.
- keep-starknet-strange/ziggy-starkdust (opens in a new tab) : A Zig implementation of Cairo VM for Cairo, the STARK powered provable language.
WebAssembly
- zig-wasi (opens in a new tab) : Minimal WASI Interpreter.
- zware (opens in a new tab) : Zig WebAssembly Runtime Engine. zware is a library for executing WebAssembly embedded in Zig (opens in a new tab) programs.
- wazm (opens in a new tab) : wazm — Web Assembly Zig Machine.
- zig-wasm-dom (opens in a new tab) : Zig + WebAssembly + JS + DOM.
- mitchellh/zig-js (opens in a new tab) : Access the JS host environment from Zig compiled to WebAssembly.
- zigwasm/wasm-zig (opens in a new tab) : Common Wasm runtime binding to C API.
- zigwasm/wasmtime-zig (opens in a new tab) : Zig embedding of Wasmtime.
- sleibrock/zigtoys (opens in a new tab) : All about Zig + WASM and seeing what we can do. sleibrock.github.io/zigtoys/ (opens in a new tab)
- andrewrk/lua-in-the-browser (opens in a new tab) : using zig to build lua for webassembly.
- meheleventyone/zig-wasm-test (opens in a new tab) : A minimal Web Assembly example using Zig's build system.
Performance Benchmark
- zackradisic/rust-vs-zig (opens in a new tab) : This is an experiment to evaluate Rust vs. Zig by writing a bytecode interpreter with GC in both languages and comparing them.
- lucascompython/zigXrustXc (opens in a new tab) : Performance of Zig vs Rust vs C.
- CoalNova/BasicCompare (opens in a new tab) : A basic comparitive analysis of C, C++, Rust, and Zig.
- ziglang/gotta-go-fast (opens in a new tab) : Performance Tracking for Zig.
- hendriknielaender/zBench (opens in a new tab) : Simple benchmarking library.
Graphics Library
- hexops/mach-glfw (opens in a new tab) : Ziggified GLFW bindings with 100% API coverage, zero-fuss installation, cross compilation, and more.
- ziglibs/zgl (opens in a new tab) : Zig OpenGL Wrapper.
- MasterQ32/SDL.zig (opens in a new tab) : A shallow wrapper around SDL that provides object API and error handling.
- andrewrk/SDL (opens in a new tab) : SDL with the build system replaced by Zig. libsdl.org (opens in a new tab)
- MasterQ32/zig-opengl (opens in a new tab) : OpenGL binding generator based on the opengl registry.
- MasterQ32/zero-graphics (opens in a new tab) : Application framework based on OpenGL ES 2.0. Runs on desktop machines, Android phones and the web.
- JonSnowbd/ZT (opens in a new tab) : A zig based Imgui Application framework.
- craftlinks/zig_learn_opengl (opens in a new tab) : Follow the Learn-OpenGL book using Zig.
- ashpil/moonshine (opens in a new tab) : Moonshine: A general purpose ray traced renderer built with Zig + Vulkan.
- fabioarnold/nanovg-zig (opens in a new tab) : NanoVG (opens in a new tab) - Zig Version. A small anti-aliased hardware-accelerated vector graphics library. fabioarnold.github.io/nanovg-zig/ (opens in a new tab)
- fubark/cosmic (opens in a new tab) : A platform for computing and creating applications. cosmic.ooo (opens in a new tab)
- renerocksai/slides (opens in a new tab) : This project is both a case study and also marks my first steps in the programming language Zig, towards creating a simple but powerful imgui (opens in a new tab) based, OpenGL-rendered slideshow app in Zig.
- TinyVG/sdk (opens in a new tab) : TinyVG software development kit. tinyvg.tech/ (opens in a new tab)
- andrewrk/zig-vulkan-triangle (opens in a new tab) : simple triangle displayed using vulkan, glfw, and zig.
- cshenton/learnopengl (opens in a new tab) : Zig Learn OpenGL.
- ifreund/river (opens in a new tab) : A dynamic tiling Wayland compositor.
- Nelarius/weekend-raytracer-zig (opens in a new tab) : A Zig implementation of the "Ray Tracing in One Weekend" book.
- SpexGuy/Zig-Gltf-Display (opens in a new tab) : A program that displays glTF files using Vulkan, written in Zig.
- tiehuis/zig-raytrace (opens in a new tab) : simple raytracer in zig.
- tiehuis/zig-sdl2 (opens in a new tab) : SDL2 bindings for Zig.
- winksaville/zig-3d-soft-engine (opens in a new tab) : An attempt to create a 3D engine in software using zig.
GUI
- LVGL (opens in a new tab) : Light and Versatile Graphics Library. Embedded graphics library to create beautiful UIs for any MCU, MPU and display type. It's boosted by a professional yet affordable drag and drop UI editor, called SquareLine Studio. lvgl.io (opens in a new tab)
- AWTK (opens in a new tab) : AWTK = Toolkit AnyWhere(a cross-platform embedded GUI). AWTK (opens in a new tab), the abbreviation of Toolkit AnyWhere, is an open source GUI engine developed by ZLG (opens in a new tab).
- Nuklear (opens in a new tab) : A single-header ANSI C immediate mode cross-platform GUI library. immediate-mode-ui.github.io (opens in a new tab)
- Capy (opens in a new tab) : 💻Build one codebase and get native UI on Windows, Linux and Web. capy-ui.org (opens in a new tab)
- david-vanderson/dvui (opens in a new tab) : Easy to Integrate Immediate Mode GUI for Zig.
- kassane/qml_zig (opens in a new tab) : QML bindings for the Zig programming language.
- MoAlyousef/zfltk (opens in a new tab) : Zig bindings for the FLTK gui library.
- Aransentin/ZWL (opens in a new tab) : A Zig Windowing Library.
- batiati/IUPforZig (opens in a new tab) : IUP (Portable User Interface Toolkit) bindings for the Zig language.
- donpdonp/zootdeck (opens in a new tab) : Fediverse GTK Desktop Reader. donpdonp.github.io/zootdeck/ (opens in a new tab)
- lupyuen/zig-lvgl-nuttx (opens in a new tab) : Zig LVGL Touchscreen App on Apache NuttX RTOS.
- lupyuen/pinephone-lvgl-zig (opens in a new tab) : LVGL for PinePhone (and WebAssembly) with Zig and Apache NuttX RTOS. lupyuen.github.io/articles/lvgl2 (opens in a new tab)
- ziglibs/positron (opens in a new tab) : A web renderer frontend for zig applications.
Misc
- BraedonWooding/Lazy-Zig (opens in a new tab) : Linq in Zig.
- DutchGhost/maybeuninit (opens in a new tab) MaybeUninit in Zig.
- hspak/geteltorito-zig (opens in a new tab) : geteltorito re-write in Zig.
- NilsIrl/dockerc (opens in a new tab): container image to single executable compiler.
- nrdmn/ilo_license_key (opens in a new tab) : iLO license key library.
- shepherdjerred/macos-cross-compiler (opens in a new tab) : Compile binaries for macOS on Linux.
- tw4452852/zbpf (opens in a new tab) : Writing eBPF in Zig