Skip to main content

LitePipeline

A lightweight, scalable, distributed pipeline system, based on Python3, tornado, venv-pack, pyinstaller.

All code based on Python3, do not use Python2!

It still under development, so, maybe have some bugs or not stable enough!

You can use LitePipeline with LiteDFS, a distributed file system, based on Python3, tornado, inspired by HDFS.

See LiteDFS at https://github.com/fiefdx/LiteDFS

See more details at https://github.com/fiefdx/LitePipeline

Install

# install from pip
$ pip3 install -U litepipeline
# or install from source code
$ cd ./litepipeline
$ python3 ./setup.py install

# this will install 5 commands: liteconfig, litemanager, litenode, litepipeline, liteviewer
# liteconfig: to generate manager's or node's configuration file
# litemanager: to start LitePipeline manager
# litenode: to start LitePipeline node
# litepipeline: command line tool to communicate with LitePipeline cluster
# liteviewer: the web UI service, for communicate with LitePipeline cluster with web browser.

run

Run Manager

# create manager's data directory
$ mkdir ./manager_data

# generate manager's configuration file
$ cd ./manager_data
# this will generate a configuration.yml file under ./manager_data
$ litemanager -g ./

# run manager
$ litemanager -c ./configuration.yml

# test
$ curl localhost:8000
# return this message
{"message": "LitePipeline manager service"}

Run Node

# create node's data directory
$ mkdir ./node_data

# generate node's configuration file
$ cd ./node_data
# this will generate a configuration.yml file under ./node_data
$ litenode -g ./

# run node
# after start node, node will register to manager, and get a unique node id
$ litenode -c ./configuration.yml

# test
$ curl localhost:8001
# return this message
{"message": "LitePipeline node service"}

Run Viewer

# create viewer's data directory
$ mkdir ./viewer_data

# generate viewer's configuration file
$ cd ./viewer_data
# this will generate a configuration.yml file and other scripts under ./viewer_data
$ liteviewer -g ./

# run viewer
$ liteviewer -c ./configuration.yml

# test
# use web browser open: http://localhost:8088

Use Web Browser Communicate With LitePipeline Cluster

Use web browser open the liteviewer's host & port in it's configuration file

Use Command Line Communicate With LitePipeline Cluster

$ litepipeline localhost:8000 cluster info
# | node_id                              | http_host | http_port | action_slots | app_path                                                 | data_path                     
1 | 32313239-e7ee-4f90-8c05-4e08fb48be70 | 127.0.0.1 | 8001      | 2            | /usr/local/lib/python3.7/dist-packages/litepipeline/node | /home/pi/Develop/litenode/data

# use -h/--help parameter to see help message
$ litepipeline --help
usage: litepipeline [-h] [-W COLUMN_WIDTH] [-v]
                    address
                    {app,app_history,task,cluster,workspace,workflow,work,schedule,service}
                    ...

positional arguments:
  address               manager address, host:port
  {app,app_history,task,cluster,workspace,workflow,work,schedule,service}
                        sub-command help
    app                 operate with app API
    app_history         operate with app_history API
    task                operate with task API
    cluster             operate with cluster API
    workspace           operate with workspace API
    workflow            operate with workflow API
    work                operate with work API
    schedule            operate with schedule API
    service             operate with service API

optional arguments:
  -h, --help            show this help message and exit
  -W COLUMN_WIDTH, --column_width COLUMN_WIDTH
                        column max width
  -v, --version         show program's version number and exit


$ litepipeline localhost:8000 app --help
usage: litepipeline address app [-h]
                                {create,delete,update,list,info,download} ...

positional arguments:
  {create,delete,update,list,info,download}
                        sub-command app help
    create              create application
    delete              delete application
    update              update application
    list                list applications
    info                application's info
    download            download application

optional arguments:
  -h, --help            show this help message and exit


$ litepipeline localhost:8000 task --help
usage: litepipeline address task [-h]
                                 {create,delete,list,info,rerun,recover,stop}
                                 ...

positional arguments:
  {create,delete,list,info,rerun,recover,stop}
                        sub-command task help
    create              create task
    delete              delete task
    list                list tasks
    info                task's info
    rerun               rerun task
    recover             recover task
    stop                stop task

optional arguments:
  -h, --help            show this help message and exit


$ litepipeline localhost:8000 cluster --help
usage: litepipeline address cluster [-h] {info} ...

positional arguments:
  {info}      sub-command cluster help
    info      cluster's info

optional arguments:
  -h, --help  show this help message and exit

Metadata

Release files for litepipeline 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for litepipeline 0.1.5
File Size Uploaded Provenance Actions
litepipeline-0.1.5.tar.gz 1.9 MB Without provenance Details for litepipeline-0.1.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for litepipeline 0.1.5
File Interpreter ABI Platform Actions
litepipeline-0.1.5-py3-none-any.whl Python 3 none any Details for litepipeline-0.1.5-py3-none-any.whl

Total release size: 4.7 MB

Release files / litepipeline-0.1.5.tar.gz

Download URL litepipeline-0.1.5.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
a092881024f0b1a7779a9c338b51432ccbe822b14af10790129247d331a6bf50
BLAKE2b-256 checksum
How to use checksums
771075e16d90a83a92239584ab3e80c29241ece36f6304c53b50f4c6fd0868ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.11

Release files / litepipeline-0.1.5-py3-none-any.whl

Download URL litepipeline-0.1.5-py3-none-any.whl
Size 2.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
007374bd8f74f526ca8de110589e37a03840e4bfdcbe427c5131a2c90b80eb89
BLAKE2b-256 checksum
How to use checksums
90b651f5909f72db881456126d133acf13f860a518dbf32939a1ae473d7cc012
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.11

Security for litepipeline 0.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page