Awesome Lists

awesome-d

by dlang-community

awesome listDpushed about 2 years ago

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

AI summary

D language toolkit

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

stars
667
forks
77
watching
37
awesome lists
10
entries
252
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/dlang-community/awesome-d/links.svg)](https://awesome.facts.dev/awesome/dlang-community/awesome-d)
HTML
<a href="https://awesome.facts.dev/awesome/dlang-community/awesome-d"><img src="https://awesome.facts.dev/shield/dlang-community/awesome-d/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/dlang-community/awesome-d/links.svg

What's in the list

252 links in 50 sections, with live GitHub stats.activeno commit in 2y

Official Website

Getting Help

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

Events

  • DConf

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

Organizations

  • D Programming Language

    Official Organization, hosts DMD, Phobos and other official tools and libs

  • 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 , 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 . They are also porting their main product-- from C/C++ to D

  • libmir

    D's numeric library development team

  • sociomantic labs

    Berlin 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 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 . Have sponsored the development of , , , , 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

    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

  • 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

Tutorials / Bare metal / kernel development

Blogs

  • blog.dlang.org

    Official blog

  • /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

Package Management

  • code.dlang.org

    Official D library repository. Backed by dub

  • 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

WIP Compilers

  • sdc

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

Dev Tools

  • D-Scanner

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

  • dfmt

    formatter for D source code

Build Tools

  • dub

    De facto official package and build management system for D. Will be included officially soon

  • scons-d

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

  • 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

  • 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 kernel

  • XMake

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

  • 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

    Visual Studio Code extension using serve-d

  • ide-d

    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

  • 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, Parser 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

Javascript

  • higgs

    Higgs JavaScript Virtual Machine, implemented in D

Basic

  • 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

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

GitHub Actions

  • setup-dlang

    Install D compilers & DUB inside GitHub Actions

  • dub-upgrade

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

Testing Frameworks

  • silly

    Better test runner for the D programming language. No nonsense

  • dunit

    Advanced unit testing & mocking toolkit

  • unit-threaded

    Multi-threaded unit test framework

Web Frameworks

  • 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

  • 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

  • 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

  • hunt-gossip

    A Apache V2 gossip protocol implementation for D programming language

  • hunt-cache

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

  • DSSG

    A static site generator with a different approach

Data serialization / Binary Serilization

  • flatbuffers

    D Programming Language implementation of the google flatbuffers library

  • cerealed

    Serialisation library for D

  • dproto

    Google Protocol Buffer support in D

Data serialization / JSON

  • 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

Data serialization / XML

  • orange

    General purpose serializer (currently only supports XML)

  • std.experimental.xml

    Phobos candidate for a XML serialization

  • dom.d

    arsd - an xml/html DOM based on what Javascript provides in browsers

Database clients

  • 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

  • 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

  • mysql-native

    A MySQL client implemented in native D

  • ddb

    Database access for D2. Currently only supports PostgreSQL

  • arsd

    Adam 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

  • ddbc

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

  • hibernated

    HibernateD is an ORM for D (similar to )

  • 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

Command Line

  • hunt-console

    Hunt console creation easier to create powerful command-line applications

  • tilix

    A tiling terminal emulator for Linux using GTK+ 3

  • scriptlike

    Utility library to aid writing script-like programs in D

  • todod

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

  • d-colorize

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

    Part of Adam Ruppe's library supporting cursor and color manipulation on the console

  • 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

  • argsd

    A command line and config file parser for DLang

  • darg

    Robust command line argument parsing for D

  • commandr

    A modern, powerful commmand line argument parser

  • luneta

    A command-line fuzzy finder

  • argparse

    Flexible parser of command line arguments

  • dlog

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

  • gogga

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

GUI Libs

  • DLangUI

    Cross 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

  • 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

  • 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

  • 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 - crossplatform HTML/CSS/script desktop UI toolkit

  • LibUI

    Dynamic Binding for

OS

  • 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

Game Bindings

  • bindbc-loader

    BindBC libraries - compatible, bindings using :

Game Bindings / bindbc-loader

Game Bindings

  • DerelictOrg

    A GitHub organization hosting all Derelict bindings including:

Game Engine Bindings

  • Godot-D

    D language bindings for the Godot Engine's GDNative API

Game Frameworks

  • DGame

    A 2D framework for the D programming Language. see

  • gfm

    D gamedev toolkit

  • Dagon

    3D game engine for D. see

  • Dash

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

  • DSFML

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

  • DAllegro5

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

  • Voxelman

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

  • PolyplexEngine

    libpp is an XNA like framework written in D

  • rengfx

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

Games

Internationalization

  • bindbc-icu

    bindbc bindings for the unicode ICU library

Video applications

  • DerelictGL3

    A dynamic binding to OpenGL for the D Programming Language

Image Processing

  • ArmageddonEngine

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

  • Blogsort

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

  • dlib.image

    image processing (8 and 16 bits per channel, floating point operations, filtering, FFT, HDRI, graphics formats support including JPEG and PNG)

  • color.d

    + , , - basic color struct, HSL functions and reading and writing image files

  • opencvd

    Unofficial OpenCV binding for D

End-user applications

  • Cryptic-Resolver

    Manage cryptic commands' names, acronyms and your own knowledge base (a command line utility)

  • Inochi Creator

    Tool to create and edit Inochi2D puppets

  • Literate

    A literate programming tool for any language

  • onedrive

    #1 Free OneDrive Client for Linux

  • tshare

    fast file sharing from cli, using transfer.sh

Machine Learning

  • vectorflow

    Nexflix's opensource deep learning framework

  • 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

  • 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-algorithm

    N-dimensional arrays (matrixes, tensors), algorithms, general purpose library

  • mir-random

    Advanced Random Number Generators

  • decimals

    Decimal library for D

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

Logging

  • std.experimenatal.logger

    Phobos's upcoming standard logging facility

  • dlogg

    Logging for concurrent applications and daemons with lazy and delayed logging, 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 writter generator for D

Blog Engine

  • mood

    simple vibe.d based blog engine

Dependency Injection

  • Poodinis

    A dependency injection framework for D with support for autowiring

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.