Skip to content
79

Awesome D

A curated list of awesome D documents, frameworks, libraries and software. Inspired by awesome-python.

763 stars95 forks276 entriesLast push Sep 20, 2026 (9 days ago)License none

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

Official Websites

dlang.org

Official website for D.

wiki.dlang.org

Official wiki for D.

blog.dlang.org

Official blog for D.

forum.dlang.org

Official forum for D. Many interesting discussions occurring on a daily basis.

code.dlang.org

Official library registry for D.

GitHub organization

Official GitHub organization for D. Repository for all official D tools & code.

Language specification

The D programming language specification.

Official Websites >Status page

status.dlang.rocks

Public infrastructure monitoring of services associated with or used by the D Language Foundation and its project contributors.

Getting Help

Official D Forum Learn Group

Highest-traffic site for getting D questions answered.

D on Stack Overflow

Less traffic than the forums but possibly easier to search.

D on Rosetta Code

Examples of how to do many basic things in D.

D on Discord

Another very active community for D discussions and questions.

People

Walter Bright

Father of D. Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages.

Andrei Alexandrescu, PhD

C++ guru. Author of The D Programming Language and Modern C++ Design. With Walter Bright, Andrei co-designed many important features of D and authored a large part of D's standard library. Andrei works as a trainer in advanced C++ programming and algorithms and is now actively evangelizing D in…

Átila Neves

Deputy Leader of D.

Events

DConf

The premier event where D luminaries exchange knowledge, insight, and inspiration on everything related to the D language and its ecosystem.

Beerconf

A casual, monthly virtual meetup for D community members.

Organizations

GitHub organization

Official GitHub organization for D. Repository for all official D tools & code.

LDC Developers

LDC releated projects.

DerelictOrg

A GitHub organization hosting all Derelict bindings including OpenGL and other multimedia/game related library bindings. (OpenGL 3, Bgfx, ENet, SDL 2, GLFW 3,OpenGLES, Free Image, Assimp3, libtheora, libogg, libvorbis, SFML 2, libpq, PhysicsFS, Open Dynamics Engine, Lua, DevIL, OpenAL, ALURE).

DlangScience

A focal point and first port of call for scientific libraries and tooling for D.

Circular Studios

We are a group of game developers at Rochester Institute of Technology building games and game tech. Hosts Dash, a 3D game engine written in D, and other related libs.

EMSI

A Career building company that uses D as their main language. Hosts their opensource projects.

infognition

Infognition is a self-funded and self-sustained company specializing in video processing and compression technologies for end-users and developers. They provide several opensource video related applications & tools written in D, hosted on bitbucket. They are also porting their main product--Video…

libmir

D's numeric library development team

sociomantic labs

Berlin based company specializing in real-time bidding for online advertising. Main sponsor of the annual D language conference. Has open-sourced large parts of their codebase as part of the tsunami organization.

Symmetry Investments

Symmetry Investments LP is an investment management company with approximately US$4.7 billion in assets under management as of 31 December 2018. Main sponsor of the Symmetry Autumn of Code. Have sponsored the development of excel-d, dpp, autowrap, mir-algorithm, and various other projects.

HuntLabs

A technology group using DLang. Have pure D language implementation of quickly develop server-side applications and build distributed system services.

Books

TDPL

The D Programming Language by Andrei Alexandrescu.

Programming in D

A very detailed book about programming in D by Ali Çehreli covering many areas of the language. Has a free online version and is suitable for beginners.

D Cookbook

A recipe-packed reference guide filled with practical tasks that are concisely explained to develop and broaden the user's abilities with the D programming language. by Adam D. Ruppe. Here is an interesting review of the book.

Learning D

This book is intended for those with some background in a C-family language who want to learn how to apply their knowledge and experience to D. (...) This book will help you get up to speed with the language and avoid common pitfalls that arise when translating C-family experience to D.

D Web Development

Whether you are new to the world of D, or already have developed applications in D, or if you want to leverage the power of D for web development, then this book is ideal for you.

Tutorials

The Dlang Tour

An interactive tutorial for D, inspired by Golang Tour.

