js.io is a collection of clients written in JavaScript. It simplifies creating rich web applications by providing direct integration with Open protocols. Instead of bridging the server's protocol to HTTP, the protocol processing is done client-side, just like in a desktop application. This reduces development time, increases security (by relying on mature and well-scrutinized protocols), and even helps with performance by taking strain off the server.
MorbidQ is a Twisted-based publish/subscribe messaging server that uses the STOMP protocol. It's intended for development, simple deployments, and bundling (Orbited uses it for easy integration with web application frameworks like Django, Pylons, or Rails). Since it uses the open STOMP protocol, you can easily switch to an full-fledged message queue if you need to scale up or want advanced features.
Orbited provides a pure JavaScript/HTML socket in the browser. It is a web router and firewall that allows you to integrate web applications with arbitrary back-end systems. You can implement any network protocol in the browser--without resorting to plugins. Orbited enables the use of real-time data in web applications for all modern web browsers. Asynchronous IO lets it support tens of thousands of users on a single node, and the share-nothing architecture provides perfect horizontal scalability.
Willow Chat is an out-of-the-box approach to web-based chat. With a bit of JavaScript, developers can put a chat box on any website to allow visitors to chat with each other. Server push technology (Comet) means that messages appear instantaneously, and your server won't be loaded down by constant polling requests. Willow Chat is is part of the Dojo Foundation.
rel. Application developers have grown increasingly reliant on pyevent, which in turn depends on certain C modules. rel emulates pyevent using the fastest methods available, and works completely cross-platform without making Python programmers install a C compiler. The project initially was intended for prototyping and rapid application deployment on an arbitrary system. Since then, rel has corrected certain problems with pyevent 0.3, including GIL integration, that have previously made pyevent almost impossible to use with WSGI, and with threaded applications in general.
dez. An asynchronous architecture is essential for any scalable application. The dez stack supports several levels of HTTP request handling, uniquely providing enough control to run Comet applications. The dez library includes an asynchronous server benchmarking toolset; advanced, inotify-based static caching; XML and JSON stream parsing; Stomp, OP, HTTP, and WebSocket servers; and WebSocketProxy, which enables web application deployment on existing, unmodified TCP servers without straying from the HTML5 spec. In addition, dez offers a highly sophisticated API for implementing custom protocols, as well as a controller class that simplifies the creation of applications that require multiple servers to run in the same process.
chesstools is a library of tools for writing chess AI's, as well as servers, clients, and any other software that requires a chess engine. Speaks proper FEN, SAN, and long algebraic notation. Handles move validation and checkmate/stalemate/repetition/50-move-rule checking. Features server-side timekeeping with optional latency compensation. The compact minimax AI framework utilizes alpha-beta pruning and transposition tables under the hood. This enables the developer to produce a modern custom bot by simply overriding AI.evaluate. Additionally, chesstools.book provides an intuitive interface for building opening book databases for use in conjunction with an ai. For sample code, see MICS and MICC. Tutorials are here.
rafina. In the next few years, we'll see a massive shift from the AJAX web programming model to internet applications that utilize a socket. The rafina project addresses the concerns of this new mode of development with minimal overhead. Version 0.1.0 features raw stream parsing into XML frames and JSON objects; dynamic table sorting and tab completion; and shell-style text field input memory. Web applications can easily use data in multiple notations.