Perseo Context-Aware CEP

FIWARE Processing, analysis and visualization of context information License: AGPLv3+ Docker Status Support badge
Documentation badge Build Status Status Swagger Validator


Perseo is a Complex Event Processing (CEP) software designed to be fully NGSIv2-compliant. It uses NGSIv2 as the communication protocol for events, and thus, Perseo is able to seamless and jointly work with context brokers such as Orion.

This project is part of FIWARE. You can find more FIWARE components in the FIWARE catalogue.



Perseo is an Esper-based Complex Event Processing (CEP) software supporting the NGSIv2 protocol.

It follows a straightforward idea: listening to events coming from context information to identify patterns described by rules, in order to immediately react upon them by triggering actions.

Perseo Components

By leveraging on the notifications mechanism, clients instruct Orion CB to notify Perseo of the changes in the entities they care about (Event API). Details of this process are explained in the Orion Subscription part of the User Manual. Then, rules to the CORE Rule Engine can be easily managed using the publicly available WireCloud operational dashboard, or making use of any of the REST clients able to programmaticly use the Perseo's Rule API. These rules will identify patterns that will trigger actions with Orion to create or update entities, or with other different components or external systems, such as Web (HTTP), Email (SMTP) or SMS (SMPP) servers.


The instructions to install Perseo can be found in the Installation Guide


Information about how to use Perseo can be found in the User & Programmers Manual


APIs and examples of their usage can be found here


For performing a basic end-to-end test, you can follow the detailed instructions here.

Quality Assurance

This project is part of FIWARE and has been rated as follows:

  • Version Tested:
  • Documentation:
  • Responsiveness:
  • FIWARE Testing:

More Information


Perseo FE is licensed under Affero General Public License (GPL) version 3.

There is absolutely no problem in using a product licensed under AGPL 3.0. Issues with GPL (or AGPL) licenses are mostly related with the fact that different people assign different interpretations on the meaning of the term “derivate work” used in these licenses. Due to this, some people believe that there is a risk in just using software under GPL or AGPL licenses (even without modifying it).

For the avoidance of doubt, the owners of this software licensed under an AGPL 3.0 license
wish to make a clarifying public statement as follows:

Please note that software derived as a result of modifying the source code of this software in order to fix a bug or incorporate enhancements is considered a derivative work of the product. Software that merely uses or aggregates (i.e. links to) an otherwise unmodified version of existing software is not considered a derivative work, and therefore it does not need to be released as under the same license, or even released as open source.