Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

zigcc/awesome-zig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

262 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Awesome Zig Awesome

Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software.

Important

Zig is a rapidly evolving language. Some projects listed here may require a specific version of the Zig compiler (e.g., the latest master or a stable release like 0.13.0). Always check the project's repository for compatibility.

Contributing:

This repository lists "awesome" projects written in Zig, maintained by the ZigCC community. If you find a well-maintained library that is not yet included here, welcome to submit it via a pull request. Just be sure to execute make all before you open a PR.

Contents

TOC is generated by markdown-toc.

Fundamentals

Learning Resources

  • Zig Language Reference - An introduction to the language with examples.
  • Zig In-depth Overview - In-depth Overview of the Zig philosophy.
  • Zig Guide - Get started with the Zig programming language.
  • Zig cookbook - A collection of simple Zig programs that demonstrate good practices to accomplish common programming tasks.
  • Zig in 30 minutes - A half-hour to learn Zig.
  • Ziglings - Learn the Zig programming language by fixing tiny broken programs.
  • Learning Zig - This guide aims to make you comfortable with Zig. It assumes prior programming experience, though not in any particular language.
  • Zig 圣经 - Chinese 简单、快速地学习 Zig.
  • Introduction to Zig - a project based book - This is an open book by author Pedro Duarte Faria that provides an introduction to the Zig programming language, which is a new general-purpose, and low-level language for building robust and optimal software.
  • Systems Programming with Zig - This book teaches how to write quality, useful Zig applications without relying on libraries or frameworks.
  • Zen of Zig - Interactive Zig book, teaching from beginner to intermediate level with playgrounds and illustrations. Also available on Leanpub

Community

  • Ziggit - The Zig forum.
  • Discord - Official Zig Discord server.
  • ZigCC - Chinese Zig community.
  • Reddit - The Zig subreddit.
  • Zig Monthly - Articles and news from the community.
  • Zigistry/Zigistry - A place where you can find all the libraries that suit your Zig lang needs.

Text Editors

Linters

Documentation and Testing

  • kristoff-it/zig-doctest - A tool for testing snippets of code, useful for websites and books that talk about Zig.

Package and Version Manager

Utility

Linker

  • kubkon/bold - A drop-in replacement for Apple’s system linker ld.

Performance Benchmark

Language Essentials

Memory Allocator and Management

Data Structure and Algorithm

String Processing

Parser Library

Logging Processing

  • emekoi/log.zig - A thread-safe logging library for Zig.
  • g41797/syslog - A syslog RFC5424 client library.
  • chrischtel/nexlog - A modern, feature-rich logging library for Zig with thread-safety, file rotation, and colorized output.
  • sam701/slog - A configurable, structured logging package for Zig with support for hierarchical loggers.
  • ross-weir/logex - A library that enriches std.log logging with additional functionality and features.
  • muhammad-fiaz/logly.zig - A modern, production-grade, high-performance structured logging library for Zig, built for speed and scalability.

File Format Processing

Date, Time and Timezones

Command Line and Argument Parser

Finite State Machine

Systems Programming

Asynchronous Runtime

  • mitchellh/libxev - 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 WebAssembly + WASI. Available as both a Zig and C API.
  • kprotty/zap - An asynchronous runtime with a focus on performance and resource efficiency.
  • lithdew/pike - Async I/O for Zig.
  • floscodes/coroutinez - A small runtime for running tasks using coroutines in Zig.

Multithreading

Embedded Development

Operating Systems

Compilers and Interpreters

  • Aro - A C compiler with the goal of providing fast compilation and low memory usage with good diagnostics.
  • buzz - A small/lightweight statically typed scripting language.
  • dawk - Reasonably fast POSIX-compliant AWK implementation with good diagnostics.
  • Element 0 - A small embeddable Lisp dialect written in Zig.
  • fubark/cyber - Fast and concurrent scripting.
  • Fun - A statically-typed language that transpiles to C, combining safety and performance with C's efficiency.
  • fury - A gradual, safe systems language.
  • squeek502/zua - An implementation of Lua 5.1 in Zig, for learning purposes.
  • Vexu/bog - Small, strongly typed, embeddable language.

