/D_Libraries_Registry

A list of D language libraries for every task

Primary LanguagePython

Note

This project was just a quick draft that I used to understand if there is interest and possibilities for a better reorganization of D libraries. At the moment the project is abandoned while I am working on a dub-registry mirror that implements more features.

D language libraries

I want to build a comprehensive list of D language libraries to be used as a reference.

This collection has the intent to help developers find a suitable library for the work and decrease the amount of effort in writing new software.

For any question or contribution, reache me via github pull requests and issues.

New libraries and corrections

Submissions of new libraries: I accept submissions (as issues or as pull requests). Please note that description and last update is optional (for libraries that are hosted on github) because a script updates it once a day.

Corrections: if information for a library above is wrong, please send a correction as an issue, pull request, or email.

Categories: I am open to discussions on the current categorization method. Reach to me on github.

Quality

This list aims to collect libraries of high quality. Unfortunately I don't have time to test all of them exhaustively.

If any library does not meet expected requirements (bugs, no tests, no documentation, outdated) open an issue

Once a library is removed the name will be moved to removed.md with the hope that they will be corrected by original manteiners or forks.

Other lists

Also you might be interested in other related, but different lists:

  • Awesome D: A curated list of awesome D frameworks, libraries and software. Inspired by awesome-python.||
  • Dub Registry: The package registry used by DUB.||

Categories:

Multi-purpose

library license gc last update description
ae MPL 2 Yes 2017-12-29 D2 library for games, network applications etc.
Dlib Boost No 2018-01-04 Math, XML, I/O streams, image and audio processing for D
iz Boost No 2018-01-04 nogc: streams, containers; rtti: properties, serializer, binder; reasonable and crazy things;
fast GPLv3 No 2017-12-31 A library for D that aims to provide the fastest possible implementation of some every day routines.
mach.d Zlib Yes 2017-10-31 Library for the D programming language.
jive Public Domain No 2017-09-19 Collections library for D with STL-like value-semantics.
kiss Apache 2 No 2017-12-27 A refined core library for D programming language. include aio / timer etc.
Ocean BSD No 2018-01-04 General purpose, platform-dependant, high-performance library for D
phobos Boost Yes 2018-01-04 The standard library of the D programming language
Tango-D2 BSD Yes 2016-04-01 A port of the Tango library to D2
tango-rt BSD No 2018-01-04 Tango D1 runtime library
Tanya MPL 2 No 2018-01-04 GC-free, high-performance D library: Containers, networking, metaprogramming, memory management, utilities
Thrift-d Apache 2 Yes 2017-09-17 Thrift library for the D programming language

frameworks

library license gc last update description
big.d MIT Yes 2017-10-26 MVC Web framework for D
Cmsed MIT Yes 2015-01-23 A component library for Vibe that functions as a CMS.
Diamond MIT Yes 2017-12-22 Diamond is a powerful MVC / Template Framework written in the D Programming Language, inspired by ASP.NET using vibe.d as backend.
hunt Apache 2 Yes 2017-12-08 A high performance full-stack Web framework written in dlang.
Ocean BSL 1 No 2017-12-28 Asynchronous client/node framework library
Orwell proprietary Yes 2017-08-16 A security framework and proxy for analyzing network traffic and web applications.
turtle BSL Yes 2017-12-28 Black box application testing library/framework
orm Apache 2 Yes 2017-12-23 An object-relational mapping (ORM) framework for dlang's database, support PostgreSQL / MySQL / SQLite.
collie Apache 2 Yes 2017-09-13 An asynchronous event-driven network framework written in D.
endovena Boost Yes 2017-09-08 Simple dependency injection framework for D
dich MIT Yes 2017-08-29 Simple dependency injection framework for D. Based on endovena similar work.
poodinis MIT Yes 2018-01-04 A dependency injection framework for D with support for autowiring.
dchem ? Yes 2017-07-25 a chemistry simulation, and electrostatic embedding framework in D
caraus MPL 2 Yes 2017-01-11 Web framework for the D programming language in development
yu Apache 2 Yes 2017-08-16 Dlang‘s Toolkit

AI

library license gc last update description
dcv BSL 1 Yes 2017-12-07 Computer Vision Library for D Programming Language
dnnet Mit Yes 2017-11-05 An artificial neural networks library.
doll Proprietary Yes 2017-10-14 D Optimization Library for Learning
dopt BSD 3 clause Yes 2018-01-02 A numerical optimisation and deep learning framework for D.
neuralnet MIT Yes 2017-05-15 A neural network implemented in D using Back Propagation and Momentum.
vectorflow Apache 2 Yes 2017-11-23 Vectorflow is a minimalist neural network library optimized for sparse data and single machine environments.

