Skip to content

Credits

Tesserae is built on top of generously-licensed open source. If anything here is wrong or someone's missing, please open an issue.

Frontend assets bundled in this repo

Project Used for Version Licence
Phosphor Icons Admin UI iconography (6 weights, regular, bold, fill, duotone, light, thin) 2.x MIT
Chart.js Finance / weather / forecast / stats charts 4.4.0 MIT
widget-bauhaus.css + widget-bauhaus-wx.css Shared widget design system: refined title bars, --c-* semantic tokens, --wx-* decorative tokens for the weather/sky family AGPL-3.0-or-later (this repo)

Bundled fonts

All SIL Open Font License. Used in widgets, themes, and the admin UI; live in plugins/fonts_core/static/.

Font Designer Licence
Anton Vernon Adams OFL
Archivo Omnibus-Type OFL
Archivo Black Omnibus-Type OFL
Archivo Narrow Omnibus-Type OFL
Atkinson Hyperlegible Braille Institute OFL
Bebas Neue Ryoichi Tsunekawa OFL
Bodoni Moda Indestructible Type OFL
Crimson Pro Sebastian Kosch OFL
DM Serif Display Colophon Foundry OFL
IBM Plex Sans / Serif / Mono IBM OFL
Inter Rasmus Andersson OFL
JetBrains Mono JetBrains OFL
Jost Indestructible Type OFL
Lora Cyreal OFL
Manrope Mikhail Sharanda OFL
Outfit Smith OFL
Space Grotesk Florian Karsten OFL
Space Mono Colophon Foundry OFL

Upstream protocols and reference clients

  • TRMNL - the team behind the TRMNL devices and the open BYOS protocol Tesserae's HTTP-pull path implements. Tesserae's trmnl_png renderer, /api/display, /api/setup, and /api/log endpoints exist because TRMNL published a documented protocol you can host yourself. The rotations feature is Tesserae's take on TRMNL's playlists concept.
  • Terminus - TRMNL's Laravel reference BYOS server. I aligned Tesserae's HTTP envelopes
  • access-token flow against Terminus to make sure existing TRMNL clients (firmware, KOReader plugin) drop in without firmware changes.
  • TRMNL BYOS specification - usetrmnl.com's documented protocol that the trmnl_png renderer + /api/display blueprint implement.
  • KOReader trmnl-display plugin - Lua plugin running on jailbroken Kindles that paints frames over the TRMNL BYOS protocol. The Kindle Paperwhite 2 testing on Tesserae's TRMNL HTTP path leans entirely on this work.

Python dependencies

Pip dependencies aren't enumerated here, their licences travel with the wheels and pyproject.toml is the authoritative source. The main ones, for context:

  • Flask, web framework (BSD)
  • Pillow, image rendering pipeline (HPND)
  • paho-mqtt, MQTT client (EPL / EDL)
  • amqtt, embedded broker (MIT)
  • Playwright, headless Chromium for the webpage / screenshot widget (Apache 2.0)
  • waitress - production WSGI server (ZPL)
  • pydantic, schema models (MIT)
  • zeroconf, mDNS advertiser (LGPL 2.1)