User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome D

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

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Dec. 3, 2020, 9:04 a.m.

Thank you zhaopuming & contributors
View Topic on GitHub:
zhaopuming/awesome-d

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Official Website

Official website for D.

Official Wiki for D.

Offical Library/Module Registry for D.

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

D programming language specification.

Official issue tracking/reporting system for D. If you find bugs in the D compiler and/or libraries, please come and report them!

Getting Help

Highest traffic site for answering D questions.

Less traffic than forums but possibly easier to search.

Examples of how to do many basic things in D.

People

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

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 the organization.

Events

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

Organizations

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 Enchanser from C/C++ to D.

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

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

Books

The D Programming Language* by Andrei Alexandrescu.

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.

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.

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.

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

A tutorial on the D programming language templates.

205
25
3y 6m
n/a

A collection of D OpenGL Tutorials and D ports of C/C++/WebGL samples.

60
10
5y 10m
n/a

An interactive tutorial for D, inspired by Golang Tour.

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

An article written by Walter Bright that details how D's functional support leads to a flexible and beautiful component programming style.

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

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.

Bare metal / kernel development

kernel hello world in D (using GDC compiler)

another kernel hello world in D (using LDC compiler)

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

Blogs

A feed of news and blog posts about 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.

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

A great blog for many useful idioms with D programming.

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

Articles

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

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

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

Package Management

Package and build management system for D

530
200
7d
MIT

Official D library repository. Backed by dub.

Compilers

dmd D Programming Language compiler

2.33K
531
4d
BSL-1.0

The LLVM-based D Compiler.

918
207
2d
n/a

GNU D Compiler

360
53
2y 30d
n/a

The Stupid D Compiler

161
45
1y 6m
MIT

dil

A compiler for the D programming language. Written in D.

Dev Tools

Swiss-army knife for D source code

218
65
90d
BSL-1.0

Dfmt is a formatter for D source code

167
36
59d
BSL-1.0

Build Tools

Package and build management system for D

530
200
7d
MIT
2
3
4y 18d
BSD-3-Clause

Build system in D, Python, Ruby, Javascript or Lua

138
14
9d
BSD-3-Clause

Provides a template makefile for add quickly a build sytem for your project

18
3
4y 7m
n/a

cmake for D2

44
11
59d
MIT

Build automation tool for D

22
2
1y 103d
n/a

Yet another buildsystem, but in D!

7
1
4y 8m
MPL-2.0

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

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

IDE

D Add-In for MonoDevelop

111
27
6m
n/a

Visual D - Visual Studio extension for the D programming language

251
59
102d
BSL-1.0

The D Completion Daemon is an auto-complete program for the D programming language

309
60
90d
GPL-3.0

Re-upload of Basile B's nearly-lost D language IDE, with some level of further active development intended.

20
3
85d
BSL-1.0

D language IDE based on DlangUI

341
48
1y 117d
BSL-1.0

A Language Server implementation for D

104
13
7m
GPL-3.0

Coordinate D tools to work together for you

80
14
8m
n/a

DDT

Eclipse plugin for the D programming language.

Lexers, Parsers, Parser Generators

Library for lexing and parsing D source code

89
48
111d
BSL-1.0

lexer generator

8
1
6y 6m
n/a

Parser & Resolver & Abstract Completion library for D

26
8
6m
n/a

A Parsing Expression Grammar (PEG) module, using the D programming language.

454
57
73d
n/a

Compile-Time Parser Generator in D programming language.

42
2
5y 7m
n/a

LALR(1) Parser Generator for the D Programming Language

11
0
3y 4m
n/a

Preprocesors

A fast preprocessor for C and C++

495
47
5y 32d
BSL-1.0

Javascript

Higgs JavaScript Virtual Machine

821
65
1y 6m
n/a

Basic

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

74
11
6d
Apache-2.0

A time library for D programming language.

1
0
5m
Apache-2.0
1
0
6m
Apache-2.0

Containers

Containers backed by std.experimental.allocator

113
30
94d
BSL-1.0

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

37
12
10m
MIT

Math, allocators, I/O streams, image and audio processing for D

180
25
9d
n/a

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

9
2
1y 83d
n/a

Web Frameworks

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

16
4
17d
Apache-2.0

http library for D, support http 1.1 / http 2.0 (http2) / websocket server and client.

21
3
69d
Apache-2.0

STOMP implement in D

0
0
1y 53d
Apache-2.0

Cross-platform event loop library of asynchronous objects

134
25
9m
MIT

HTTP/2 library in D, translated from nghttp2

33
3
9m
n/a

An asynchronous event-driven network framework( port netty ) written in D.

60
12
2y 96d
n/a

dlang http client library inspired by python-requests

123
23
36d
BSL-1.0

A Web framework for D Programming Language. Full-stack high-performance.

233
28
92d
n/a

This is a collection of modules that I've released over the years. Most of them stand alone, or have just one or two dependencies in here, so you don't have to download this whole repo.

407
88
5d
n/a

A component library for Vibe that functions as a CMS.

15
1
6y 5m
MIT

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

27
6
35d
Apache-2.0

Ultra high performance RPC

37
7
3y 26d
Apache-2.0

Hprose for Dlang

27
2
4y 20d
MIT

A Apache V2 gossip protocol implementation for D programming language.

0
0
1y 8m
n/a

Cache library for D. Support memory、redis、memcached backend.

5
0
15d
n/a

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

Full-stack web-framework based on vibe.d, targetting enterprise development and high-performance web solutions for both small and big projects.

Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2]

Binary Serilization

D Programming Language implementation of the google flatbuffers library

12
1
3y 4m
n/a

Powerful binary serialisation library for D

