Skip to main content

Plugins

Impact Framework works by executing pipelines of plugins over input data. Those plugins are re-useable units of code that can be thought of as Lego bricks - simple blocks of code that can be assembled into complex workflows.

IF comes bundled with a standard library of builtins that allow you to do basic and/or generic operations over your data. These include simple arithmetic, regrouping data, calculating SCI scores, and running processes in a spawned shell.

Most IF plugins are created and maintained by the community. Anyone can create a plugin and share it so that other iF users can install it and use it in their pipelines.

We provide a website where you can search for plugins:

IF Explorer

You can also add your own plugins to the Explorer using this form.

built-in

IF builtins all come bundled with IF. Below you will find a list of each builtin along with a brief description of its purpose and a link to its README documentation.

  • Time Sync: Takes a heterogeneous set of time series data that might be offset, discontinuous or irregularly spaces and returns time series conforming to a user defined time grid. E.g. a user can define that all sets of observations should start at some global start time, end at some global end time and have a specific temporal resolution.

  • SCI-embodied - Calculates the embodied carbon for a component.

  • SCI: Calculates the software carbon intensity.

  • Shell - A plugin that enables external code in any language to be run in a child process.

  • Sum: a generic arithmetic plugin that allows you to sum any set of input parameters.

  • Multiply: a generic arithmetic plugin that allows you to multiply any set of input parameters.

  • Coefficient: a generic arithmetic plugin that allows you to multiply any input value by a coefficient.

  • Mock Observations: A plugin for mocking observations (inputs) for testing and demo purposes.

  • Subtract: a generic plugin for subtracting one value from another.

  • Divide: A generic plugin for doing arithmetic division of two values.

  • Regex: A generic plugin to match part of one string and extract it into another.

  • Exponent: A generic plugin for raising a value to a power.

  • Interpolation: A generic plugin for interpolating between known points.

  • Copy Param: A generic plugin for copying a parameter to a new element in the input array, optionally deleting the original. Useful as a way to rename parameters.

  • CSV lookup: A generic plugin for querying data from CSV files.

  • Time Converter: A generic plugin for converting time unit of energy value to another time unit.