An open API service indexing awesome lists of open source software.

awesome-practical-cpp

⭐ A choice list of the most practical and recognized C++ frameworks and libraries that are production ready
https://github.com/szdytom/awesome-practical-cpp

Last synced: 18 days ago
JSON representation

Basic Utility

  • facebook/folly - A library of C++17 components designed with practicality and efficiency in mind.
  • microsoft/proxy - Next Generation Polymorphism in C++.
  • ngcpp/proxy - Next Generation Polymorphism in C++.

CLI

Concurrency

  • David-Haim/concurrencpp - Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all.
  • max0x7ba/atomic_queue - C++14 multiple-producer-multiple-consumer lock-free queues.
  • taskflow/taskflow - A general-purpose parallel and heterogeneous task programming system.
  • NVIDIA/stdexec - std::execution, the standard C++ framework for asynchronous and parallel programming.

Cryptography

Database

  • google/leveldb - A fast key-value storage library that provides an ordered mapping from string keys to string values.
  • SRombauts/SQLiteCpp - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper.

Data Visualization

Debugging

Diagnostics

Formatting

Game Utility

GUI

  • idea4good/GuiLite - The smallest header-only GUI library(4 KLOC) for all platforms.
  • GNOME/gtkmm - The official C++ interface for the popular GUI library GTK+.
  • ocornut/imgui - Bloat-free Graphical User interface for C++ with minimal dependencies.
  • mikke89/RmlUi - The HTML/CSS User Interface library evolved.
  • webui-dev/webui - Use any web browser or WebView as GUI, with modern web technologies in the frontend, all in a lightweight portable library.

Image Processing

Internationalization

  • unicode-org/icu - A set of C/C++ libraries providing Unicode and Globalization support.

JSON

Logging

Machine Learning

  • davisking/dlib - A toolkit for making real world machine learning and data analysis applications in C++.
  • flashlight/flashlight - A C++ standalone library for machine learning.
  • mlpack/mlpack - A fast, header-only C++ machine learning library.
  • pytorch/pytorch - The PyTorch C++ frontend is a pure C++ interface to the PyTorch machine learning framework.

Math

  • arrayfire/arrayfire - A general-purpose tensor library that simplifies the software development process for the parallel architectures found in CPUs, GPUs, and other hardware acceleration devices.
  • dpilger26/NumCpp - C++ implementation of the Python Numpy library .
  • g-truc/glm - OpenGL Mathematics.

Networking

  • netcan/asyncio - A C++20 library to write concurrent code using the async/await syntax.
  • boostorg/asio - A cross-platform C++ library for network and low-level I/O programming.
  • boostorg/beast - HTTP and WebSocket built on Boost.Asio in C++11.
  • CrowCpp/Crow - A Fast and Easy to use microframework for the web.
  • libcpr/cpr - C++ Requests: Curl for People, a spiritual port of Python Requests.
  • pocoproject/poco - A Powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.
  • sogou/workflow - C++ Parallel Computing and Asynchronous Networking Framework.
  • uNetworking/uWebSockets - Simple, secure & standards compliant web server for the most demanding of applications.

Parsing

Physics

  • erincatto/Box2D - Box2D is a 2D physics engine for games.
  • jrouwe/JoltPhysics - A multi core friendly rigid body physics and collision detection library, written in C++, suitable for games and VR applications.

Reflection

  • Neargye/magic_enum - Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code.

Rendering

  • raysan5/raylib - A simple and easy-to-use library to enjoy videogames programming.
  • libsdl-org/SDL - Simple Directmedia Layer.
  • SFML/SFML - Simple and Fast Multimedia Library.
  • bkaradzic/bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

Scripting

  • pocketpy/pocketpy - A header-only Python interpreter for game scripting in Modern C++.
  • ThePhD/sol2 - a C++ <-> Lua API wrapper with advanced features and top notch performance.
  • herumi/xbyak - A JIT assembler for x86/x64 architectures supporting MMX, SSE (1-4), AVX (1-2, 512), FPU, APX, and AVX10.2.
  • libriscv/libriscv - a simple, slim and complete sandbox that is highly embeddable and configurable, specializes in low-latency, low-footprint emulation.

Serialization

  • google/flatbuffers - A cross platform serialization library architected for maximum memory efficiency.
  • protocolbuffers/protobuf - A language-neutral, platform-neutral, extensible mechanism for serializing structured data.
  • USCiLab/cereal - A C++11 library for serialization.
  • stephenberry/glaze - Extremely fast, in memory, serialization, reflection, and RPC library for C++. JSON, BEVE, BSON, CBOR, CSV, JSONB, MessagePack, TOML, YAML, EETF.

Testing

  • doctest/doctest - The fastest feature-rich C++11/14/17/20/23 single-header testing framework.

TUI

Unit Testing

  • catchorg/Catch2 - A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later.

XML

YAML