Hey all! I love my Tidbyt and how easy it is to build apps (so much so that my company gifted Tidbyts to the entire team!), but when I tried to realize some of my more advanced app ideas, I started running into the limitations of the official community app server and Pixlet itself.
So I built Pixbyt, a self-hosted Tidbyt app server that has none of these limitations:
- Run Python scripts and packages, not just Starlark applets
- Reach local network resources, not just the public internet
- Work with complex APIs, not just simple REST HTTP requests
- Read local files, like images or JSON
- Organize your source code across multiple modules
Pixbyt’s advanced features are enabled by an unofficial standard library for Pixlet named Pixlib, similar to how Starlib is the unofficial standard library for Starlark. Pixlib comes with functions like file.read
, file.exec
, font.height
, html.unescape
, and html.xpath
, helpful constants like const.WIDTH
, const.HEIGHT
, and const.FPS
, and overloads load
to support local modules.
You can easily try Pixbyt out using GitHub Codespaces, and deploy it on your homelab/NAS using Docker Compose.
Some examples of what I’ve built with it (see links in the README) are crossword
, jeopardy
, and common-misconceptions
(which need to parse HTML), ffmpeg
(which needs to read a local RTSP video stream), plex
(which needs to access a local server), apple-tv
(which needs to access local devices over Bonjour), and parcelapp
(which needs to HTML-decode text).
I’d love to hear your feedback and see what you build with it! Feel free to submit a pull request to add your app to the example gallery in the README.