Simple Plain Xml Parser (spxml) is a simple and plain stream-oriented XML parser that supports pull-model and DOM-model XML parsing. As the user passes it chunks of an XML document, it identifies elements, character data, or other entities and return the appropriate event. Chunks can range from one byte to the whole XML document and can safely be read from pipes. Resulting DOM trees can be read, modified, and saved.
SPHiveDB is a server for SQLite database. It use JSON-RPC over HTTP to expose a network interface to use SQLite database. It supports combining multiple SQLite databases into one file. It also supports the use of multiple files. It is designed for the extreme sharding schema -- one SQLite database per user. It currently implements a C++/Java/Python client API.
SPJson is a simple stream-oriented JSON parser that supports pull-model and DOM-model JSON parsing. As the user passes it chunks of a JSON document, it identifies objects, arrays, or other entities and returns the appropriate event. Chunks can range from one byte to the whole JSON document. Resulting DOM trees can be read, modified, and saved.
spprocpool is a Unix/Linux preforked server library. Several TCP preforked server frameworks are included. The first uses descriptor passing, the second uses a Leader/Follower process pool, and the third uses a combination of a multiprocessing and a multi-threading model. A general-purpose, non-server process pool is included, and it can been used in a multi-threaded environment.
SPServer is a high concurrency C++ server framework library that implements the Half-Sync/Half-Async and the Leader/Follower thread pool patterns. It is based on libevent (Unix/Linux) and IOCP (Win32) in order to utilize the best I/O loop on any platform. It supports SSL for secure transactions. An SSL proxy, sptunnel, is included along with an embedded HTTP server framework, sphttp.