neurodata / primitives-interfaces

A mirror of D3M's primitives-interfaces
Apache License 2.0
1 stars 4 forks source link

Python interfaces for TA1 primitives

A collection of Python interfaces for TA1 primitives. They all extend the unified base class exposing a common set of methods. The purposes of non-base interfaces are:

Every working group is invited to create merge requests with interface for their sets of primitives. The idea is that we have a common interfaces in Python so that it is easier to understand how interfaces should work because currently each interface is described in a different way.

Primitives Annotation Schema defines interface_type field. The idea is that each of those values <interface> map to a primitive_interfaces.<interface> Python module, which exposes one abstract class, the interface for that interface.

See supervised_learning.py for an example of an interface.

Installation

You can run

pip install .

in the root directory of this repository to install the primitive_interfaces package.

You can also install from git directly

pip install git+ssh://git@gitlab.datadrivendiscovery.org/d3m/primitive-interfaces.git@unified_interface

Alternatively, you can run

pip install -e .

to install the package in editable mode, which means that you can keep editing your local copy of the source code without the need to reinstall after each edit.

Examples

Examples of primitives using the unified interface can be found in this repository.