Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

a simple tool to visualize, check and generate Python code from a YAML configuration file for Selinon dispatcher for Celery

Project Description

A simple tool to visualize, check dependencies and generate Python code for Selinon. You can find generated Sphinx documentation here. Project is hosted on Github.

Is this project helpful? Send me a simple warm message!

The Idea

A system consists of two main parts: * nodes * directed edges with conditions

A node can produce or accept a message. Each node is uniquely identified by its name which has to be unique in defined system. There are available two main types of nodes: * task * flow

A flow consists of tasks and each flow can be seen as a task (a black box) so flows can be used inside another flows as desired.

Conditions are made of predicates that can be used with logical operators and, or or not. You can run multiple tasks based on conditions or you can inspect multiple results of tasks in order to proceed with computation in the flow.

Cyclic dependencies on tasks and flows are fully supported. See Selinon for more info and examples.

Installation

$ pip3 install selinonlib

FAQ

Why is this tool useful?

See Selinon for usage examples. This tool is intended to automatically generate Python code from a YAML configuration file, perform additional consistency checks or plot flow graphs. It also provides a Selinon user a pack of predefined storage/database adapters and other tools suitable for user-specific Selinon configuration.

Examples:

Plot graphs of flows:

$ selinonlib-cli -vvv plot --nodes-definitions nodes.yml --flow-definitions flow1.yml flow2.yml --format svg --output-dir ./ && xdg-open flow1.svg

Generate Python code configuration for Selinon:

$ selinonlib-cli -vvv inspect --nodes-definitions nodes.yml --flow-definitions flow1.yml flow2.yml --dump out.py && cat out.py
Release History

Release History

This version
History Node

1.0.0rc1

History Node

0.1.0rc9

History Node

0.1.0rc8

History Node

0.1.0rc7

History Node

0.1.0rc6

History Node

0.1.0rc5

History Node

0.1.0rc4

History Node

0.1.0rc3

History Node

0.1.0rc2

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
selinonlib-1.0.0rc1-py3-none-any.whl (115.4 kB) Copy SHA256 Checksum SHA256 py3 Wheel Dec 9, 2017
selinonlib-1.0.0rc1.tar.gz (66.3 kB) Copy SHA256 Checksum SHA256 Source Dec 9, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting