Skip to main content

Django based dynamic state machine system

Project description

Most state machine libraries are “static” and require the flow in the state machine to be definied programmatically. Flowr is designed so that you can build state machine flows and store them in a database. There are two key concepts: rule graphs and state machines. The programmer defines one or more sets of rules that describe the allowed flow between states, the user can then use the GUI tools to construct state machines that follow these rules and store the machines in the database. The state machines can then be instantiated for processing the flow which triggers call-back mechanisms in the rule objects on entering and leaving a state.

Installation

Add ‘flowr’ to your settings.INSTALLED_APPS field.

Run

$ manage.py makemigrations
$ manage.py migrate

Demo Installation

A full django project is included in the repository that is used for testing and can give you a quick idea what flowr is about. The project is available in extras/sample_site

$ cd django-flowr
$ pip install -r requirements.txt
$ cd extras/sample_site
$ pip install -r requirements.txt
$ ./resetdb.sh
$ ./runserver.sh

This will create an sqlite database with some sample rules. Point your browser at http://localhost:8000/admin and login with the username admin and the password admin. Use the django admin screens to view the flows and rules in the system.

Docs

Docs available at: http://django-flowr.readthedocs.org/en/latest/

Project details


Download files

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

Source Distribution

django-flowr-0.2.0.tar.gz (194.8 kB view details)

Uploaded Source

Built Distribution

django_flowr-0.2.0-py3-none-any.whl (199.8 kB view details)

Uploaded Python 3

File details

Details for the file django-flowr-0.2.0.tar.gz.

File metadata

File hashes

Hashes for django-flowr-0.2.0.tar.gz
Algorithm Hash digest
SHA256 87780fe33d272eab31700c43073ad0575729d08d74fc4d6a9079dd37dcc9ae40
MD5 2ba69f7153e9252cfeaec39fb9b7237a
BLAKE2b-256 4613af7cdafc71edc156210c3874a521270504c56f30ece2f37166dffcb8ca70

See more details on using hashes here.

File details

Details for the file django_flowr-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_flowr-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9af5985fa8a74fcc5d9cc85248828db4f712e2186046fd032bf0645148ce4ef8
MD5 0214868f01e9b630857db69d8b4e025f
BLAKE2b-256 6f72fb5d5ddb8d073818916adf6addd1206e7273f647abdc2fb9bea4d154cbda

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page