Datastar Common Lisp SDK

datastar-cl is a Common Lisp SDK for the Datastar Hypermedia Framework. The code is available at the repository.

================================================================

       |             
      / \            DATASTAR HYPERMEDIA FRAMEWORK
     /___\          
    |  D  |          
    | C*L |                '(DATASTAR-CL)    
    |     |                 
   /|  |  |\
  | |_ |__| |              COMMON LISP SDK
  |/  /.\  \|            

================================================================

What is it

It’s a Common Lisp implementation of the Datastar SDK, following the Datastar Architecture Decision Record (ADR) as closely as possible, making the necessary adjustments for Common Lisp.

Focus has been on implementing the core SDK functionality, with additional utilities planned.

Approach

The SDK uses CLOS and is based on a ~sse-generator~ class, that currently has two subclasses:

  1. hunchentoot-sse-generator: used with the Hunchentoot web server.
  2. clack-sse-generator: used with the Clack web application environment.

Both approaches use a stream, although in different ways and initialized differently. For Clack, the work done is at the Lack level, and has been tested with both Hunchentoot and Woo.

Examples

The Data SPICE demo

The Data SPICE demo , which was made with and along the SDK

The test/ directory has some basic examples. Additionally, the following projects use it

The Horizons JPL app is very simple – one single file – and should show the essentials. The Data SPICE application shows SSE streaming.


This document was generated on June 29, 2026 using texi2any.