Zig Programming Language

"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
objective-zig: Runtime and bindings to common Objective-C frameworks.
github.com

From the README: objective-zig is a work-in-progress Objective-C runtime and auto generated collection of Objective-C frameworks in zig. You can find the bindings generator at objective-zig-gen. These bindings are not ready. See the notice at the bottom of the README.

4
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[Library] shimizu - The Wayland protocol, in Zig
https://git.sr.ht/~geemili/shimizu

From the README: This repository contains: * wire: a Zig module that defines types for Wayland's wire format and functions to serialize and deserialize messages. * shimizu-scanner: a command to take Wayland XML protocol descriptions and turn them into Zig types. * core: The Wayland core protocol as a Zig module, generated by shimizu-scanner * shimizu: A Zig module that provides higher level Connection and Proxy types.

3
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
Cubyz: Voxel sandbox game with a large render distance, procedurally generated content and some cool graphical effects.
github.com

From the README: Cubyz is a 3D voxel sandbox game (inspired by Minecraft). Cubyz has a bunch of interesting/unique features such as: Level of Detail (→ This enables far view distances.) 3D Chunks (→ There is no height or depth limit.) Procedural Crafting (→ You can craft anything you want, and the game will figure out what kind of tool you tried to make.) --- Written in Zig, of course

11
1
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] veb: A delightful programming language for writing reliable software
github.com

From the README: A delightful, statically typed programming language for writing reliable software. veb features algebraic data types, pattern matching, generics, classes (without inheritance), traits, flow-sensitive typing with type narrowing, trait-driven operator overloading and modules. Ergonomic features such as pipe and concat operators are also supported. Currently, the language runtime executes on a custom register-based virtual machine written in Zig.

5
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New library] cricket.zig: Zig library for encoding and decoding cryptographic data formats.
github.com

PEM/DER reader, written in Zig. Currently supports elliptic curve private and public keys.

4
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New library] typ: A small Zig ⚡ module, as a convenience for me when writing WebAssembly plugins for Typst
github.com

From the README: A small Zig module, as a convenience for writing WebAssembly plugins for Typst

5
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New library] hypergraphz: HypergraphZ - A Hypergraph Implementation in Zig
github.com

From the README: # HypergraphZ - A Hypergraph Implementation in Zig ![GitHub Actions Workflow Status](https://lemm.ee/api/v3/image_proxy?url=https%3A%2F%2Fimg.shields.io%2Fgithub%2Factions%2Fworkflow%2Fstatus%2Fyamafaktory%2Fhypergraphz%2Fci.yml%3Fbranch%3Dmain%26style%3Dflat-square) HypergraphZ is a directed hypergraph implementation in Zig (https://en.wikipedia.org/wiki/Hypergraph): - Each hyperedge can contain zero, one (unary) or multiple vertices. - Each hyperedge can contain vertices directed to themselves one or more times. ## Usage Add `hypergraphz` as a dependency to your `build.zig.zon`: ```sh zig fetch --save https://github.com/yamafaktory/hypergraphz/archive/<commit-hash>.tar.gz ``` Add `hypergraphz` as a dependency to your `build.zig`: ```zig const hypergraphz = b.dependency("hypergraphz", .{ .target = target, .optimize = optimize, }); exe.root_module.addImport("hypergraphz", hypergraphz.module("hypergraphz")); ``` ## Documentation The latest online documentation can be found [here](https://yamafaktory.github.io/hypergraphz/).

5
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[Blog post] Zig•EM: The EM language is dead, long live EM !!!
https://blog.zigem.tech/post-001/

Zig•EM is a novel programming framework for resource-constrained embedded systems. Read all about it in the linked blog post

3
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
GitHub - floooh/sokol: minimal cross-platform standalone C headers
github.com

Since zig has good cross platform compiler support, libraries that improve cross platform support are also interesting. This one is also potentially cross language.

4
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New library] ymlz: small and convenient yaml parser
github.com

From the README: ## Key Features - Simple and straightforward to use thanks to built-in [reflections](https://ziglang.org/documentation/master/#Function-Reflection). - Just define a struct and accessing it's fields. - Supports recursive struct. - Deinitialization is handled for you, just call `deinit()` and you are done. - Fields are automatically parsed based on field type.

7
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
Zig package manager indices

A couple of promising new ones have popped up: https://zigistry.dev/ https://ziglist.org/

5
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] chipz: 8-bit emulator experiments in Zig
github.com

Z80 chip emulator with classical games such as Pac-Man bundled

2
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[Port] Crafting Interpreters in Zig
github.com

