A modern, high-performance HTTP and REST framework for C++ with a clean API.
Pistache is a high-performance HTTP and REST framework written in modern C++17. It enables developers to build fast, scalable web servers and RESTful APIs with a clean and elegant API. The framework handles low-level HTTP details while providing tools for routing, SSL, compression, and cross-platform deployment.
C++ developers building web services, microservices, or REST APIs that require high performance and low latency, particularly in resource-constrained or performance-critical environments.
Developers choose Pistache for its combination of modern C++ design, excellent performance benchmarks, and a pleasant API that reduces boilerplate. It stands out as a pure-C++ solution without external runtime dependencies, offering SSL support, compression, and easy integration with common build systems.
A high-performance REST toolkit written in C++
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Pistache is optimized for speed and efficiency, with a benchmark comparison available showing it competes well against other C++ REST frameworks in demanding server applications.
Built entirely in C++17, it offers type safety and a clean, expressive API that reduces boilerplate code, as emphasized in the README's focus on a pleasant developer experience.
It runs on Linux, macOS, Windows, and BSD systems, with specific build files provided for each platform, ensuring broad deployment options.
Includes SSL support via OpenSSL and content encoding with Brotli, deflate, and Zstandard, enabling secure and efficient data transfer for high-performance services.
The README explicitly states that the HTTP client has issues and is not yet production-ready, making it unreliable for client-side operations in production environments.
The project admits documentation is partial and relies on volunteer contributions, which can hinder learning and debugging, as noted in the documentation section.
With the project not yet at version 1.0, the API and ABI may change, introducing breaking changes and requiring careful version management, as highlighted in the versioning notes.