Programming in Dlang

An introductory video series about programming in D.

Pragmatic D tutorial

This is a pragmatic introduction to the D Programming Language. by Andreas Zwinkau.

D Template Tutorial

A tutorial dedicated to D Templates. Very good explanation about templates. Has pdf version. by Philippe Sigaud.

Component programming with ranges

A detailed blog post about how to do component programming in a idiomatic D way with ranges, with a full working example.

Functional image processing in D

A very interesting tutorial about writing an image processing lib in D. Shows the power of D's templates/CTFE/Ranges/UFCS for functional style programming.

OpenGL tutorials

OpenGL tutorials in D.

Creating a simple JSON serialiser in D

D metaprogramming tutorial series

Let's learn D programming Game Dev!

A video series on learning game development with D from Ki Rill. His channel also posts other videos related to D programming.

DLang YouTube Tutorials from Mike Shah

Series of tutorials covering basic to advanced features of the D programming language and standard library.

Blogs

blog.dlang.org

Official blog for D.

/r/d_language on Reddit

A feed of news and blog posts about D.

This week in D

A weekly overview of activity in the D community and brief advice columns to help you get the most out of the D Programming Language.

Planet D

A repository of co-authored D-specific blogs maintained by Vladimir Panteleev.

D Idioms

A great blog for many useful idioms with D programming.

GTK-D coding

Simple examples of how to use GtkD to build GUI applications.

Tasty D

A blog about learning the D programming language and various D language trivia.

Articles

Origins of the D programming language

By Walter Bright, Andrei Alexandrescu, Michael Parker. The history and development of D language.

Purity in D

An article that explains the design principles behind D's purity feature.

Hidden treasures in the D standard library

An article talking about several useful functions and templates in Phobos.

D is for Data Science

A great post about how D is suitable for data science, particularly, replacing the role of python scripts for fast prototyping.

D Functional Garden

Package Management

code.dlang.org

Official library registry for D.

dub

Official package and build management system for D.

Compilers

DMD

The reference compiler for the D programming language. Stable, builds insanely fast, very good for learning and rapid prototyping/development. Currently the frontend is implemented in D, and shared between dmd, ldc and gdc, the backend is implemented in C++.

LDC

The LLVM-based D compiler. Uses the DMD frontend and LLVM backend. Builds slower than dmd, but generates more optimized code than DMD. It supports all the target platforms of LLVM.

GDC

GNU D Compiler. Use DMD frontend and GCC backend. Currently targets the most platforms due to the use of GCC. Generated code runs faster than DMD in most cases, on par with LDC. In the process of integration with the official GCC toolchain.

Alternative / WIP Compilers

SDC

The Snazzy D Compiler. Written in D. Grows Smarter every day.

OpenD

A fork of the D language focused on practical and incremental improvements.

Dev Tools

D-Scanner

Swiss-army knife for D source code (linting, static analysis, D code parsing, etc.)

In 2 lists

dfmt

formatter for D source code

Build Tools

dub

Official package and build management system for D.

scons-d

Scons has built-in support for building D projects, thanks to Russel Winder.

In 3 lists

premake

Premake has built-in support for D projects

reggae

meta build system in D

Makefile

Makefile template for D projects

cmake-d

CMake D Projects

In 2 lists

cook2

Fast incremental build tool intended for projects in D

button

A universal build system to build your software at the push of a button.

wild

Wild build system, used to build the PowerNex kernel

XMake

XMake is a crossplatform build system, that incorporated the D language and also has support for DUB repositories.

In 3 lists

wox

A highly flexible recipe build system inspired by Make

IDEs & Editors

Visual D

Visual Studio extension for the D programming language.

IntelliJ D Language

Support for the D programming language within IntelliJ IDEA.

Dexed

IDE for the D programming language, its compilers, tools and libraries.

Dutyl

Vim plugin that integrates various D development tools

code-d

[open-vsx] - Visual Studio Code extension using serve-d

ide-d

Pulsar (fork of Atom) extension for D using serve-d

DCD

Independent auto-complete program for the D programming language. Could be used with editors like vim, emacs, sublime text, textadept, and zeus. See editors support.

