TensorBoard for the rest of us
A Docker-wrapped REST API that lets any language log to TensorBoard, not just TensorFlow.

What it does
Crayon runs TensorBoard inside a Docker container and exposes a REST API. Your code—Python, Lua, or anything that speaks HTTP—sends scalar data, histograms, and images to port 8889. TensorBoard renders them on port 8888. The server and client can live on different machines, which is handy when your training box lacks a browser.
The interesting bit
The real work isn’t the thin Python/Lua wrappers; it’s the realization that TensorBoard’s value is its UI, not its coupling to TensorFlow. Crayon decouples them. PyTorch and Torch7 users get TensorBoard’s visualization without converting to TF or writing their own web frontend.
Key highlights
- Language-agnostic via REST: Python and Lua clients exist, but the spec is open
- Server ships as a Docker image (
alband/crayon)—one command to run - Supports scalars, histograms, and image logging
- Client and server can run on separate hardware
- PyPI package
pycrayonfor Python 2/3, LuaRocks for Torch
Caveats
- README warns the project is “composed of two parts” but the architecture diagram is absent; you’ll need to infer the data flow from port numbers
- Docker dependency for the server may be overkill for single-machine workflows
- Last Travis badge and commit activity are not visible in the provided sources; the project may be unmaintained
Verdict
Worth a look if you’re running PyTorch or Torch7 and want TensorBoard’s charts without the TensorFlow tax. Skip it if you’re already in the TensorFlow ecosystem or need live, high-frequency logging—the HTTP hop adds latency.