Skip to content

ant0ine/ProtoML

 
 

Repository files navigation

ProtoML

What is ProtoML?

An engine to enable easy data analytics. At its base it is a task processing graph exposed through a REST api. At a higher level there is a type system over different types of data which encompasses all data and tasks in the engine. The tasks called transforms are made of a JSON description tied with some execution context. Transforms are chained together and validated according to constraints in the transform and type constraints. Tasks and data can be searched through using elasticsearch. Task execution is handled through Luigi.

ProtoML is still under heavy development stay tuned for our first full release!

Installation

Prerequisites

Install

  • Make sure Luigi's luigid and elasticsearch's elasticsearch commands can be found on the system path
  • Setup a go workspace
  • Then run the following commands to install all needed packages:
    • go get https://github.com/mattbaird/elastigo
    • go get https://github.com/ant0ine/go-json-rest
    • go get https://github.com/ProtoML/ProtoML
    • go get https://github.com/ProtoML/ProtoML-persist
    • go get https://github.com/ProtoML/ProtoML-transforms
    • go get https://github.com/ProtoML/ProtoML-dashboard
  • Be sure to set your $PROTOMLDIR enviroment variable to $GOPATH/src/github.com/ProtoML
  • Make sure $GOPATH/bin is on the system path

Running

ProtoML Server

Create a directory with a protoml configuration file ProtoML.json. See here for an example.

Run ProtoML in the directory.

ProtoML Dashboard

Run ProtoMLDashboard.

About

The core system behind ProtoML.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%