serve-d

Language Server Protocol (LSP) implementation for D. Adds modern IDE features to any editor with LSP support (VSCode, Atom, Vim/Neovim and others)

Lexers, Parsers & Generators

libdparse

A D language lexer and parser, (possibly) future standard D parser/lexer.

Martin Nowak's Lexer

A lexer generator.

Mono-D's DParser

A D parser written in C# and used in Mono-D.

Pegged

A Parsing Expression Grammar (PEG) module written in D.

Goldie

Goldie Parsing System.

ctpg

Compile-Time Parser (with converter) Generator written in D.

dunnart

LALR(1) Parser Generator written in D.

Preprocesors

warp

A fast preprocessor for C and C++ used in Facebook infrastructure. Written by Walter Bright.

Version Managers

dvm

A small tool to install and manage DMD (self-hosting) compiler.

ldcup

A small tool to install and manage LDC2 (LLVM backend) compiler.

GitHub Actions

setup-dlang

Install D compilers & DUB inside GitHub Actions

dub-upgrade

Run dub upgrade trying to repeat on network failure and using package cache on GitHub Actions

Testing Frameworks

unit-threaded

Multi-threaded unit test framework

silly

Better test runner for the D programming language. No nonsense.

fluent-asserts

Fluent assertion framework with expressive syntax and detailed error messages.

Programming Languages

higgs

Higgs JavaScript Virtual Machine, implemented in D.

brainfuck-d

Brainfuck interpreter, compiler and REPL written in D.

arsd.script

A small script interpreter that builds on arsd.jsvar to be easily embedded inside and to have easy two-way interop with the host D program.

Operating Systems

PowerNex

A kernel written in D

SerpentOS

Snek factory

Trinix

Hybrid operating system for x64 PC written in D

XOmB

An exokernel operating system written in D

Bare Metal / Kernel Development

D Bare bones

kernel hello world in D (using GDC compiler)

D barebone with ldc2

another kernel hello world in D (using LDC compiler)

XOmB bare bones

an exokernel operating system written in D. Main page, github.

Bare Metal ARM Cortex-M GDC Cross Compiler

building a bare metal ARM Cortex-M (arm-none-eabi) GDC cross compiler for a Linux host.

General Containers

EMSI containers

Containers that do not use the GC

memutils

Overhead allocators, allocator-aware containers and lifetime management for D objects

dlib.container

generic data structures (GC-free dynamic and associative arrays and more)

std.rcstring

A reference counted string implementation for D's build in string construct

Core Utilities

NuMem

No-GC memory management utilities for DLang.

NuLib

D "standard" library built ontop of numem.

Joka

A nogc utility library.

Web Frameworks

dlang-requests

HTTP client library inspired by python-requests

Handy-Httpd

A simple, lightweight, and well-documented HTTP server that lets you bootstrap ideas and have something up and running in minutes.

serverino

Small and ready-to-go http server, in D

libasync

Cross-platform event loop library of asynchronous objects

libhttp2

HTTP/2 library in D, translated from nghttp2

vibe.d

Asynchronous I/O Web Framework that doesn’t get in your way, written in D.

arsd.script

A small script interpreter that builds on arsd.jsvar to be easily embedded inside and to have easy two-way interop with the host D program.

cmsed

A component library for Vibe that functions as a CMS.

Apache Thrift

A lightweight, language-independent, featureful RPC framework. Thrift provides clean abstractions for data transport, data serialization, code generation, and application level processing. Apache Thrift Page

Hprose

A very newbility RPC Library for D, and it support 25+ languages now.

DSSG

A static site generator with a different approach.

Data Serialization

cerealed

Serialisation library for D

dproto

Google Protocol Buffer support in D.

vibe.data.json

JSON functions in Vibe.d. Currently the best implementation I used.

fast.json

A library for D that aims to provide the fastest possible implementation of some every day routines.

std.json

D's standard library JSON module. Needs refinement.

painlessjson

Convert between D types and std.json.

std.data.json

Phobos candidate for JSON serialization (based on Vibed)

asdf

