awesome-d

D language toolkit

A curated collection of resources and tools for the D programming language.

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

GitHub

667 stars
37 watching
77 forks
Language: D
last commit: about 2 years ago
Linked from 10 awesome lists

dlang

Contents / Official Website

dlang.orgOfficial website for D
wiki.dlang.orgOfficial Wiki for D
code.dlang.orgOffical Library/Module Registry for D
Github OrganizationOfficial GitHub organization for D. Repo for all official D tools & code
forum.dlang.orgOfficial forum. Many interesting discussions occurring on a daily basis
blog.dlang.orgOfficial blog
Language SpecificationD programming language specification
Issue trackingOfficial issue tracking/reporting system for D. If you find bugs in the D compiler and/or libraries, please come and report them!

Contents / Getting Help

Official D Forum Learn GroupHighest traffic site for answering D questions
D on Stack OverflowLess traffic than forums but possibly easier to search
D on Rosetta CodeExamples of how to do many basic things in D
D on DiscordAnother very active community for D conversations and question

Contents / People

Walter BrightFather 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, PhDC++ guru. Author of and . 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
Átila Neves

Contents / Events

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

Contents / Organizations

D Programming LanguageOfficial Organization, hosts DMD, Phobos and other official tools and libs
LDC DevelopersLDC releated projects
DerelictOrgA 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 StudiosWe are a group of game developers at Rochester Institute of Technology building games and game tech. Hosts , a 3D game engine written in D, and other related libs
EMSIA Career building company that uses D as their main language. Hosts their opensource projects
infognitionInfognition 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 . They are also porting their main product-- from C/C++ to D
libmirD's numeric library development team
sociomantic labsBerlin based company specializing in real-time bidding for online advertising. Main sponsor of the . Has open-sourced large parts of their codebase as part of the organization
Symmetry InvestmentsSymmetry 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 . Have sponsored the development of , , , , and various other projects
HuntLabsA technology group using DLang. Have pure D language implementation of quickly develop server-side applications and build distributed system services

Contents / Books

TDPLby Andrei Alexandrescu
Programming in DA 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 CookbookA 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
Learning DThis 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 DevelopmentWhether 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

Contents / Tutorials

The Dlang TourAn interactive tutorial for D, inspired by Golang Tour
Programming in DlangAn introductory video series about programming in D
Pragmatic D tutorialThis is a pragmatic introduction to the D Programming Language. by Andreas Zwinkau
D Template Tutorial230about 5 years agoA tutorial dedicated to D Templates. Very good explanation about templates. Has pdf version. by Philippe Sigaud
Component programming in DAn article written by Walter Bright that details how D's functional support leads to a flexible and beautiful component programming style
Component programming with rangesA 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 DA 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 tutorialsOpenGL tutorials in D
Creating a simple JSON serialiser in DD metaprogramming tutorial series
Let's learn D programming Game Dev!A video series on learning game development with D from Ki Rill. also posts other videos related to D programming
DLang YouTube Tutorials from Mike ShahSeries of tutorials covering basic to advanced features of the D programming language and standard library

Contents / Tutorials / Bare metal / kernel development

D Bare boneskernel hello world in D (using GDC compiler)
D barebone with ldc2another kernel hello world in D (using LDC compiler)
XOmB bare bonesan exokernel operating system written in D. ,
Bare Metal ARM Cortex-M GDC Cross Compilerbuilding a bare metal ARM Cortex-M (arm-none-eabi) GDC cross compiler for a Linux host

Contents / Blogs

blog.dlang.orgOfficial blog
/r/d_language on RedditA feed of news and blog posts about D
This week in DA 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 DA repository of co-authored D-specific blogs maintained by Vladimir Panteleev
D IdiomsA great blog for many useful idioms with D programming
GTK-D codingSimple examples of how to use GtkD to build GUI applications
Tasty DA blog about learning the D programming language and various D language trivia

Contents / Articles

Origins of the D programming languageBy Walter Bright, Andrei Alexandrescu, Michael Parker. The history and development of D language
Purity in DAn article that explains the design principles behind D's purity feature
Hidden treasures in the D standard libraryAn article talking about several useful functions and templates in Phobos
Porting D Runtime to ARMA study about porting a minimal D runtime to ARM Cortex-M preprocessors
D is for Data ScienceA great post about how D is suitable for data science, particularly, replacing the role of python scripts for fast prototyping
D Functional Garden