84
2
72d
BSD-3-Clause

D Protocol Buffer mixins to create structures at compile time

34
21
7m
BSL-1.0

JSON

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

106
6
1y 10m
n/a

D library for converting any custom types to and from JSON the painless way.

20
2
1y 4m
BSL-1.0

Phobos candidate JSON implementation.

26
10
81d
n/a

WIP, use libmir/asdf package for now

75
14
20d
BSL-1.0

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

D's standard library JSON module. Needs refinement.

XML

A serialization library for the D programming language.

72
16
8m
n/a

A replacement of Phobos std.xml

23
8
4y 27d
BSL-1.0

Database clients

An object-relational mapping (ORM) framework for D language (Similar to JPA / Doctrine), support PostgreSQL and MySQL.

50
11
21d
n/a

Database abstraction layer library using pure D programing language, support PostgreSQL and MySQL.

41
5
26d
Apache-2.0

Official vibe.d development

1.03K
282
3d
n/a

Native D client driver for MySQL/MariaDB, works with or without Vibe.d

72
26
12m
BSL-1.0

Database access for D2. Currently, only PostgreSQL client.

41
29
6m
n/a

This is a collection of modules that I've released over the years. Most of them stand alone, or have just one or two dependencies in here, so you don't have to download this whole repo.

407
88
5d
n/a

DDBC is DB Connector for D language (similar to JDBC)

62
42
11m
n/a

HibernateD is ORM for D language (similar to Hibernate)

80
30
11m
n/a

An orm for D with Vibe support.

18
2
4y 6m
MIT

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

Command Line

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

4
0
4m
n/a

A tiling terminal emulator for Linux using GTK+ 3

4.24K
233
4d
MPL-2.0

Utility library to help you write script-like programs in D

84
11
1y 4m
n/a

Command line based todo list manager

14
2
3y 8m
GPL-3.0

This is a collection of modules that I've released over the years. Most of them stand alone, or have just one or two dependencies in here, so you don't have to download this whole repo.

407
88
5d
n/a

A D implementation of the expect framework.

10
0
2y 55d
n/a

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

14
1
3y 24d
ISC

A command line and config file parser for DLang

7
3
51d
LGPL-3.0

Robust command line argument parsing for D.

34
7
2y 115d
MIT

command-line fuzzy finder

46
4
6m
GPL-2.0

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.

GUI Libs

Cross Platform GUI for D programming language

623
104
4m
n/a

GtkD is a D binding and OO wrapper of GTK+

283
65
26d
n/a

A library for creating cross-platform GUI applications.

115
26
97d
n/a

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

106
14
1y 115d
MIT

Qt Qml bindings for the D programming language

32
10
3y 4m
LGPL-3.0

Port of Sciter headers for the D language

30
2
3y 5m
MIT

Dynamic Binding for libui (https://github.com/andlabs/libui) in D

33
2
4y 6m
MIT

but not all of the libraries are actively maintained now.

OS

An operating system written in D

455
36
1y 9m
n/a

First operating system written in D lang v2

83
15
21d
MIT

An exokernel operating system written in D

321
82
7y 6m
n/a

Game Frameworks

A 2D framework for the D programming Language

81
71
2y 51d
n/a

3D maths for D gamedev

186
48
65d
Unlicense

A free and open 3D game engine written in D.

402
73
4y 11m
MIT

DSFML is a D binding of SFML

92
23
2y 63d
n/a

D binding to the Allegro5 game development library

36
13
2y 7d
n/a

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

104
4
2y 53d
BSL-1.0

The main library of polyplex

29
2
7m
BSL-1.0

Games

A 3d multiplayer deathmatch space game written in D 2.0

16
5
7y 52d
BSL-1.0

dtanks

11
3
4y 10m
n/a

Video applications

A dynamic binding to OpenGL for the D Programming Language.

75
20
1y 8m
n/a

Image Processing

D2 library for games, network applications etc.

144
32
92d
n/a

Math, allocators, I/O streams, image and audio processing for D

180
25
9d
n/a

This is a collection of modules that I've released over the years. Most of them stand alone, or have just one or two dependencies in here, so you don't have to download this whole repo.

407
88
5d
n/a

A simple Windows app for viewing photos and preparing them for a blog.

End-user applications

Search files without indexing, but clever crawling

213
16
4m
GPL-2.0

Machine Learning

1.05K
79
6m
Apache-2.0

Parallel computing

DCompute: Native execution of D on GPUs and other Accelerators

105
20
9m
BSL-1.0

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

18
3
1y 9m
n/a

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

7
3
1y 35d
BSL-1.0

Scientific

Scientific library for the D programming language

82
30
7m
BSL-1.0

A statistics library for D.

21
7
1y 28d
n/a

Mir (backports): Sparse tensors, Hoffman

203
18
18d
BSL-1.0

Advanced Random Number Generators

30
13
93d
n/a

D implementation of floating point decimal data type according to IEEE754-2008

16
5
1y 91d
n/a

Text Processing

A markdown parsing and rendering library for D programming language.

10
1
5m
n/a

eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more.

1.17K
65
4m
BSL-1.0

Logging

Logging utilities that aimed to be used in highly loaded applications

16
4
3y 9m
MIT

Configuration

An SDLang (Simple Declarative Language) library for D

86
21
7m
n/a

YAML parser and emitter for the D programming language

96
30
77d
BSL-1.0

a compile time ini file parser and writter generator for D

21
9
9d
LGPL-3.0

Blog Engine

PoC blog implementation in D + vibe.d

41
10
13d
BSL-1.0

Testing

Advanced unit testing toolkit for the D programming language

63
14
10m
MIT

Advanced unit test framework for D

112
31
3d
BSD-3-Clause