Emulators

Network & Web

Network

Web Framework

Web3 Framework

WebAssembly

Data & Science

Database

Linear Algebra

Scientific Computation

Machine Learning Framework

  • ggml-zig - A replacement for ggml: Tensor library for machine learning written in Zig.
  • rockcarry/ffcnn - A cnn neural network inference framework, written in 600 lines C language.
  • xboot/libonnx - A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support.
  • kraiskil/onnx2c - Open Neural Network Exchange to C compiler. Onnx2c is a ONNX 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 - Tensor library for machine learning, inspired by ggml.
  • maihd/zten - Tensor library for Zig, based on ggml.
  • andrewCodeDev/ZEIN - Zig-based implementation of tensors.
  • recursiveGecko/onnxruntime.zig - Experimental Zig wrapper for ONNX Runtime with examples (Silero VAD, NSNet2).
  • zml - A machine learning framework.
  • Zigrad - A deep learning framework built on an autograd engine with high level abstractions and low level control. Trains neural networks 2.5x faster than PyTorch on Apple Silicon and 1.5x faster on CPU.
  • SilasMarvin/dnns from scratch in Zig - A very simple implementation of deep neural networks written in the Zig programming language.

Large Language Model

Machine Learning

  • zml - A high performance machine learning stack for Zig.
  • zerotech-studio/zack - Backtesting engine for trading strategies, written in Zig.
  • Thomvanoorschot/zigma - Algorithmic trading framework leveraging Actor based concurrency and a WebAssembly client.

Encryption

Sensor and Communication Interface

Multimedia & Graphics

GPU Computing

Graphics Library

GUI

Game Development

Audio Processing

Image and Video Processing

Interoperability

FFI Bindings

Zig wrappers and bindings for existing C/C++ libraries, providing idiomatic Zig APIs.

Build with Zig

Existing C/C++ projects that have replaced their original build systems with Zig's build system, enabling seamless cross-compilation and dependency management via zig build.

  • libz - Library zlib with the build system replaced by Zig.
  • libmp3lame - Library libmp3lame with the build system replaced by Zig.
  • libvorbis - Library libvorbis with the build system replaced by Zig.
  • libogg - Library libogg with the build system replaced by Zig.
  • nasm - Library nasm with the build system replaced by Zig.
  • FFmpeg - Library FFmpeg with the build system replaced by Zig.
  • libebur128 - Library libebur128 with the build system replaced by Zig.
  • pulseaudio - Library pulseaudio with the build system replaced by Zig.
  • libchromaprint - Library chromaprint with the build system replaced by Zig.
  • raylib - A simple and easy-to-use library to enjoy videogames programming.
  • openssl - TLS/SSL and crypto library (uses Zig Build).
  • wolfssl - Library WolfSSL Using Zig Build.
  • fmt - A modern formatting library (uses Zig build-system).
  • boost unordered - Boost.org unordered module (uses Zig build).
  • boost async - Coroutines for C++20 & asio (uses Zig build for testing).
  • json - Library JSON for Modern C++ (uses Zig build-system).
  • context - Library boost.context using Zig build.
  • fiber - Userland threads uses Zig build.
  • outcome - Provides very lightweight outcome<T> and result<T> (non-Boost edition) (uses Zig build-system).
  • Standalone - An Asio standalone C++ HTTP/S Server (uses Zig build-system).
  • asio - The Asio C++ Library with Zig build-system.
  • observable - Unique-ownership smart pointers with observable lifetime.
  • Catch2 - 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 - Build Cppfront w/ Zig build.
  • hana - Your standard library for metaprogramming.
  • intrusive - Boost.org intrusive module.
  • range - The Range library for C++14/17/20, basis for C++20's std::ranges.
  • benchmark - A microbenchmark support library. First post at here.
  • boring_tls - Google's BoringTLS client and server. Adds TLS to any (including non standard library) TCP/HTTP traffic.

Misc

Releases

No releases published

Packages

No packages published

Contributors 113