Contents / Package Management

code.dlang.orgOfficial D library repository. Backed by dub
dub677almost 2 years agoOfficial package and build management system for D

Contents / Compilers

dmd2,988almost 2 years agoThe 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++
ldc1,221almost 2 years agoThe 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
gdc356over 7 years agoGNU 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

Contents / WIP Compilers

sdc250almost 2 years agoThe Snazzy D Compiler. Written in D. Grows Smarter every day

Contents / Dev Tools

D-Scanner242over 2 years agoSwiss-army knife for D source code (linting, static analysis, D code parsing, etc.)
dfmt204about 2 years agoformatter for D source code

Contents / Build Tools

dub677almost 2 years agoDe facto official package and build management system for D. Will be included officially soon
scons-dScons has built-in support for building D projects, thanks to Russel Winder
premake2almost 10 years agoPremake has built-in support for D projects
reggae183about 2 years agometa build system in D
Makefile20over 10 years agoMakefile template for D projects
cmake-d66over 3 years agoCMake D Projects
cook225over 3 years agoFast incremental build tool intended for projects in D
buttonA universal build system to build your software at the push of a button
wild6about 10 years agoWild build system, used to build the kernel
XMakeXMake is a crossplatform build system, that incorporated the D language and also has support for DUB repositories
wox0over 3 years agoA highly flexible recipe build system inspired by Make

Contents / IDEs & Editors

Visual D288almost 2 years agoVisual Studio extension for the D programming language
IntelliJ D LanguageSupport for the D programming language within IntelliJ IDEA
DexedIDE for the D programming language, its compilers, tools and libraries
Dutyl79over 6 years agoVim plugin that integrates various D development tools
code-dVisual Studio Code extension using serve-d
ide-dAtom extension for D using serve-d
DCD350about 2 years agoIndependent auto-complete program for the D programming language. Could be used with editors like vim, emacs, sublime text, textadept, and zeus. See
serve-d212almost 2 years agoLanguage Server Protocol (LSP) implementation for D. Adds modern IDE features to any editor with LSP support (VSCode, Atom, Vim/Neovim and others)

Contents / Lexers, Parsers, Parser Generators

libdparse115about 2 years agoA D language lexer and parser, (possibly) future standard D parser/lexer
Martin Nowak's Lexer13over 12 years agoA lexer generator
Mono-D's DParser30over 6 years agoA D parser written in C# and used in Mono-D
Pegged533about 3 years agoA Parsing Expression Grammar (PEG) module written in D
GoldieGoldie Parsing System
ctpg45over 11 years agoCompile-Time Parser (with converter) Generator written in D
dunnart14about 9 years agoLALR(1) Parser Generator written in D

Contents / Preprocesors

warp529almost 5 years agoA fast preprocessor for C and C++ used in Facebook infrastructure. Written by Walter Bright

Contents / Javascript

higgs877over 3 years agoHiggs JavaScript Virtual Machine, implemented in D

Contents / Basic

hunt95over 2 years agoA refined core library for D programming language. The module has concurrency / collection / event / io / logging / text / serialize and more
hunt-time2over 5 years agoA time library and similar to Joda-time and Java.time api
hunt-validation3over 2 years agoA data validation library for DLang based on hunt library

Contents / Containers

EMSI containers111almost 3 years agoContainers that do not use the GC
memutils43over 2 years agoOverhead allocators, allocator-aware containers and lifetime management for D objects
dlib.container217almost 2 years agogeneric data structures (GC-free dynamic and associative arrays and more)
std.rcstring9about 7 years agoA reference counted string implementation for D's build in string construct

Contents / GitHub Actions

setup-dlang46about 2 years agoInstall D compilers & DUB inside GitHub Actions
dub-upgrade1about 3 years agoRun trying to repeat on network failure and using package cache on GitHub Actions

Contents / Testing Frameworks

sillyBetter test runner for the D programming language. No nonsense
dunit62over 6 years agoAdvanced unit testing & mocking toolkit
unit-threaded122about 2 years agoMulti-threaded unit test framework

Contents / Web Frameworks

