MCPcopy Index your code
hub / github.com/Screenly/Anthias

github.com/Screenly/Anthias @v2026.07.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2026.07.0 ↗ · + Follow
2,076 symbols 7,663 edges 150 files 816 documented · 39% updated 1d agov2026.07.0 · 2026-07-02★ 3,59838 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Anthias · Open Source Digital Signage Solution for Raspberry Pi and PC

Run Unit Tests CodeQL Run Python Linter

GitHub release (latest by date)

Anthias Logo

:sparkles: About Anthias

Anthias is a digital signage platform for Raspberry Pi devices and PCs. Formerly known as Screenly OSE, it was rebranded to clear up the confusion between Screenly (the paid version) and Anthias. More details can be found in this blog post.

Want to help Anthias thrive? Support us using GitHub Sponsor.

:rocket: Getting Started

See this page for options on how to install Anthias.

:white_check_mark: Compatibility

balenaOS

[!NOTE] See this page for instructions on how to install Anthias on balenaOS. You can either use the images from balenaHub or download the images from the releases.

Raspberry Pi OS

See the supported hardware section on the website for the full list of supported devices.

Generic 64-bit ARM SBCs (best-effort)

The installer recognizes any 64-bit ARM host that isn't a Raspberry Pi as arm64 and runs the same Anthias stack on it — Armbian on Rock Pi, Orange Pi, Banana Pi and similar boards. The dashboard, scheduler, and asset library all work as on a Pi.

Anthias only supports Debian-based Armbian images (Bookworm / Trixie). The installer wires up the Docker apt repository under download.docker.com/linux/debian, so Ubuntu-based Armbian downloads (Jammy / Noble) will fail at the apt update step. Pick the Debian build of the image for your board on the Armbian site.

Things to know before you pick a board:

  • Videos decode in software — fine for casual 720p, stutter-prone at 1080p on slower SoCs, not suitable for 4K. If your content is mostly video, prefer a Pi 4 / 5 or x86.
  • Images and web pages run smoothly across the supported boards.
  • Tested boards: Rock Pi 4, Rock 5, Orange Pi 5, Banana Pi M5. Allwinner H616 / H618 boards (e.g. Orange Pi Zero 3) currently have weaker mainline display support and are best limited to non-video content.
  • The Plymouth boot splash is wired up but typically does not display on non-Pi boards (their U-Boot bootloaders don't hand the kernel an early DRM device for Plymouth to draw to). The kernel boot log scrolls on the screen until the viewer takes over and renders your first asset — functionally fine, just less polished than the Pi or x86 boot.

Per-SoC hardware video decode (Rockchip rkmpp, Allwinner cedrus, Amlogic meson-vdec) is the planned follow-up; see issue #2849.

:star: Star History

Star History Chart

:lady_beetle: Issues and Bugs

[!NOTE] We are still in the process of knocking out some bugs. You can track the known issues here. You can also check the discussions in the Anthias forums.

:zap: Quick Links

Extension points exported contracts — how you extend this code

Window (Interface)
(no doc)
src/anthias_server/app/static/src/home.ts
SliderRefs (Interface)
(no doc)
website/assets/js/slider.ts
AssetEdit (Interface)
(no doc)
src/anthias_server/app/static/src/home.ts
ToastStoreLike (Interface)
(no doc)
src/anthias_server/app/static/src/home.ts
HomeAppData (Interface)
(no doc)
src/anthias_server/app/static/src/home.ts
Window (Interface)
(no doc)
src/anthias_server/app/static/src/vendor.ts

Core symbols most depended-on inside this repo

get
called by 442
src/anthias_server/api/views/v2.py
patch
called by 377
src/anthias_server/api/views/v2.py
post
called by 122
src/anthias_server/api/views/v2.py
open
called by 81
src/anthias_server/app/static/src/vendor.ts
update
called by 45
src/anthias_server/api/views/v2.py
stop
called by 40
src/anthias_viewer/media_player.py
_asset_table_response
called by 34
src/anthias_server/app/views.py
get_instance
called by 31
src/anthias_server/settings.py

Shape

Function 1,550
Method 282
Class 150
Route 84
Interface 10

Languages

Python95%
TypeScript5%

Modules by API surface

tests/test_template_views.py118 symbols
tests/test_viewer.py115 symbols
tests/test_celery_tasks.py108 symbols
tests/test_processing.py95 symbols
tests/test_media_player.py79 symbols
src/anthias_server/api/tests/test_screenly_migration.py74 symbols
tests/test_app.py72 symbols
src/anthias_server/app/static/src/home.ts68 symbols
src/anthias_server/api/views/v2.py48 symbols
tests/test_utils.py44 symbols
tests/test_auth.py42 symbols
src/anthias_viewer/__init__.py42 symbols

Dependencies from manifests, versioned

@fontsource/plus-jakarta-sans5.2.8 · 1×
@fortawesome/fontawesome-free7.2.0 · 1×
@tabler/icons-webfont3.44.0 · 1×
@tailwindcss/cli4.3.2 · 1×
@tailwindcss/forms0.5.11 · 1×
@types/bun1.3.14 · 1×
@types/qrcode1.5.6 · 1×
alpinejs3.15.12 · 1×
flatpickr4.6.13 · 1×
htmx.org2.0.10 · 1×
qrcode1.5.4 · 1×
sass1.101.0 · 1×

For agents

$ claude mcp add Anthias \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact