Features¶
Only requires Python 3.9+ (no dependency on Node.js or Webpack)
Uses FastAPI as the web framework
Comes with htmx (client-server interaction), Alpine.js (CSP build, for client interactions), and Socket.io (for streaming functions and realtime updates of the task pane)
Comes with Bootstrap-xlwings, a Bootstrap theme in the Excel look
Runs in an air-gapped environment without access to the Internet or any Microsoft servers
Supports SSO (Single Sign-On) authentication and RBAC (Role-Based Access Control) via Entra ID (previously known as Azure AD) simply by adding the Client and Tenant IDs to the
.env
fileThe task pane is hot-reloaded with every code change during development
Tight security: uses the HTTP response headers recommended by OWASP including the most restrictive CSP header
Supports streaming functions
Supports object handles
Cache busting for static files is automatically done when using the Docker image
The manifest is a template that uses the correct URLs and IDs to prevent name clashing with different environments: it is shown under
/manifest
Development can be done on GitHub Codespaces, saving you from installing Python or mkcert locally
Test coverage (growing…)
xlwings Server is free for non-commercial use.