hunt-net20over 4 years agoHigh-performance network library for D programming language, event-driven asynchonous implemention(IOCP / kqueue / epoll)
hunt-http31over 4 years agoHTTP/1 and HTTP/2 protocol library for D
hunt-stomp0almost 7 years agoSTOMP for websocket protocol library implement in D
libasync147about 2 years agoCross-platform event loop library of asynchronous objects
libhttp235over 3 years agoHTTP/2 library in D, translated from nghttp2
collie60about 8 years agoAn asynchronous event-driven network framework written in dlang, like netty framework in D
dlang-requests155over 2 years agoHTTP client library inspired by python-requests
Handy-Httpd34almost 2 years agoA simple, lightweight, and well-documented HTTP server that lets you bootstrap ideas and have something up and running in minutes
serverino56almost 2 years agoSmall and ready-to-go http server, in D
Hunt Framework299over 2 years agoHunt 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.dAsynchronous I/O Web Framework that doesn’t get in your way, written in D
arsd529almost 2 years agoAdam D. Ruppe's web framework
cmsed18over 11 years agoA component library for Vibe that functions as a CMS
grpc44over 4 years agoGrpc for D programming language, hunt-http library based
kissrpc40over 8 years agoFast and light, flatbuffers based rpc framework
Hprose26almost 10 years agoA very newbility RPC Library for D, and it support 25+ languages now
Apache ThriftA lightweight, language-independent, featureful RPC framework. Thrift provides clean abstractions for data transport, data serialization, code generation, and application level processing
hunt-gossip0over 7 years agoA Apache V2 gossip protocol implementation for D programming language
hunt-cache6over 3 years agoD language universal cache library, using radix, redis and memcached
DSSG20over 3 years agoA static site generator with a different approach

Contents / Data serialization / Binary Serilization

flatbuffers10about 9 years agoD Programming Language implementation of the google flatbuffers library
cerealed92over 3 years agoSerialisation library for D
dproto37over 6 years agoGoogle Protocol Buffer support in D

Contents / Data serialization / JSON

vibe.data.jsonJSON functions in Vibe.d. Currently the best implementation I used
fast.json112over 3 years agoA library for D that aims to provide the fastest possible implementation of some every day routines
std.jsonD's standard library JSON module. Needs refinement
painlessjson24about 7 years agoConvert between D types and std.json
std.data.json25over 2 years agoPhobos candidate for JSON serialization (based on Vibed)
asdf20about 2 years agoCache oriented string based JSON representation for fast read & writes and serialisation

Contents / Data serialization / XML

orange72over 6 years agoGeneral purpose serializer (currently only supports XML)
std.experimental.xml20about 9 years agoPhobos candidate for a XML serialization
dom.d529almost 2 years agoarsd - an xml/html DOM based on what Javascript provides in browsers

Contents / Database clients

hunt-entity57about 4 years agoHunt entity is an object-relational mapping tool for the D programming language. Referring to the design idea of JPA, support PostgreSQL / MySQL / SQLite
hunt-database48almost 3 years agoHunt database abstraction layer for D programing language, support PostgreSQL / MySQL / SQLite
vibe.d1,151almost 2 years agoVibe.d has internal support for Redis and MongoDB, which are very stable. Soon, the database drivers will be separated into independent projects
mysql-native80over 2 years agoA MySQL client implemented in native D
ddb39about 4 years agoDatabase access for D2. Currently only supports PostgreSQL
arsd529almost 2 years agoAdam D. Ruppe's library; in addition to a Web backend, it also has support for database access with database.d, sqlite.d, mysql.d and postgres.d
ddbc77almost 2 years agoDDBC is a DB Connector for D language (similar to JDBC). HibernateD (see below) uses ddbc for database abstraction
hibernated82almost 2 years agoHibernateD is an ORM for D (similar to )
dvorm17over 10 years agoAn ORM for D with Vibe support. Works with vibe.d and mysql-d, giving it the ability to access MongoDB and MySQL
Tiny RedisRedis driver for D. Fast, Simple, Stable. Has no dependencies
libpb6over 3 years agoINteract with a PocketBase database

Contents / Command Line

