Code Monkey home page Code Monkey logo

awesome-zig's Introduction

Awesome Zig

This repository lists "awesome" projects written in Zig, maintained by ZigCC community.

Important

The word "awesome" does not signify stability; instead, it might suggest something is somewhat old-fashioned or lacking novelty. Hence, exercise caution.

Contributing

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 open PR.

Contents

TOC is generated by markdown-toc.

Learning Resources

  • Zig Language Reference : Zig Language Reference.
  • Zig In-depth Overview : Zig In-depth Overview.
  • 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.
  • Awesome zig wiki: Other interesting materials about Zig.
  • Learning Zig : This guide aims to make you comfortable with Zig. It assumes prior programming experience, though not in any particular language.
  • Zig 圣经 : 简单、快速地学习 Zig.

Tools

Text Editors

Linter

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

Data Structure and Algorithm

String Processing

File format processing

Logging Processing

Audio Processing

Image and Video Processing

Date, Time and Timezones

Command Line and Argument Parser

  • Hejsil/zig-clap : A simple and easy to use command line argument parser library for Zig.
  • MasterQ32/zig-args : Simple-to-use argument parser with struct-based config.
  • jiacai2050/zigcli : A toolkit for building command lines programs in Zig.
  • PrajwalCH/yazap : 🔧 The ultimate Zig library for seamless command line parsing. Effortlessly handles options, subcommands, and custom arguments with ease. prajwalch.github.io/yazap
  • 00JCIV00/cova : Commands, Options, Values, Arguments. A simple yet robust cross-platform command line argument parsing library for Zig.
  • BanchouBoo/accord : A simple argument parser for Zig.
  • judofyr/parg : Lightweight argument parser for Zig.
  • sam701/zig-cli : A simple package for building command line apps in Zig.

Memory Allocator and Management

Asynchronous Runtime

  • mitchellh/libxev : 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 : An asynchronous runtime with a focus on performance and resource efficiency.
  • lithdew/pike : Async I/O for Zig.

Embedded Development

General Operating System

Robot Operating System

Compilers and Interpreters

  • Aro : 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.
  • fubark/cyber : Fast and concurrent scripting.
  • squeek502/zua : An implementation of Lua 5.1 in Zig, for learning purposes.
  • Vexu/bog : Small, strongly typed, embeddable language.

FFI Bindings

Zigged Project

  • libz: zlib with the build system replaced by zig
  • libmp3lame: libmp3lame with the build system replaced by zig
  • libvorbis: libvorbis with the build system replaced by zig
  • libogg: libogg with the build system replaced by zig
  • nasm: nasm with the build system replaced by zig
  • ffmpeg: ffmpeg with the build system replaced by zig
  • SDL: SDL with the build system replaced by Zig
  • libebur128: libebur128 with the build system replaced by zig
  • pulseaudio: pulseaudio with the build system replaced by zig
  • libchromaprint: 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: WolfSSL library - 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: JSON for Modern C++ (uses zig build-system)
  • context: boost.context library 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: Asio standalone C++ HTTP/S Server (uses zig build-system)
  • asio: Asio C++ Library (uses 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: Range library for C++14/17/20, basis for C++20's std::ranges
  • zig-libxml2: libxml2 built using Zig build system
  • benchmark: A microbenchmark support library First post at here.
  • libffi: libffi with a Zig build script.

GPU Computing

Scientific Computation

Machine Learning

Database

Sensor and Communication Interface

Finite State Machine

Game Field

Emulators

Encryption

Network

Web Framework

Web3 Framework

WebAssembly

Performance Benchmark

Graphics Library

GUI

Misc

awesome-zig's People

Contributors

00jciv00 avatar akhildevelops avatar alexrp avatar arnau478 avatar arrufat avatar attron avatar avokadoen avatar brookjeynes avatar chenrui333 avatar codingonion avatar deatil avatar deckarep avatar e253 avatar elara6331 avatar elvisxzhou avatar fearedbliss avatar fobersteiner avatar jiacai2050 avatar jinzhongjia avatar lana-shanghai avatar nanotwerp avatar nitanmarcel avatar oltdaniel avatar postspectacular avatar rockorager avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-zig's Issues

Proposal to extend list of date/time packages

since this seems to be the most up-to-date version of awesome-zig, I'm making this proposal here :)

date / time

we could add:

timezones

we could also extend "Date and Time" to "Date, Time and Timezones":

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.