Cache oriented string based JSON representation for fast read & writes and serialisation.

orange

General purpose serializer (currently only supports XML)

std.experimental.xml

Phobos candidate for a XML serialization

newxml

Successor of std.experimental.xml. DOM compatible, and also has a SAX parser.

Database Clients

vibe.d

Vibe.d has internal support for Redis and MongoDB, which are very stable. Soon, the database drivers will be separated into independent projects.

arsd.script

A small script interpreter that builds on arsd.jsvar to be easily embedded inside and to have easy two-way interop with the host D program.

hibernated

HibernateD is an ORM for D (similar to Hibernate).

mysql-native

A MySQL client implemented in native D.

ddb

Database access for D2. Currently only supports PostgreSQL.

ddbc

DDBC is a DB Connector for D language (similar to JDBC). HibernateD (see below) uses ddbc for database abstraction.

dvorm

An ORM for D with Vibe support. Works with vibe.d and mysql-d, giving it the ability to access MongoDB and MySQL.

Tiny Redis

Redis driver for D. Fast, Simple, Stable. Has no dependencies.

libpb

Interact with a PocketBase database

In 2 lists

CLI Libraries

arsd.script

A small script interpreter that builds on arsd.jsvar to be easily embedded inside and to have easy two-way interop with the host D program.

commandr

A modern, powerful command line argument parser.

argsd

A command line and config file parser for DLang

luneta

A command-line fuzzy finder.

In 2 lists

argparse

Flexible parser of command line arguments.

gogga

simple easy-to-use colorful logger for command-line applications

scriptlike

Utility library to aid writing script-like programs in D.

d-colorize

A port of the ruby library colorize. It add some methods to set color, background color and text effect on console easier using ANSI escape sequences.

dexpect

A D implementation of the expect framework. Handy for bash emulation.

Argon

A processor for command-line arguments, an alternative to Getopt, written in D.

CLI Applications

Literate

A literate programming tool for any language.

onedrive

#1 Free OneDrive Client for Linux.

tshare

Fast file sharing from cli, using transfer.sh.

In 3 lists

todod

Todod is a command line based todo list manager. It also has support for shell interaction based on linenoise.

Soulfind

Soulseek server implementation in D.

GUI Libraries

giD

GObject Introspection D Package Repository.

Fluid

A declarative cross-platform user interface library for D.

minigui

A smallish GUI widget library, aiming to be on par with at least HTML4 forms and a few other expected gui components. It's part of the arsd libraries.

DLangUI

Cross Platform GUI for D programming language. My personal favorite, because it is written in D(not a binding), and is cross platform. DLangUI also has a good showcase in the IDE DLangIDE.

microui-d

A tiny immediate-mode UI library.

GtkD

GtkD is a D binding and OO wrapper of GTK+. GtkD is actively maintained and is currently the most stable GUI lib for D.

tkD

GUI toolkit for the D programming language based on Tcl/Tk.

dqml

Qt Qml bindings for the D programming language.

Sciter-Dport

D bindings for the Sciter - crossplatform HTML/CSS/script desktop UI toolkit.

GUI Applications

tilix

A tiling terminal emulator for Linux using GTK+ 3.

Inochi Creator

Inochi2D Rigging Application.

Inochi Session

Application that allows streaming with Inochi2D puppets.

Sorting Algorithms

sorting algorithms visualizer.

Crimson

Simple text editor.

Game Bindings

raylib-d

D bindings for raylib.

sokol-d

D bindings for the sokol headers.

DAllegro5

D binding/wrapper to Allegro 5, a modern game programming library.

DSFML

A static binding of SFML in a way that makes sense for D.

Godot-D

D language bindings for the Godot Engine's GDNative API.

BindBC

Bindings compatible with -betterC and @nogc, using bindbc-loader.

OpenGL

Graphics API

GLFW 3

Window/Input library

SDL 2

Multimedia library

SDL2_gfx

Drawing primitives for SDL2

SFML 2

Multimedia library

Imgui

Immediate mode GUI

Nuklear

Immediate mode GUI

raylib3

Game library

bgfx

Cross-Platform renderer

WebGPU

Modern GPU API

Zstandard

Fast compression

nanomsg-next-gen

Messaging library

OpenAL

Audio library

SoLoud

Audio library

KiWi

UI widget toolkit

NanoVG

Vector graphics

Blend2D

Vector graphics

Lua

Scripting language

JoyShockLibrary

Gamepad/Gyro input

Newton Dynamics

Physics library

FreeImage

Image loading

FreeType

Font rendering

HarfBuzz

Text shaping

DerelictOrg

A GitHub organization hosting all Derelict bindings including OpenGL and other multimedia/game related library bindings. (OpenGL 3, Bgfx, ENet, SDL 2, GLFW 3,OpenGLES, Free Image, Assimp3, libtheora, libogg, libvorbis, SFML 2, libpq, PhysicsFS, Open Dynamics Engine, Lua, DevIL, OpenAL, ALURE).

OpenGLES

Graphics API

ENet

Networking library

libtheora

Video codec

libogg

Audio codec

libvorbis

Audio codec

libpq

PostgreSQL library

PhysicsFS

Virtual file system

Open Dynamics Engine (ODE)

Physics library

ALURE

Audio library

DevIL

Image library

Game Libraries

InMath

Games math library for D.

godot-math

A D port of Godot's linear algebra with unchanged semantics.

text-mode

Virtual text mode with 8x8 Unicode font and markup language.

gfm

D gamedev toolkit.

Parin

A delightfully simple 2D game engine.

PixelPerfectEngine

2D graphics engine written in D.

HipremeEngine

Cross Platform D-Lang Game Engine with scripting support.

arsd.script

A small script interpreter that builds on arsd.jsvar to be easily embedded inside and to have easy two-way interop with the host D program.

rengfx

lightweight, expressive, extensible 2D/3D game engine.

Dagon

3D game engine for D. See: https://gecko0307.github.io/dagon/

Voxelman

Plugin-based client-server voxel game engine written in D language.

Games

Spacecraft

A 3d multiplayer deathmatch space game written in D 2.0.

Dtanks

Robot Tank Battle Game.

Electronvolt (formerly Atrium)

FPS game with physics based puzzles using OpenGL.

Backgammony

A Backgammon GUI for Linux built with Gtk.

Worms Within

A bite-sized escape room game.

Clean & Haunted

Clean a spooky haunted house.

Runani

An endless runner game where you help cute animals.

A Short Metamorphosis

A cute visual novel about looking at an egg.

Would you still save the world with me if I were a worm?

Help your wormy partner find the exit of each of the 20 puzzles to eventually save the world that has fallen into a wormhole.

K, Merge With Me

Hide-and-run game with pretty pixel art.

Game of life

Recreation of Conway's Game of Life in D.

Internationalization

bindbc-icu

bindbc bindings for the unicode ICU library.

Image Processing

ArmageddonEngine

Vladimir Panteleev's ae library has a package for image processing in functional style, which is described in the article Functional Image Processing in D.

dlib.container

generic data structures (GC-free dynamic and associative arrays and more)

arsd.script

A small script interpreter that builds on arsd.jsvar to be easily embedded inside and to have easy two-way interop with the host D program.

opencvd

Unofficial OpenCV binding for D

Machine Learning

vectorflow

Nexflix's opensource deep learning framework.

In 2 lists

bindbc-onnxruntime

bindbc bindings to Microsoft's cross-platform, high performance ML inferencing and training accelerator

grain2

Autograd and GPGPU library for dynamic neural networks in D

tfd

Tensorflow wrapper for D

Parallel Computing

DCompute

GPGPU with Native D for OpenCL and CUDA

DerelictCUDA

Dynamic bindings to the CUDA library for the D Programming Language.

DerelictCL

Dynamic bindings to the OpenCL library for the D Programming Language.

Scientific

scid

Scientific library for the D programming language

dstats

A statistics library for D.

mir

Sandbox for some mir packages: sparse tensors, Hoffman and others.

mir-random

Advanced Random Number Generators.

Scientific >Language Processing

bindbc-mecab