argv

library license gc last update description
argsd MIT Yes 2017-12-27 A command line and config file parser for DLang
argon ISC Yes 2017-11-10 A processor for command-line arguments, an alternative to Getopt, written in D
commander.d MIT Yes 2016-04-11 Command-line interfaces in D made easy. Easy command-line parsing based in commander.js.
commando MIT Yes 2017-01-04 A more robust command line argument parser for D.
ctoptions Copyright Yes 2018-01-03 A D Programming Language library for handling a key/value config file format at compile-time.
darg Mit Yes 2017-03-21 Robust command line argument parsing for D.
parseopts Unknown Yes 2017-02-15 Basic command-line options parser written in D

audio

library license GC last update description
Ddsp MIT Yes 2017-12-23 A library for Digital Signal Processing in D with a focus on audio
Dplug Various Yes 2018-01-04 Dplug is a library for creating native audio plugins (VST / AU / AAX) as simply as possible.
dlang-jack BSL 1 Yes 2016-08-11 Idiomatic D API binding for the JACK Audio Connection Kit
DerelictFmod MIT Yes 2017-11-20 Dynamic bindings of the fmod sound library in the D programming language
djack GPLv3 Yes 2014-07-13 D interface for JACK audio server
DerelectBass Boost Yes 2017-06-08 DerelictBASS is a dynamic binding to the audio library BASS.
wasapi Boost Yes 2017-02-10 D bindings of Windows Core Audio interfaces: Core Audio interfaces: MMDevice, WASAPI, EndpointVolume API

compression

library license GC last update description
archive BSL 1 Yes 2017-05-06 An archive library that supports zip, tar, and targz written entirely in D (with underlying gz implementation from zlib).
dcompress Unknown No 2017-06-02 A compression library for D programming language.
lz77text Boost Yes 2016-08-01 implementation of the lz77 compression algorithm with text headers

concurrency

library license GC last update description
cheetah MIT Yes 2017-05-16 A high performance event-based tcp server socket library based on vibe.d
workermanager Unknown Yes 2017-03-31 Multi-thread based asynchronized worker manager
eventcore MIT No 2017-12-20 High performance proactor event loop abstraction library
libasync MIT Yes 2017-12-13 Cross-platform event loop library of asynchronous objects
EventSystem Unlicense Yes 2017-04-11 Tiny event system in D using delegates
eventmanager BSL 1 Yes 2017-06-30 Written for the "D" programming language, this library implements a variant of the pub/sub pattern, using events, an event list and event dispatchers
jin.go Public Domain Yes 2017-01-07 Wait free thread communication
subscribed BSL 1 Yes 2017-07-10 A minimalistic library providing eventing-related structures.

configuration files

library license GC last update description
aedi-property-reader BSL 1 Yes 2017-08-22 Aedi extension, that loads data from multiple sources (environment, xml, json, etc.)
configd BSL 1 Yes 2016-12-08 Key/Value Configuration Library for D
inilike BSL 1 Yes 2017-10-23 D library for parsing .ini-like files used in Freedesktop systems
libconfig-d BSD 3 Yes 2016-10-16 Port of libconfig to the D programming language
onyx-config MIT Yes 2017-12-19 Working with configuration data in run-time (D lang)
runtimer MIT Yes 2016-04-23 Application runtime configuration for applications built in the D programming language.
yamkeys MIT Yes 2016-04-09 A runtime configuration management utility.

crypto

library license GC last update description
botan Unknown/Closed Yes 2017-11-29 Block & stream ciphers, public key crypto, hashing, KDF, MAC, PKCS, TLS, ASN.1, BER/DER, etc.
cryption Apache 2 Yes 2018-01-02 A D Library of encryption, decryption, encode, hash, and message digital signatures.

data structures

library license GC last update description
aammm BSL 1 No 2015-10-11 Associative arrays with manual memory management
ArrayList Public Domain Yes 2017-07-27 A simple array-backed list, written in D.
containers MIT No 2018-01-04 Containers backed by std.experimental.allocator
darray LGPL 3 Yes 2017-09-20 A double ended array for the D Programming Language
Dgraph GPLv3 Yes 2017-03-24 Graph library written in D.
dhtnode MIT No 2018-01-04 Distributed hash-table node
hash MIT Yes 2016-06-07 A Hash datatype for key => value pairs.
JudyD ISC No 2016-07-27 D language bindings for Judy Arrays
memutils MIT No 2017-10-18 Overhead allocators, allocator-aware containers and lifetime management for D objects
mir-algorithm BSL 1 No 2018-01-04 Dlang core library for math, finance and a home for Dlang multidimensional array package - ndslice
std.rcstring Boost No 2016-09-29 A reference counted string implementation for D's build in string construct.
StringBuffer LGPL 3 Yes 2017-05-19 A stack based string buffer that grows into the heap if needed.
vebtree MIT Yes

databases

library license GC last update description
basil GPLv3 Yes 2017-10-07 Textual database builder.
d2sqlite3 BSL 1 Yes 2017-11-25 A small wrapper around SQLite for the D programming language
database Apache 2 Yes 2018-01-04 Database abstraction layer for D programing language, support PostgreSQL / MySQL / SQLite.
db Apache 2 Yes 2017-12-23 Database abstraction layer for D programing language, support PostgreSQL / MySQL / SQLite.
dbal Apache 2 Yes 2017-12-20 Database Abstraction Layer for dlang, can construct SQL statements.
Dvorm MIT Yes 2016-05-12 An orm for D with Vibe support.
entity Apache 2 Yes 2018-01-04 An object-relational mapping (ORM) framework for dlang's database, support PostgreSQL / MySQL / SQLite.
mysql-native Boost Tes 2017-12-15 Native D client driver for MySQL/MariaDB, works with or without Vibe.d
mondo MIT Yes 2017-10-05 D library for MongoDb (over mongo-c-library)
MongoSchemaD MIT Yes 2017-10-04 Support for more structured MongoDB databases
postgres-native MIT Yes 2017-02-01 Native D postgres client library
pgator MIT Yes 2017-12-31 Application server that transforms JSON-RPC and Web REST calls into SQL queries for PostgreSQL
sqlite3-d MIT Yes 2017-06-14 SQLite3 interface for D
sqld MIT Yes 2017-05-04 SQL query construction and relational algebra.
tiny-redis ISC Yes 2017-12-24 Redis driver for D
vibe.d.db.postgresql MIT No 2017-10-06 PostgreSQL support for Vibe.d
UnofficialDerelictSQLite3 BSL 1 Yes 2017-10-15 Dynamic bindings to the SQLite library for the D Programming Language.

debugging

library license GC last update description

files & filenames

library license GC last update description
d-glob BSL 1 Yes 2017-09-28 Search file systems with glob patterns using the D programming language
lnk BSL 1 Yes 2017-02-03 D library for parsing .lnk files
FSWatch BSL 1 Yes 2017-10-21 A cross-platform folder & file watching library using win32, inotify or std.file
proped BSD Yes 2017-08-25 A library for reading properties files
trashcan BSL 1 Yes 2017-03-28 Move files to trash can in D programming language

games

library license GC last update description
dagon BSL 1 Yes 2017-12-07 3D game engine for D
DAllegro Zlib Yes 2016-10-02 D binding to the Allegro5 game development library
dash MIT Yes 2016-02-08 A free and open 3D game engine written in D.
DSFML Zlib Yes 2017-10-24 DSFML is a D binding of SFML
dvpe Unknown Yes 2017-01-12 2D Game Engine for the D Programming Language
GFM Unlicense Yes 2017-12-25 D gamedev toolkit.
orb GPLv3 Yes 2017-08-11 3D-voxel engine
RaiderEngine MIT Yes 2017-12-24 A small game engine.
tharsis.prof ? Yes 2016-11-01 Frame profiler library for game development in D.
unecht MIT Yes 2017-06-11 Game Engine Framework for the D programming language
voxelman BSL 1 Yes 2018-01-01 Plugin-based client-server voxel game engine written in D language

graphics

library license GC last update description
DerelictGL3 Boost Yes 2017-12-04 A dynamic binding to OpenGL for the D Programming Language.
DerelictLibUI MIT Yes 2016-08-01 Dynamic Binding for libui (https://github.com/andlabs/libui) in D
dgfxbase MIT Yes 2017-11-06 OpenGL 4.5 basecode using D language and Derelict
dgui Boost Yes 2017-08-21 D Win32 Graphic Library
dlangui BSL 1 Yes 2017-12-19 Cross Platform GUI for D programming language
dwt EPL Yes 2018-01-04 A library for creating cross-platform GUI applications.
dqml LGPLv3 Yes 2017-07-29 Qt Qml bindings for the D programming language
GtkD LGPLv3 Yes 2018-01-02 GtkD is a D binding and OO wrapper of GTK+
gtkui MIT Yes 2017-10-22 aux lib for using with glade ui builder
glamour MIT Yes 2016-10-05 OpenGL wrapper for the D programming language.
nice-curses BSL Yes 2017-09-25 A ncurses wrapper and an UI library for D programming language
opengl-d Boost Yes 2017-06-05 dynamic & static generated OpenGL bindings for D using ogl_gen
pdcurses-d MIT Yes 2017-09-09 D bindings for pdcurses
poison-ui MIT Yes 2016-12-10 A cross-platform desktop/mobile UI engine written in D using dsfml
QTE5 GPLv3 Yes 2017-12-31 It is wrapper Qt 5 for programming language D. (http://www.dlang.org)
Sciter-Dport MIT Yes 2017-06-12 Port of Sciter headers for the D language
tkd MIT Yes 2017-05-28 GUI toolkit for the D programming language based on Tcl/Tk

hardware

library license GC last update description
nel-d MIT ? 2013-03-07 nel is a compiler for a low-level assembly programming language for developing on the NES hardware.

hashing

library license GC last update description
sha1ct Unlicense Yes 2017-06-14 sha1 hashing & uuid algorithm that works at compile time

images

library license GC last update description
daffodil MIT Yes 2017-04-22 A image processing library for D
img-d MIT Yes 2017-01-13 A set of bindings to manipulate images with the D programming language.
imageformats Boost Yes 2017-10-31 Image loading/saving for D
rip GPLv3 Yes 2017-09-29 Raster and Image Processor

IO

library license GC last update description
io BSL 1 No 2018-01-04 Core I/O functionality
iopipe BSL 1 Yes 2018-01-04 D language library for modular io

logging

library license GC last update description
DLayerLogger GPLv3 Yes 2017-08-06 Layer logger written in D
dlogg MIT Yes 2017-11-10 Logging utilities that aimed to be used in highly loaded applications
gelf BSL 1 Yes 2017-04-21 The Graylog Extended Log Format (GELF) written in D
gelf-d MIT Yes 2017-08-21 Native GELF (Graylog Extended Log Format) protocol for D
log BSL 1 Yes 2017-11-07 Simple Logging for D
logDefer-D ISC Yes 2016-10-19 Log defer inspired logging in D
onyx-log MIT Yes 2017-12-19 The simple, fast, multithreading logging library for D.

math

library license GC last update description
ArithEval GPLv3 No 2017-12-30 A minimal arithmetic expression evaluation library for D
botan-math BSD 2 Yes 2017-10-18 Matrix Math for Botan Crypto
cblas BSL 1 Yes 2017-10-28 D BLAS header. Works with OpenBLAS.
checkedint BSL 1 Yes 2017-04-21 D module that provides safer integer math operations and types
desmath MIT Yes 2016-01-07 math
dstats Various Yes 2017-10-28 A statistics library for D.
gl3n MIT Yes 2017-11-07 OpenGL Maths for D (not glm for D).
linalg MIT Yes 2017-09-02 Linear algebra for D programming language.
lubeck BSL 1 Yes 2017-10-27 High level linear algebra library for Dlang
mir-vectorflow Apache 2 Yes 2017-09-26 Mir implementation: Vectorflow is a minimalist neural network library optimized for sparse data and single machine environments.
numd MIT No 2017-09-16 A simple @nogc matrix math library for the D Programming language.
numir BSL 1 Yes 2017-12-09 numpy-like API wrappers of mir
mir-glas BSL 1 No 2017-12-02 [Experimental] LLVM-accelerated Generic Linear Algebra Subprograms
scid Boost Yes 2017-07-27 Scientific library for the D programming language
vecd GPLv3 Yes 2015-09-05 Vector module expanding the vector extensions of D

network

library license GC last update description
dlang-requests BSL 1 Yes 2017-12-11 dlang http client library inspired by python-requests
libhttp2 MIT Yes 2017-10-18 HTTP/2 library in D, translated from nghttp2
nanomsg-wrapper Boost No 2017-11-14 d-lang bindings for nanomsg
nbuff BSL 1 Yes 2017-10-17 network buffer
netkit Apache 2 Yes 2017-08-19 This library contains tcp / http / http2 / websocket servers and clients.
networkD MIT Yes 2017-10-28 A simple and basic networking library based on std.socket for D Language
requests GPLv3 No 2017-07-31 A lightweight vibe.d (dlang) requestHttp wrapper to execute multiple http requests in parallel

regex

library license GC last update description
pattern MIT Yes 2016-04-10 Templated types for string pattern matching and lexers.

serialization-rpc

library license GC last update description
buffer MIT Yes 2018-01-02 protocol buffer & rpc
cerealed BSD Yes 2017-12-07 Powerful binary serialisation library for D
dproto BSL 1.0 Yes 2017-08-31 D Protocol Buffer mixins to create structures at compile time
hprose MIT Yes 2016-11-14 Hprose for Dlang
experimental.xtml Boost No 2017-07-27 A replacement of Phobos std.xml
msgpack-ll BSL 1 No 2017-04-18 A low level @nogc, nothrow, @safe, pure and betterC compatible msgpack.org[D] library
orange BSL 1 Yes 2017-10-05 A serialization library for the D programming language.
kiss-rpc Apache 2 Yes 2017-11-08 Ultra high performance RPC
viberpc-channel BSL 1 Yes 2017-04-17 A RPC TCP/Noise server and client for vibe.D
xmlrpcc-d Boost Yes 2017-02-23 XML-RPC client for D Programming Language

json

library license GC last update description
asdf BSL 1 Yes 2018-01-03 worlds fastest json parser geared towards processing huge amounts of JSON
fastjwt BSL No 2017-02-24 Fast JSON Web Token Library for Dlang's vibe.d Framework
json.d MIT Yes 2017-12-21 An alternative JSON parser that's designed to be much nicer to work with than std.json
jsonserailized MIT Yes 2017-08-02 JSON serialization library for std_data_json. Easily serialize/deserialize structs and classes to/from a JSONValue.
jsonzer MIT Yes 2017-08-05 D language json serializer
jwt MIT Yes 2017-02-10 A Simple D Implementation of JSON Web Tokens.
jwtd MIT Yes 2017-11-05 D implementation of JSON Web Token.
painlessjson BSL Yes 2016-11-17 D library for converting any custom types to and from JSON the painless way.

parsing

library license GC last update description
infiled LGPL 3 Yes 2017-07-29 a compile time ini file parser and writter generator for D
Slang-D Zlib Yes 2017-08-05 An SDLang (Simple Declarative Language) library for D
D-YAML Boost Yes 2017-10-27 YAML parser and emitter for the D programming language

profiling

library license GC last update description

randomization

library license GC last update description
dxorshift CC0 Yes 2016-05-15 Random number generators from the extended Xorshift family
hap BSL 1 Yes 2017-01-07 An experimental next-generation random number package for D's standard library
mir-random BSL 1 No 2017-12-22 Advanced Random Number Generators

tests

library license GC last update description
checkit MIT Yes 2017-08-01 BDD testing framework for D.
dunit MIT Yes 2016-10-20 Advanced unit testing toolkit for the D programming language
unit-threaded BSD Yes 2017-12-22 Advanced unit test framework for D (includes unittest blocks)

video

library license GC last update description

time-dates

library license GC last update description
dateparser BSL 1 Yes

miscellaneous

library license GC last update description
mir-cpuid BSL 1 No 2017-10-27 CPU Identification Routines
ip2location LGPL 3 Yes 2017-01-05 Use IP2Location geolocation database to lookup for accurate visitor location with D Library. It enables the user to find the country, region, city, coordinates, zip code, time zone, ISP, domain name, connection type, area code, weather, MCC, MNC, mobile brand name, elevation and usage type that any IP address or hostname originates from.
miao.string Boost Yes 2017-03-31 String matching library for Dlang
modbus MIT Yes 2017-12-17 Modbus protocol realization
natcmp BSL 1 Yes 2017-11-03 Human-natural string comparison algorithm
kafka-d MIT Yes 2017-01-10 kafka-d is a D Kafka client that depends on the vibe.d framework.
stringex-d MIT Yes 2017-07-24 Unicode to ASCII transcoder
vibe-aws MIT Yes 2017-01-16 AWS client library for the D programming language, based on the vibe.d framework

Thanks

Thanks to nothings for inspiration.

TODO

  1. Automate some scraping from the DUB registry.
  2. Consider adding a tooling section for utilities that are not libraries but aid the development.