The principles from the book Crafting Interpreters by Bob Nystrom, but in Zig

5
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] zig-afl-kit: Convenience functions for easy integration with AFL++ for both Zig and C/C++ programmers!
github.com

Convenience functions for easy integration with AFL++ for both Zig and C/C++ programmers!

2
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] dipm: An alternative to `curl | sh`
github.com

A package manager for installing linux programs that are self contained

3
1
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] dipm: An alternative to `curl | sh`
github.com

A package manager for installing linux programs that are self contained

2
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[Build system] gnumake: build.zig for GNU's make program: https://www.gnu.org/software/make/
github.com

From the README: Provides a package to build/run GNU's make program. The primary use case for this project is to facilitate "incremental ports" to the Zig build system. Start with a project by building it with Make then incrementally transfer parts of it to build.zig while maintaining a working build that can be tested throughout. It's not recommended for projects to use this package long term.

5
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] y3: i3-inspired wrapper for Yabai
github.com

From the README: y3 is a wrapper for [yabai](https://github.com/koekeishiya/yabai) that attempts to emulate i3 behavior and adds additional logic to improve the experience. It may not match 1:1, please let me know if something is missing or incorrect.

5
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[Update] zig-sfml-wrapper: A zig wrapper for csfml, updated for Zig 0.13
github.com

From the README: This is a wrapper for CSFML. Theres no problem importing CSFML in Zig, but the resulting code can be a little bit messy. My goal is to make things close enough to SFML, with nice methods.

4
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New release] Zigverm v0.3.0 released
ziggit.dev

zigverm (previously zigvm) is a version manager for Zig Change log: https://github.com/AMythicDev/zigverm/blob/main/CHANGELOG.md#v030-2024-06-26

3
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New library] TLS 1.2 and 1.3 client
github.com

Zig library which implements tls 1.2 and tls 1.3 protocol.

8
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New release] ZLS (Zig's language server) releases v.0.13.0
github.com

Provides compatibility with Zig 0.13.0

6
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[Infrastructure] GitHub Actions for Zig workflows
github.com

Makes integrating Zig projects with GitHub Actions easy and uses mirrors to reduce load on servers

3
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[Zig release] 0.13.0 Release Notes ⚡ The Zig Programming Language
https://ziglang.org/download/0.13.0/release-notes.html

Contains plenty of changes and upgrades to LLVM 18.1.7 Go read the [release notes](https://ziglang.org/download/0.13.0/release-notes.html)

10
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] Hexdump: The alternative cross-platform hex dumping utility
github.com

From the README: Hexdump is designed to replace the standard Hexdump command. If you feel uncomfortable replacing it, simply rename the binary to something else. ## Features * ASCII sidebar * Skipping bytes * Specified length * Multiple formats * Colored output * Output to file

4
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[Update] Zigar 0.12.0 released - a toolkit that lets you use Zig code in a JavaScript project.
github.com

Zigar is a software tool set that lets you utilize Zig code in your JavaScript project.

6
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New library] zig-json - A JSON library for inspecting arbitrary values
github.com

From the README: JSON library for inspecting arbitrary values. Optionally accepts trailing commas. Fully passes https://github.com/nst/JSONTestSuite.

5
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[Blog post] Zig's New CLI Progress Bar Explained - Andrew Kelley
https://andrewkelley.me/post/zig-new-cli-progress-bar-explained.html

*From the blog:* Sometimes, programming projects are too easy and boring. Sometimes, they're too hard, never ending or producing subpar results. This past week I had the pleasure of completing a project that felt like maximum difficulty - only possible because I am at the top of my game, using a programming language designed for making perfect software. This problem threw everything it had at me, but I rose to the challenge and emerged victorious. What a rush. In this blog post I'll dig into the technical implementation as well as provide the Zig Progress Protocol Specification.

4
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[Update] sokol-zig - Zig bindings for the sokol headers (https://github.com/floooh/sokol)
github.com

From the README: Auto-generated Zig bindings for the sokol headers. For Zig version 0.12.0 and 0.13.0-dev In case of breaking changes in Zig, the bindings might fall behind. Please don't hesitate to ping me via a Github issue, or even better, provide a PR :) Support for stable Zig versions is in branches (e.g. zig-0.12.0), those versions are 'frozen in time' though.

2
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New library] flags - An effortless command-line argument parser for Zig
github.com

From the README: An effortless command-line argument parser for Zig. ## Features - Zero allocations. - Declaratively define your command as a plain Zig type. - Single-function API. - Multi-level subcommands. - Automatic help message generation at comptime.