bindbc MeCab binding (Part-of-Speech and Morphological Analyzer for Japanese)

Text Processing

hunt-markdown

A markdown parsing and rendering library for D programming language. Support commonMark.

eBay's TSV utilities

Filtering, statistics, sampling, joins and other operations on TSV files. Very fast, especially good for large datasets.

In 2 lists

Logging

dlog

extensible logging framework with message transformation support and custom loggers and contexts

std.experimenatal.logger

Phobos's upcoming standard logging facility.

dlogg

Logging for concurrent applications and daemons with lazy and delayed logging, logrotate support.

Configuration

sdlang

An SDL (Simple Declarative Language) library for D.

D:YAML

YAML parser and emitter for the D programming language.

inifile-D

A compile time ini file parser and writer generator for D

arsd.script

A small script interpreter that builds on arsd.jsvar to be easily embedded inside and to have easy two-way interop with the host D program.

Blog Engine

mood

simple vibe.d based blog engine

adrdox

A documentation generator that can also be used for blogging. (Used by the This Week in ARSD blog.)

Dependency Injection

Poodinis

A dependency injection framework for D with support for autowiring.

arsd.script

A small script interpreter that builds on arsd.jsvar to be easily embedded inside and to have easy two-way interop with the host D program.

Cryptography

Botan

Block & stream ciphers, public key crypto, hashing, KDF, MAC, PKCS, TLS, ASN.1, BER/DER, etc.

OpenSSL

D version of the C headers for OpenSSL.

Crypto

A D Library of encryption, decryption, encode, hash, and message digital signatures.

Unmaintained

dunit

Advanced unit testing & mocking toolkit

hunt

A refined core library for D programming language. The module has concurrency / collection / event / io / logging / text / serialize and more.

hunt-time

A time library and similar to Joda-time and Java.time api.

hunt-validation

A data validation library for DLang based on hunt library.

collie

An asynchronous event-driven network framework written in dlang, like netty framework in D.

hunt-net

High-performance network library for D programming language, event-driven asynchonous implemention(IOCP / kqueue / epoll).

hunt-http

HTTP/1 and HTTP/2 protocol library for D.

Hunt Framework

Hunt is a high-level D Programming Language Web framework that encourages rapid development and clean, pragmatic design. It lets you build high-performance Web applications quickly and easily.

grpc

Grpc for D programming language, hunt-http library based.

kissrpc

Fast and light, flatbuffers based rpc framework.

hunt-gossip

A Apache V2 gossip protocol implementation for D programming language.

hunt-cache

D language universal cache library, using radix, redis and memcached.

flatbuffers

D Programming Language implementation of the google flatbuffers library.

hunt-entity

Hunt entity is an object-relational mapping tool for the D programming language. Referring to the design idea of JPA, support PostgreSQL / MySQL / SQLite.

hunt-database

Hunt database abstraction layer for D programing language, support PostgreSQL / MySQL / SQLite.

hunt-console

Hunt console creation easier to create powerful command-line applications.

DWT

A library for creating cross-platform GUI applications. GWT is a port of the Java SWT library to D. DWT was promoted as a semi-standard GUI library for D, but unfortunately didn't catch up popularity yet.

LibUI

Dynamic Binding for libui

See category
94

Awesome Rust

rust-unofficial/awesome-rust

A curated list of Rust code and resources.

Fresh★ 60k1833 entriesPushed today
94

Awesome Mac

jaywcjlove/awesome-mac

 This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

Fresh★ 115k1316 entriesPushed today
94

Awesome Python

vinta/awesome-python

The definitive list that answers "I want to do X in Python, which tool should I use?"

Fresh★ 324k504 entriesPushed today
94

Awesome C++

fffaraz/awesome-cpp

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Fresh★ 74k1358 entriesPushed yesterday
94

Awesome Go

avelino/awesome-go

A curated list of awesome Go frameworks, libraries and software

Fresh★ 186k3119 entriesPushed yesterday
94

Awesome PHP

ziadoz/awesome-php

A curated list of amazingly awesome PHP libraries, resources and shiny things.

Fresh★ 33k87 entriesPushed 2 days ago