Welcome to Selinonlib’s documentation!

Selinonlib is a library and tool that is used in Selinon - a tool for dynamic data control flow on top of Celery distributed task queue. See Selinon documentation for more info. The project is hosted on GitHub.


This documentation is for developers. If you want to get familiar with Selinon check Selinon documentation first.

Core Selinonlib

selinonlib.builtin_predicate Built-in predicates used as core building blocks to build predicates.
selinonlib.config User configuration.
selinonlib.cache_config Configuration for caching.
selinonlib.edge Edge representation in task/flow dependency graph.
selinonlib.failure_node Failure node handling representation.
selinonlib.failures Task and flow failure handling.
selinonlib.flow A flow representation.
selinonlib.global_config User’s global configuration section parsed from YAML config file.
selinonlib.helpers Selinonlib library helpers.
selinonlib.leaf_predicate Leaf predicate in condition - should always return True/False for the given input.
selinonlib.node Abstract representation of nodes in task/flow dependencies - a node is either a task or a flow.
selinonlib.predicate Predicate interface - predicate for building conditions.
selinonlib.selective_run_function Function that is run on selective flow/task run.
selinonlib.storage Storage configuration and abstraction from YAML config file.
selinonlib.strategy Strategy for scheduling dispatcher - system state sampling.
selinonlib.system Core Selinonlib logic - system representation, parsing and handling actions.
selinonlib.task_class A Python class abstraction.
selinonlib.task A task representation from YAML config file.

Task result and task state caches

selinonlib.caches Implementation of some well-known caches for Selinon.
selinonlib.caches.fifo First-In-First-Out cache implementation.
selinonlib.caches.lifo Last-In-First-Out cache implementation.
selinonlib.caches.lru Least-Recently-Used cache implementation.
selinonlib.caches.mru Most-Recently-Used cache implementation.
selinonlib.caches.rr Random replacement cache implementation.

Built-in predicates

selinonlib.predicates Built-in predicates shipped with Selinon.

Run-time support routines

selinonlib.routines Supporting routines for run time.

CLI simulator implementation


Storage and database adapters

selinonlib.storages Various pre-implemented database adapters for Selinon for storage usage.
selinonlib.storages.in_memory_storage In memory storage implementation.
selinonlib.storages.mongo MongoDB database adapter.
selinonlib.storages.redis Selinon adapter for Redis database.
selinonlib.storages.s3 Selinon adapter for Amazon S3 storage.
selinonlib.storages.sql_storage Selinon SQL Database adapter - PostgreSQL.


selinonlib.migrations Migrations of configuration files.
selinonlib.migrations.migrator Migration of configuration files.
selinonlib.migrations.tainted_flow_strategy Strategies used when migrations are preformed.

Predefined scheduling strategies

selinonlib.strategies Prepared functions for scheduling dispatcher.

Indices and tables

Documentation was automatically generated on 2017-12-09 at 11:37.