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.
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
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| selinonlib-1.0.0rc1.tar.gz | 66.3 kB | Without provenance | Details for selinonlib-1.0.0rc1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| selinonlib-1.0.0rc1-py3-none-any.whl | Python 3 | none | any | Details for selinonlib-1.0.0rc1-py3-none-any.whl |
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 |
Security for selinonlib 1.0.0rc1
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.