hunt-console4almost 5 years agoHunt console creation easier to create powerful command-line applications
tilix5,430almost 2 years agoA tiling terminal emulator for Linux using GTK+ 3
scriptlike93over 5 years agoUtility library to aid writing script-like programs in D
todod15over 9 years agoTodod is a command line based todo list manager. It also has support for shell interaction based on
d-colorizeA port of the ruby library . It add some methods to set color, background color and text effect on console easier using ANSI escape sequences
terminal.d529almost 2 years agoPart of Adam Ruppe's library supporting cursor and color manipulation on the console
dexpect13almost 6 years agoA D implementation of the expect framework. Handy for bash emulation
Argon17almost 9 years agoA processor for command-line arguments, an alternative to Getopt, written in D
argsd16about 5 years agoA command line and config file parser for DLang
darg38almost 5 years agoRobust command line argument parsing for D
commandr42about 2 years agoA modern, powerful commmand line argument parser
luneta62about 3 years agoA command-line fuzzy finder
argparseFlexible parser of command line arguments
dlog1over 2 years agoextensible logging framework with message transformation support and custom loggers and contexts
gogga2over 2 years agosimple easy-to-use colorful logger for command-line applications

Contents / GUI Libs

DLangUI820almost 2 years agoCross Platform GUI for D programming language. My personal favorate, because it is written in D(not a binding), and is cross platform. DLangUI also has a good showcase in the IDE
GtkD322about 2 years agoGtkD is a D binding and OO wrapper of GTK+. GtkD is actively maintained and is currently the most stable GUI lib for D
DWT141about 3 years agoA 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
tkD118almost 5 years agoGUI toolkit for the D programming language based on Tcl/Tk
dqml43almost 4 years agoQt Qml bindings for the D programming language
Sciter-Dport34over 9 years agoD bindings for the - crossplatform HTML/CSS/script desktop UI toolkit
LibUI34over 5 years agoDynamic Binding for

Contents / OS

PowerNex492over 7 years agoA kernel written in D
SerpentOSSnek factory ( )
Trinix108almost 5 years agoHybrid operating system for x64 PC written in D
XOmB344over 13 years agoAn exokernel operating system written in D

Contents / Game Bindings

bindbc-loader25over 2 years agoBindBC libraries - compatible, bindings using :

Contents / Game Bindings / bindbc-loader

bindbc-opengl37almost 2 years agoOpenGL -
bindbc-glfw38over 2 years agoGLFW 3 -
bindbc-sdl94almost 2 years agoSDL 2 -
bindbc-sdlgfx1almost 7 years agoSDL2_gfx -
bindbc-sfml12almost 2 years agoSFML 2 -
bindbc-imgui18almost 2 years agoImgui - immediate UI -
bindbc-nuklear43about 3 years agoNuklear - immediate UI -
bindbc-raylib317over 2 years agoraylib3 -
bindbc-bgfx21almost 4 years agobgfx -
bindbc-wgpu26almost 2 years agoWebGPU -
bindbc-zstandard2over 7 years agoZstandard - compression -
bindbc-nng1almost 6 years agonanomsg-next-gen -
bindbc-openal8over 2 years agoOpenAL - audio engine -
bindbc-soloud7over 2 years agoSoLoud - audio engine -
bindbc-kiwi4almost 7 years agoKiWi - widget library -
bindbc-nanovg3over 6 years agoNanoVG - vector drawing engine -
bindbc-blend2d4over 3 years agoBlend2D - 2D Vector Graphics Powered by a JIT Compiler -
bindbc-lua17over 2 years agoLua -
bindbc-jsl2almost 6 years agoJoyShockLibrary -
bindbc-newton8almost 2 years agoNewton Dynamics - physics engine -
bindbc-freeimage7about 3 years agoFreeImage -
bindbc-assimpAssimp5 -
bindbc-freetype16almost 2 years agoFreetype -
bindbc-harfbuzz1almost 2 years agoHarfbuzz - text shaping engine -

Contents / Game Bindings

DerelictOrgA GitHub organization hosting all Derelict bindings including:

Contents / Game Engine Bindings

Godot-D207about 3 years agoD language bindings for the Godot Engine's GDNative API

Contents / Game Frameworks

