Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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.

PyPI Current Version PyPI Implementation PyPI Wheel Travis CI Documentation Status GitHub stars GitHub license Twitter

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

Crossroad

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 files for selinonlib 1.0.0rc1

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

Source distribution (sdist)

Source distribution for selinonlib 1.0.0rc1
File Size Uploaded
selinonlib-1.0.0rc1.tar.gz 66.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for selinonlib 1.0.0rc1
File Interpreter ABI Platform
selinonlib-1.0.0rc1-py3-none-any.whl Python 3 none any Details

Total release size: 181.7 kB

Release files / selinonlib-1.0.0rc1.tar.gz

Download URL selinonlib-1.0.0rc1.tar.gz
Size 66.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3b94f2493c9dd0b0d824373e3ef55722eebe3809acf745b89521fdafb13b989e
BLAKE2b-256 checksum
How to use checksums
45be93100771f54bb6d74c74ceab5cbf296a9298051c38a6fc85adabb040f0a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / selinonlib-1.0.0rc1-py3-none-any.whl

Download URL selinonlib-1.0.0rc1-py3-none-any.whl
Size 115.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6dfbb3a1270e63f4e61b1642b21e60b8eebfd7477d40de8667856b9b4440766e
BLAKE2b-256 checksum
How to use checksums
62095cc7600228a9593098546ad0c79da29561f61e93589e428c6c0d680db45d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
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