Source code for KRE
Perl JavaScript GAP KRL Java Ruby Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Apache2 Disabled default perl warnings for production, cleaned up some smoke … Jan 19, 2012
Kynetx Removed "die;" that caused whoe enterprise to crash to the ground Oct 5, 2016
Log/Log4perl Fix dev logging; async mode processed event after loghandler Apr 18, 2016
extras fixed Sky to not rely on cookies; fixed Pilot BX; added ability to cr… Dec 28, 2011
lib merging branch that deletes weather and other modules Apr 20, 2016
runtime_test Added module to support generic OAuth 1.0a authentication. Work still… Jul 7, 2011
widgets remove Weather, Location, Facebook, Google modules and dependencies; … Aug 17, 2015
.gitignore Full OAuth flow--needs better HTML templates Dec 17, 2013
ChangeLog added test post to changelog - QWB Mar 4, 2011
INSTALLATION fix ruleset repo bug for dev rules; fix tests May 28, 2015
LICENSE Update Jul 14, 2015
TODO added attr and attrs as synonyms for param and params along with test… Sep 27, 2011 Logging changes May 20, 2013 remove Weather, Location, Facebook, Google modules and dependencies; … Aug 17, 2015

Kinetic Rules Engine (KRE)

The Kinetic Rules Engine (KRE), a open-source, cloud-based rule processing system. All of the properties listed above are present in any KRE system.

KRE is a container for persistent compute objects or picos. Each KRE instance hosts a number of picos.

Picos ececute a rule-based programming langauge called KRL.

  • KRL is a rule-based language.
  • KRL primarily follows an event-based programming model.
  • KRL programs execute with a cloud-based model; there is no way to execute them from the command line.
  • KRL programs are loaded from the cloud using HTTP.
  • KRL programs execute in a system where identity is pervasive; all events are raised on behalf of a specific entity.
  • KRL programs have built-in, entity-specific persistent storage; there is no need for external databases.

The result of these properties is a programming model that more closely resembles programming cloud-based persistent objects.

Project Roadmap


Using the Rules Engine

You can use the rules engine by createing an account on the server that Pico Labs maintains.

Further instructions are available at the Quickstart.

Running the Rules Engine

There is currently no good way for developers to host their own instance of KRE. There is a Docker project in the roadmap that will allow this.


If you'd like to contribute, please contact Phil Windley. Be sure to include your Github account name.

We use HuBoard to organize and track issues. Once you have access to KRE you should be able to use HuBoard to watch issues. Anything in the Ready column should be ready to work. Please assign yourself and move it to the ready column. Do your work in a fork of the project and submit your changes as a pull request.

The following process is recommended:

  1. Fork the project and work on your own repository

  2. Be sure to create tests that show the problem. The KRE test suite is quite good and we rely on it to ensure that changes don't cause existing features to work.

  3. Submit a pull request to this project from your project with the changes.

Your pull request will be more easily integrated if you

  1. include tests

  2. be responsive to questions on the pull request

  3. ensure you aren't duplicating some other work