Plugins¶
tangram is designed to be extended with plugins. This modular approach allows you to tailor the system to your specific needs, whether you are working with real-world ADS-B data, simulation outputs, or other data sources.
Plugins are developed as standalone packages, enabling them to be versioned, tested, and distributed independently.
- Backend Plugins are installable Python packages that extend the server's functionality, typically by adding new API endpoints or background data processing services.
- Frontend Plugins are installable NPM packages that add new Vue.js components and widgets to the web interface.
A single Python package can provide both backend and frontend components by bundling the pre-built frontend assets within its wheel distribution. This is the recommended approach for creating a cohesive feature.
Official Plugins as Examples¶
The best way to learn how to build plugins is to study the official ones:
tangram_example: A minimal template demonstrating both backend and frontend plugin structure.tangram_system: A simple plugin that adds a background service.tangram_jet1090: A complex plugin that adds API routes, a background service for real-time data, and a historical trajectory API.tangram_weather: A plugin that adds a new API endpoint for external data.