Giter VIP home page Giter VIP logo

flow's Introduction

flow

short for workflow, which this aims to improve

What is this

flow is just a concept for now and won't be in use for quite some time, but the idea is to essentially create a parent program (i.e. flow) that holds references to and configurations for other programs / scripts. flow would then use the configs to execute these programs. The goal is to have an all inclusive piece of software that holds all of an institution's / individual's procedural programs in one place to run whenever needed.

For example, let's take the datamatrix software written for FLMNH. I would boot up flow, 'create' a new program, enter in the path to the python script, enter in any variables or flags to be passed to the python environment, generate a run config and execute whenever needed. So if my file was called dm_reader.py, the run config would look something like this:

runConfig = {
  commandPrefix: "python3",
  arguments: [{ argType, name, flag, value, description }, { ... }],
  defaultArgs: ["-u"],
  command: "{commandPrefix} {defaults} {program_location} {arguments}",
};

and then translate to a string and look something like this:

python3 -u /path/to/dm_reader.py --arg1 arg1_value

Upon execution, flow would recieve output as it is displayed from the child process (i.e. the program you are now executing) and display it to you live.

Here's a demo of simple python program that loops 3 times, and sleeps in between iterations:

flow demo

Installation

The installation and development usage after cloning is as follows:

$ yarn
$ yarn dev

flow's People

Contributors

aaronleopold avatar dependabot[bot] avatar

Watchers

 avatar  avatar

flow's Issues

rework delete program functionalities

currently it is a reorder-able, droppable list with static delete icons. I think a swipe left gesture to reveal a delete icon looks nicer. This is aesthetic only and is not going to be given precedence.

Add array argument type

Passing an array value to python using this leads to a list where all elements are stringified into one. For example, the following is interpreted by direct CLI versus flow, respectively:

python3 program.py --ranges 1000 1003 2000 2003

CLI: args.ranges = [1000, 1003, 2000, 2003]
flow: args.ranges = ['1000 1003 2000 2003']

Large stdout from child process

I have a suspicion that if the child process' stdout is overly large, the node server handling electron will freeze up. I.e. on the TODO list, make a massively large stdout test to see where and when it breaks

exportable configs

configurations should be exportable and importable, this would require changing every user-input path to be in terms of home directories.

e.g.

/home/aaron/myFolder/myFile should instead be stored as -> HOMEDIR/myFolder/myFile
this would allow another person to then mimic the relative file location on their machine:
/home/person/myFolder/myFile -> HOMEDIR/myFolder/myFile

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.