DGame85almost 7 years agoA 2D framework for the D programming Language. see
gfm3about 2 years agoD gamedev toolkit
Dagon341almost 2 years ago3D game engine for D. see
Dash421almost 6 years agoA free and open 3D game engine written in D. see
DSFML95over 7 years agoA static binding of SFML in a way that makes sense for D. see
DAllegro543almost 2 years agoD binding/wrapper to Allegro 5, a modern game programming library
Voxelman128over 4 years agoPlugin-based client-server voxel game engine written in D language
PolyplexEngine38over 6 years agolibpp is an XNA like framework written in D
rengfx82almost 2 years agolightweight, expressive, extensible 2D/3D game engine

Contents / Games

Spacecraft18over 12 years agoA 3d multiplayer deathmatch space game written in D 2.0
Dtanks11over 10 years agoRobot Tank Battle Game
Electronvolt (formerly Atrium)112almost 2 years agoFPS game with physics based puzzles using OpenGL
Backgammony42over 2 years agoA Backgammon GUI for Linux built with Gtk

Contents / Internationalization

bindbc-icu2about 4 years agobindbc bindings for the unicode ICU library

Contents / Video applications

DerelictGL379over 7 years agoA dynamic binding to OpenGL for the D Programming Language

Contents / Image Processing

ArmageddonEngine170almost 2 years agoVladimir Panteleev's ae library has a package for image processing in functional style, which is described in the article
BlogsortA simple Windows app for viewing photos and preparing them for a blog
dlib.image217almost 2 years agoimage processing (8 and 16 bits per channel, floating point operations, filtering, FFT, HDRI, graphics formats support including JPEG and PNG)
color.d529almost 2 years ago+ , , - basic color struct, HSL functions and reading and writing image files
opencvd23about 5 years agoUnofficial OpenCV binding for D

Contents / End-user applications

Cryptic-ResolverManage cryptic commands' names, acronyms and your own knowledge base (a command line utility)
Inochi Creator888almost 2 years agoTool to create and edit Inochi2D puppets
Literate672about 4 years agoA literate programming tool for any language
onedrive10,262almost 2 years ago#1 Free OneDrive Client for Linux
tshare130almost 3 years agofast file sharing from cli, using transfer.sh

Contents / Machine Learning

vectorflow1,292over 2 years agoNexflix's opensource deep learning framework
bindbc-onnxruntime11over 3 years agobindbc bindings to Microsoft's cross-platform, high performance ML inferencing and training accelerator
grain27over 6 years agoAutograd and GPGPU library for dynamic neural networks in D
tfd32over 5 years agoTensorflow wrapper for D

Contents / Parallel computing

DCompute138over 3 years ago-
DerelictCUDA17over 7 years agoDynamic bindings to the CUDA library for the D Programming Language
DerelictCL7almost 7 years agoDynamic bindings to the OpenCL library for the D Programming Language

Contents / Scientific

scid91over 6 years agoScientific library for the D programming language
dstats26almost 4 years agoA statistics library for D
mir209over 4 years agoSandbox for some mir packages: sparse tensors, Hoffman and others
mir-algorithm209over 4 years agoN-dimensional arrays (matrixes, tensors), algorithms, general purpose library
mir-random32over 4 years agoAdvanced Random Number Generators
decimalsDecimal library for D

Contents / Scientific / Language Processing

bindbc-mecab1about 6 years agobindbc MeCab binding (Part-of-Speech and Morphological Analyzer for Japanese)

Contents / Text Processing

hunt-markdown12over 4 years agoA markdown parsing and rendering library for D programming language. Support commonMark
eBay's TSV utilities1,433about 4 years agoFiltering, statistics, sampling, joins and other operations on TSV files. Very fast, especially good for large datasets

Contents / Logging

std.experimenatal.loggerPhobos's upcoming standard logging facility
dlogg14almost 9 years agoLogging for concurrent applications and daemons with lazy and delayed logging, support

Contents / Configuration

sdlang121over 3 years agoAn SDL (Simple Declarative Language) library for D
D:YAML119about 2 years agoYAML parser and emitter for the D programming language
inifile-D21almost 4 years agoA compile time ini file parser and writter generator for D

Contents / Blog Engine

mood43almost 6 years agosimple vibe.d based blog engine

Contents / Dependency Injection

Poodinis71over 2 years agoA dependency injection framework for D with support for autowiring

Backlinks from these awesome lists:

More related projects: