A composable general-purpose D library providing asynchronous networking, UI frameworks, and utility modules.
ae (almost everything) is a general-purpose auxiliary library for the D programming language that provides a comprehensive set of tools for networking, UI development, and data manipulation. It solves the problem of fragmented utility code by offering a cohesive, composable collection of modules that work well together while remaining independently usable.
D developers building networked applications, games, or graphical interfaces who need reliable asynchronous networking, cross-platform UI frameworks, and robust utility functions.
Developers choose ae for its clean composability, comprehensive feature set covering networking to graphics, and proven reliability through use in production projects like DFeed and Digger.
An auxiliary general-purpose D library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a wide range of modules from asynchronous networking to UI frameworks, all designed for composability, as seen in its use for projects like DFeed and Digger.
Includes an event-based networking loop with HTTP, TLS, and IRC support, plus a full Promises/A+ implementation for modern async workflows.
Used in multiple production systems such as community WormNET services and D development tools, demonstrating real-world robustness and maturity.
Offers a 2D game and graphical application framework using SDL and OpenGL, with a working demo in ae.demo.pewpew for practical reference.
Uses commit-based versioning with no stable branches, and breaking changes are frequent and explicitly marked, which can disrupt maintenance and upgrades.
For projects not using Dub, compilation is cumbersome due to multiple entry points and dependencies, requiring recursive compilation or manual configuration as noted in the README.
Relies heavily on DDoc-generated docs and suggests learning from demos or source code, which may slow down onboarding and increase the learning curve.