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 on writing plugins, see: Writing plugins for Canopy.

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 here: Canopy API.

A sample demo API client is available here: Demo API Client.


We believe that Canopy needs to work with 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.