awesome-practical-cpp
A filtered list of the most practical and recognized C++ frameworks and libraries that are production ready
https://github.com/szdytom/awesome-practical-cpp
Last synced: 4 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++.  
-
Cryptography
- weidai11/cryptopp - Free C++ class library of cryptographic schemes.  
-
Data Visualization
- alandefreitas/matplotplusplus - A C++ Graphics Library for Data Visualization.  
-
GUI
- 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.  
- GNOME/gtkmm - The official C++ interface for the popular GUI library GTK+.  
- ocornut/imgui - Bloat-free Graphical User interface for C++ with minimal dependencies.  
- GNOME/gtkmm - The official C++ interface for the popular GUI library GTK+.  
- ocornut/imgui - Bloat-free Graphical User interface for C++ with minimal dependencies.  
- idea4good/GuiLite - The smallest header-only GUI library(4 KLOC) for all platforms.  
-
Game Utility
- BehaviorTree/BehaviorTree.CPP - Behavior Trees Library in C++.  
- skypjack/entt - Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more.  
- ThePhD/sol2 - a C++ <-> Lua API wrapper with advanced features and top notch performance.  
- raysan5/raylib - A simple and easy-to-use library to enjoy videogames programming.  
- pocketpy/pocketpy - A header-only Python interpreter for game scripting in Modern C++.  
- godotengine/godot - Multi-platform 2D and 3D game engine.  
-
YAML
- jbeder/yaml-cpp - A YAML parser and emitter in C++.  
-
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.  
- David-Haim/concurrencpp - Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all.  
- taskflow/taskflow - A general-purpose parallel and heterogeneous task programming system.  
- max0x7ba/atomic_queue - C++14 multiple-producer-multiple-consumer lock-free queues.  
-
CLI
- p-ranav/argparse - A header-only argument parser for Modern C++.  
- p-ranav/indicators - Activity Indicators for Modern C++.  
-
Database
- google/leveldb - A fast key-value storage library that provides an ordered mapping from string keys to string values.  
- google/leveldb - A fast key-value storage library that provides an ordered mapping from string keys to string values.  
-
Debugging
- sharkdp/dbg-macro - A single-header dbg(…) macro for C++.  
- sharkdp/dbg-macro - A single-header dbg(…) macro for C++.  
-
Formatting
- fmtlib/fmt - A modern formatting library.  
- fmtlib/fmt - A modern formatting library.  
-
Image Processing
- opencv/opencv - Open Source Computer Vision Library.  
- PointCloudLibrary/pcl - A standalone, large scale, open project for 2D/3D image and point cloud processing.  
- opencv/opencv - Open Source Computer Vision Library.  
- PointCloudLibrary/pcl - A standalone, large scale, open project for 2D/3D image and point cloud processing.  
-
Internationalization
- unicode-org/icu - A set of C/C++ libraries providing Unicode and Globalization support.  
- unicode-org/icu - A set of C/C++ libraries providing Unicode and Globalization support.  
-
JSON
- nlohmann/json - JSON for Modern C++.  
- simdjson/simdjson - Parsing gigabytes of JSON per second.  
- nlohmann/json - JSON for Modern C++.  
- simdjson/simdjson - Parsing gigabytes of JSON per second.  
- Tencent/rapidjson - A fast JSON parser/generator for C++ with both SAX/DOM style API.  
- Tencent/rapidjson - A fast JSON parser/generator for C++ with both SAX/DOM style API.  
- bblanchon/ArduinoJson - Simple and efficient JSON library for Arduino and embedded C++.  
- bblanchon/ArduinoJson - Simple and efficient JSON library for Arduino and embedded C++.  
-
Machine Learning
- 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.  
- 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.  
- davisking/dlib - A toolkit for making real world machine learning and data analysis applications in C++.  
- davisking/dlib - A toolkit for making real world machine learning and data analysis applications in C++.  
-
Logging
- gabime/spdlog - Fast C++ logging library.  
-
Math
- dpilger26/NumCpp - C++ implementation of the Python Numpy library .  
- g-truc/glm - OpenGL Mathematics.  
- dpilger26/NumCpp - C++ implementation of the Python Numpy library .  
- g-truc/glm - OpenGL Mathematics.  
- 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.  
- 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.  
-
Networking
- sogou/workflow - C++ Parallel Computing and Asynchronous Networking Framework.  
- 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.  
- 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.  
- uNetworking/uWebSockets - Simple, secure & standards compliant web server for the most demanding of applications.  
- netcan/asyncio - A C++20 library to write concurrent code using the async/await syntax.  
- netcan/asyncio - A C++20 library to write concurrent code using the async/await syntax.  
-
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.  
- 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.  
-
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.  
- 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
- bkaradzic/bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.  
- bkaradzic/bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.  
- libsdl-org/SDL - Simple Directmedia Layer.  
- raysan5/raylib - A simple and easy-to-use library to enjoy videogames programming.  
- SFML/SFML - Simple and Fast Multimedia Library.  
- libsdl-org/SDL - Simple Directmedia Layer.  
-
TUI
- ArthurSonzogni/FTXUI - A simple cross-platform C++ library for terminal based user interfaces.  
- ArthurSonzogni/FTXUI - A simple cross-platform C++ library for terminal based user interfaces.  
-
Unit Testing
- catchorg/Catch2 - A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later.  
- catchorg/Catch2 - A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later.  
-
XML
- leethomason/tinyxml2 - A simple, small, efficient, C++ XML parser that can be easily integrated.  
- leethomason/tinyxml2 - A simple, small, efficient, C++ XML parser that can be easily integrated.  
-
Scripting
- ThePhD/sol2 - a C++ <-> Lua API wrapper with advanced features and top notch performance.  
- pocketpy/pocketpy - A header-only Python interpreter for game scripting in Modern C++.  
- herumi/xbyak - A JIT assembler for x86/x64 architectures supporting MMX, SSE (1-4), AVX (1-2, 512), FPU, APX, and AVX10.2.  
-
Physics
- jrouwe/JoltPhysics - A multi core friendly rigid body physics and collision detection library, written in C++, suitable for games and VR applications.  
- erincatto/Box2D - Box2D is a 2D physics engine for games.  
- erincatto/Box2D - Box2D is a 2D physics engine for games.  
-
Embedded
- idea4good/GuiLite - The smallest header-only GUI library(4 KLOC) for all platforms.  
-
Multimedia
- SFML/SFML - Simple and Fast Multimedia Library.  
Categories
Networking
16
Machine Learning
8
JSON
8
GUI
7
Rendering
6
Math
6
Game Utility
6
Concurrency
6
Serialization
6
Image Processing
4
Physics
3
Scripting
3
TUI
2
Debugging
2
Internationalization
2
XML
2
Reflection
2
Basic Utility
2
Database
2
CLI
2
Formatting
2
Unit Testing
2
Embedded
1
Cryptography
1
Logging
1
Multimedia
1
YAML
1
Data Visualization
1
Sub Categories
Keywords
cpp
38
c-plus-plus
34
header-only
17
cross-platform
14
python
10
http
10
c
10
deep-learning
10
cplusplus
8
serialization
8
json
8
machine-learning
8
gamedev
8
opengl
8
scientific-computing
7
graphics
7
game-development
7
game-engine
7
library
7
computer-vision
6
json-parser
6
http-server
6
iot
6
multithreading
6
embedded
6
framework
6
cpp17
6
gui
5
no-dependencies
5
rpc
4
protobuf
4
multi-threading
4
android
4
ui
4
unicode
4
sdl
4
performance
4
simple
4
cpp11
4
cpp20
4
numpy
4
gpu
4
machine-learning-library
4
neural-network
4
concurrent-programming
4
autograd
4
vulkan
4
simd
4
clang
4
http-client
4