Skip to content
PLynx is a domain agnostic platform for managing reproducible experiments and data-oriented workflows.
JavaScript Python CSS HTML Dockerfile Shell Makefile
Branch: master
Clone or download

Latest commit

khaxis Release/1.0.1 (#30)
* update k8s deployment

* add code of conduct and contributing

* rename directories to CamelCase

* rm API button

* redirect to workflows after login

* different maxTry on logging to default or demo users

* use only visible parameters when linking

* set background to black in preview

* rename backend to api subcommand

* make preview background black

* update editor preview image

* move base classes to a separate submodule

* make lazy plugin manager

* update version

* update version

* redirect to main page

* fix bug with enums

* rm deployment from circleci

* rm unused file
Latest commit 35fb804 Mar 12, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
docker Release/1.0.0 (#27) Mar 3, 2020
docs
kubernetes
plynx
scripts Release/1.0.0 (#27) Mar 3, 2020
ui
.gitignore
.gitmodules remove submoduke Nov 11, 2018
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
Makefile
README.md Release/1.0.0 (#27) Mar 3, 2020
config.yaml Release/1.0.0 (#27) Mar 3, 2020
docker-compose-dev.yml
docker-compose.yml Release/1.0.1 (#30) Mar 12, 2020
setup.cfg ignore ui and build in flake Nov 13, 2018
setup.py Release/1.0.0 (#27) Mar 3, 2020
wsgi.py Release 0.2.9 (#21) Aug 10, 2019

README.md

Plynx

Plynx

Website shields.io Website shields.io Website shields.io

Website and demo: plynx.com.

Docs: docs.

PLynx is a domain agnostic platform for managing reproducible experiments and data-oriented workflows.

Features

Workflow Editor

Interactive User Interface. You can clone successful experiment and reuse it or create one from scratch. PLynx manages history of the experiments and they can be reproduced.

interactive graph editor

Operations editor

Operations can be customized independently from the platform. Users can define their own Operations or reuse existing ones.

online editor

Monitor progress

Track the progress of the experiment. Each of intermediate operations produce results that you can inspect.

monitor progress

Preview the results

View the results right in the browser.

results preview

Scalable architecture

Execution Engine is based on scalable pub/sub model. Each Worker performs their jobs independently from each other and can publish subtasks back to the queue. Executers are plugins themselves and can support multiple scenarios from "compile to binary code" to "deploy and serve" to "run in a cluster using as many distributed workers as possible".

Scalable architecture

Requirements

Plugins work on python3. User Interface is based on React. PLynx is using MongoDB as a primary metadata storage. In order to meet diverse data storage requirements, its own storage plugins to store the artifacts. It supports multiple data storages such as AWS S3, Google Cloud Storage and traditional filesystems.

In order to reduce complexity we recommend to install docker and run make command to start local cluster.

Get started

Usage

Make sure you install docker first. Get started with Docker

tl;dr

git clone https://github.com/plynx-team/plynx.git   # Clone the repo

cd plynx

make up                                         # to start production services

Then go to http://localhost:3001

By default it will start the following services:

  • MongoDB instance
  • PLynx User Interface
  • Backend
  • Several workers

Run make down to stop the services.

Other make commands:

  • make build - build all docker images.
  • make run_tests - build docker images and run the tests.
  • make up - run the services locally.
  • make down - shut down services.
  • make dev - run developer version of PLynx.

Config

Most of the parameters can be set in command line when the services are called. For example:

$ plynx exec --help
usage: -c exec [-h] [-v] -f FILENAME [--storage-prefix STORAGE_PREFIX]

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         Set logging output more verbose
  -f FILENAME, --filename FILENAME
                        Path to file
  --storage-prefix STORAGE_PREFIX
                        Storage prefix

But we recommend to store the config in a separate file.

Plynx config location is can be set in env variable PLYNX_CONFIG_PATH. Default value is ./config.yaml.

External links

You can’t perform that action at this time.