8
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] zfe - a terminal file explorer written in Zig
github.com

From the README: * Simple to use: Minimal and customizable keymaps with vim binding support. * Image Previews: Preview images with Kitty terminal. * File Previews: Preview contents of files directly in the terminal. * Configurable Options: Customize settings via an external configuration file.

8
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] ziglang-set: A generic and general purpose Set implementation for the Zig language
github.com

From the README: Zig currently does not have a built-in, general purpose Set data structure at this point in time. Until it does, try this! Rationale: It may be common knowledge that a dictionary or map or hashset can be used as a set where the value is basically void. While this is true, there's a lot to think about in terms of supporting all the common set operations in a performant and correct way and there's no good reason why a common module for this can't exist. After studying the Zig stdlib, I'm hoping this implementation can fill that gap and provide some value.

2
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] TSxo/zli - A friendly fork of TigerBeetle's `flag` module with support for subcommand help and short options.
github.com

From the README: This library is a friendly refactor of TigerBeetle's flags module that adds support for: * subcommand specific help messages; and * short options (-k=v).

2
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] arbor - Easy-to-use audio plugin framework
github.com

From the README: # arbor ## For the future of plugin development ## Goals * Dead-simple plugin development. Write <= 100 lines of code and have a runnable blank-slate plugin. * Ideally only require Zig as a toolchain dependency, not as a programming language. You should be able to write plugins in C/C++/whatever and easily link that code to Arbor via a C API and the Zig build system. * Could also have a `get_zig.sh` that will download latest stable Zig if you don't already have it * Easy cross-compilation. Compile to Mac/Linux/Windows from Mac/Linux/Windows, batteries included. * Cross-platform graphics. A simple software renderer (like Olivec), but also native graphics programming, potentially using something like [sokol](https://github.com/floooh/sokol.git), or making a thin wrapper around Direct2D/CoreGraphics for cross-platform graphics abstraction, giving the programmer a simple choice with little-to-no platform-specific considerations. * Simple, declarative UI design. Possibly with the option of using a custom CSS-like syntax (or [Ziggy](https://github.com/kristoff-it/ziggy.git)) to declare, arrange, and style UI widgets at **runtime** or **compile-time**, all compiling to native code--not running in some god-forsaken web browser embedded in a plugin UI 🤮 ## Have: * A nice abstraction layer over plugin APIs which should lend itself nicely to extending support to other APIs * Easy comptime parameter generation * Basic CLAP audio plugin supporting different types of parameters, sample-accurate automation * A janky VST2 implementation that works in Reaper and mostly works in other DAWs * Simple, portable software rendering using [Olivec](https://github.com/tsoding/olive.c) and a custom text rendering function with a bitmap font

5
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] ly - display manager with console UI
github.com

From the README: Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD. [...] Ly should work with any X desktop environment, and provides basic wayland support (sway works very well, for example).

7
1
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] md4zig - Zig wrapper around md4c for parsing Markdown
github.com

From the README: A Zig wrapper around [md4c](https://github.com/mity/md4c) for parsing Markdown. Exposes a single function that puts a parser type together from comptime-known Zig functions. The generalisation to using vtables is left as an exercise to the user.

2
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] zuid - The best UUID library for ZIG
github.com

From the README: This library provides a simple and efficient way to generate and manipulate UUIDs (Universally Unique Identifiers) in Zig. ## Features - Generate UUIDs of all versions (1, 3, 4, 5) - Parse UUIDs from strings - Convert UUIDs to strings, 128-bit integers, and byte-arrays - Access to parts of UUID (`time_low`, `time_mid`, `node`, etc.)

3
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[Video] Zig Master - Zig, ZLS, and Neovim Setup
https://www.youtube.com/watch?v=hINC-pmcnbg

The code in this video can be found here: https://codeberg.org/dude_the_builder/zig_master

3
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[Dev Update] Fluent: Fluent interface impementation for native scalar types
ziggit.dev

From the announcement: Regular expressions follow the PCRE syntax. This update has a full regex parser and finite-state-automaton generator that builds parsing trees at comptime. All parsing trees are stateless and have @sizeOf(T) == 0. To use Regex, just look for the fluent.match function and provide your expression string and source string: fluent.match("[abc]\\d+", str) It’s an on going process, but it’s at a point where people can start using them and be on the lookout for more updates! --- Fluent can be found on Github: https://github.com/andrewCodeDev/Fluent

2
0
"Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearZI
[New project] tuile -A Text UI library for Zig
github.com

From the README: Tuile is a Text User Interface library written in Zig. The only currently supported backend is ncurses [...]

4
0