Extending Canopy

Out of the box, Canopy tries to provide as much completeness as possible. However, we don’t presume to know what every user will ever need, or what utility Canopy might have. To this end, Canopy provides a number of ways to allow you to extend and integrate Canopy with other systems and data sources.


Plugin framework

The plugin framework allows users to run code within the Canopy server. This is restricted to “backend” code at the moment, however, plans are underway to enable writing UI plugins for Canopy.

For further information, see Writing plugins.

Canopy API

The Canopy API is implemented in a (mostly) RESTful manner. For general information on REST APIs, see http://www.restapitutorial.com/.

Canopy’s API is based on the Django REST Framework (DRF) solution. Further details about DRF can be found at: http://www.django-rest-framework.org/.

An overview of the main concepts in the Canopy API can be found in the REST API section.

A sample demo API client is available here: demo_api_client.py


We believe that Canopy needs to work within a wider ecosystem of products and services to make sure our users can get full benefits from the solution. Where it makes sense, we will provide integration with third party systems. For further information on existing integrations, see Integrations.