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.
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 forum. Many interesting discussions occurring on a daily basis.
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.
A collection of D OpenGL Tutorials and D ports of C/C++/WebGL samples.
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.
D metaprogramming tutorial series
Bare metal / kernel development
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 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.
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
Compilers
dmd D Programming Language compiler
The LLVM-based D Compiler.
GNU D Compiler
The Stupid D Compiler
Dev Tools
Swiss-army knife for D source code
Dfmt is a formatter for D source code
Build Tools
Package and build management system for D
Build system in D, Python, Ruby, Javascript or Lua
Provides a template makefile for add quickly a build sytem for your project
cmake for D2
Build automation tool for D
Yet another buildsystem, but in D!
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
Visual D - Visual Studio extension for the D programming language
The D Completion Daemon is an auto-complete program for the D programming language
Re-upload of Basile B's nearly-lost D language IDE, with some level of further active development intended.
D language IDE based on DlangUI
A Language Server implementation for D
Coordinate D tools to work together for you
Lexers, Parsers, Parser Generators
Library for lexing and parsing D source code
lexer generator
Parser & Resolver & Abstract Completion library for D
A Parsing Expression Grammar (PEG) module, using the D programming language.
Compile-Time Parser Generator in D programming language.
LALR(1) Parser Generator for the D Programming Language
Preprocesors
A fast preprocessor for C and C++
Javascript
Higgs JavaScript Virtual Machine
Basic
A refined core library for D programming language. The module has concurrency / collections / event / io / logging / text / serialization and more.
A time library for D programming language.
Containers
Containers backed by std.experimental.allocator
Overhead allocators, allocator-aware containers and lifetime management for D objects
Allocators, I/O streams, math, geometry, image and audio processing for D
A reference counted string implementation for D's build in string construct.
Web Frameworks
High-performance network library for D programming language, event-driven asynchonous implemention(IOCP / kqueue / epoll).
http library for D, support http 1.1 / http 2.0 (http2) / websocket server and client.
STOMP implement in D
Cross-platform event loop library of asynchronous objects
HTTP/2 library in D, translated from nghttp2
An asynchronous event-driven network framework( port netty ) written in D.
dlang http client library inspired by python-requests
A Web framework for D Programming Language. Full-stack high-performance.
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.
A component library for Vibe that functions as a CMS.
Grpc for D programming language, hunt-http library based.
Ultra high performance RPC
Hprose for Dlang
A Apache V2 gossip protocol implementation for D programming language.
Cache library for D. Support memory、redis、memcached backend.
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
Powerful binary serialisation library for D
D Protocol Buffer mixins to create structures at compile time
JSON
A library for D that aims to provide the fastest possible implementation of some every day routines.
D library for converting any custom types to and from JSON the painless way.
Phobos candidate JSON implementation.
WIP, use libmir/asdf package for now
JSON functions in Vibe.d. Currently the best implementation I used.
XML
A serialization library for the D programming language.
A replacement of Phobos std.xml
Database clients
An object-relational mapping (ORM) framework for D language (Similar to JPA / Doctrine), support PostgreSQL and MySQL.
Database abstraction layer library using pure D programing language, support PostgreSQL and MySQL.
Official vibe.d development
Native D client driver for MySQL/MariaDB, works with or without Vibe.d
Database access for D2. Currently, only PostgreSQL client.
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.
DDBC is DB Connector for D language (similar to JDBC)
HibernateD is ORM for D language (similar to Hibernate)
An orm for D with Vibe support.
Redis driver for D. Fast, Simple, Stable. Has no dependencies.
Command Line
Hunt Console creation easier to create powerful command-line applications.
A tiling terminal emulator for Linux using GTK+ 3
Utility library to help you write script-like programs in D
Command line based todo list manager
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.
A D implementation of the expect framework.
A processor for command-line arguments, an alternative to Getopt, written in D
A command line and config file parser for DLang
Robust command line argument parsing for D.
command-line fuzzy finder
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
GtkD is a D binding and OO wrapper of GTK+
A library for creating cross-platform GUI applications.
GUI toolkit for the D programming language based on Tcl/Tk
Qt Qml bindings for the D programming language
Port of Sciter headers for the D language
Dynamic Binding for libui (https://github.com/andlabs/libui) in D
but not all of the libraries are actively maintained now.
OS
An operating system written in D
First operating system written in D lang v2
An exokernel operating system written in D
Game Frameworks
A 2D framework for the D programming Language
3D maths for D gamedev
A free and open 3D game engine written in D.
DSFML is a D binding of SFML
D binding to the Allegro5 game development library
Plugin-based client-server voxel game engine written in D language
The main library of polyplex
Games
A 3d multiplayer deathmatch space game written in D 2.0
dtanks
Video applications
A dynamic binding to OpenGL for the D Programming Language.
Image Processing
D2 library for games, network applications etc.
Allocators, I/O streams, math, geometry, image and audio processing for D
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.
A simple Windows app for viewing photos and preparing them for a blog.
End-user applications
Search files without indexing, but clever crawling
Machine Learning
Parallel computing
DCompute: Native execution of D on GPUs and other Accelerators
Dynamic bindings to the CUDA library for the D Programming Language.
Dynamic bindings to the OpenCL library for the D Programming Language.
Scientific
Scientific library for the D programming language
A statistics library for D.
Mir (backports): Sparse tensors, Hoffman
Advanced Random Number Generators
D implementation of floating point decimal data type according to IEEE754-2008
Text Processing
A markdown parsing and rendering library for D programming language.
eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more.
Logging
Logging utilities that aimed to be used in highly loaded applications
Phobos's upcoming standard logging facility
Configuration
An SDLang (Simple Declarative Language) library for D
YAML parser and emitter for the D programming language
a compile time ini file parser and writter generator for D
Blog Engine
PoC blog implementation in D + vibe.d
Testing
Advanced unit testing toolkit for the D programming language
Advanced unit test framework for D