# Awesome D Awesome

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

I created this list so that when I needed something in the future, it would be easy to find. Most of the documents and links are collected from the D forum, the D wiki, and the D package repository. Exploring GitHub also helps as many of the libs are hosted there.

If you know an interesting lib/app in D, please tell us through GitHub issues or edit this file.

Contents

Official Website

Official Website URLs.

Getting Help

For when you’re stuck.

People

The people that made D the language it is.

Events

Organizations

Organizations that contribute to D projects.

Books

D related books. You can find another list of books on the Books D wiki page. * 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

D related 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 in D - An article written by Walter Bright that details how D’s functional support leads to a flexible and beautiful component programming style. * 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.

Bare metal / kernel development

Blogs

D related blogs.

Articles

D related Articles.

Package Management

Libraries for package and dependency management.

Compilers

Compile software from source code.

WIP Compilers

Dev Tools

Tools for more productive D development.

Build Tools

Manage projects and compile software from source code.

IDEs & Editors

Integrated Development Environment.


Lexers, Parsers, Parser Generators

Preprocesors

Javascript

Basic

Containers

GitHub Actions

Testing Frameworks

Web Frameworks

Networking library * 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-stomp - STOMP for websocket protocol library implement in D. * libasync - Cross-platform event loop library of asynchronous objects * libhttp2 - HTTP/2 library in D, translated from nghttp2 * collie - An asynchronous event-driven network framework written in dlang, like netty framework in D. * 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

Full stack web frameworks. * 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. * vibe.d - Asynchronous I/O Web Framework that doesn’t get in your way, written in D. * arsd - Adam D. Ruppe’s web framework. * cmsed - A component library for Vibe that functions as a CMS.

RPC library * grpc - Grpc for D programming language, hunt-http library based. * kissrpc - Fast and light, flatbuffers based rpc framework. * Hprose - A very newbility RPC Library for D, and it support 25+ languages now. * Apache Thrift - A lightweight, language-independent, featureful RPC framework. Thrift provides clean abstractions for data transport, data serialization, code generation, and application level processing. Dub package

Gossip

Cache

Static Site Generator

Data serialization

Json, XML, protobuf and other data serialization libs.

Binary Serilization

JSON

XML

Database clients

Clients and bindings to C bliencts for relational and nosql databases.

Command Line

GUI Libs

Libraries for working with graphical user interface applications.

Note: You can also find a list of GUI libs on wiki.dlang.org, but not all of the libraries are actively maintained now.

OS

Operating Systems written in D

Game Bindings

Bindings to game development related C libraries.

Game Engine Bindings

Game Frameworks

Games

Internationalization

Video applications

Image Processing

End-user applications

Machine Learning

Parallel computing

Scientific

Scientific programming

Language Processing

Text Processing

Logging

Print with care.

Configuration

Parsing configuration files

Blog Engine

Hosting blogs yourself

Dependency Injection

Apply inversion of control

Other Awesome Lists

Other amazingly awesome lists can be found in the awesome-awesome and awesome-awesomeness projects.