Learn Protocol implementations

These libraries implement Unpoly's optional server protocol for a specific language or framework, so your backend can inspect and manipulate Unpoly's rendering without handling raw HTTP headers itself.

All of them are optional. See Server protocol for what the protocol does and when your app benefits from it.

Existing implementations

Language Framework Protocol implementation
Elixir Plug (Phoenix, …) ex_unpoly
Groovy Grace (Grails) grace-unpoly
Node.js AdonisJS adonis-unpoly
PHP Middleware (Laravel, Symfony, …) php-unpoly
Python Framework-agnostic (Django, Starlette, …) unpoly
Python Django django-unpoly
Python Django unpoly_django
Ruby Ruby on Rails unpoly-rails
Ruby Roda roda-unpoly
Ruby Rack (Hanami, Padrino, Sinatra) rack-unpoly
Rust Axum unpoly

Adding implementations to the list

If you have discovered a new implementation, please edit this page on GitHub and send a pull request.