{ "info": { "author": "Fridolin Pokorny", "author_email": "fpokorny@redhat.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: System :: Distributed Computing" ], "description": "Selinonlib\n==========\n\nA simple tool to visualize, check dependencies and generate Python code\nfor `Selinon `__. You can find\ngenerated Sphinx documentation\n`here `__. Project is hosted on\n`Github `__.\n\n|PyPI Current Version| |PyPI Implementation| |PyPI Wheel| |Travis CI|\n|Documentation Status| |GitHub stars| |GitHub license| |Twitter|\n\nIs this project helpful? `Send me a simple warm\nmessage `__!\n\nCrossroad\n---------\n\n- `PyPI `__\n- `Developers documentation `__\n- `Travis CI `__\n\nThe Idea\n--------\n\nA system consists of two main parts: \\* nodes \\* directed edges with\nconditions\n\nA node can produce or accept a message. Each node is uniquely identified\nby its name which has to be unique in defined system. There are\navailable two main types of nodes: \\* task \\* flow\n\nA flow consists of tasks and each flow can be seen as a task (a black\nbox) so flows can be used inside another flows as desired.\n\nConditions are made of predicates that can be used with logical\noperators *and*, *or* or *not*. You can run multiple tasks based on\nconditions or you can inspect multiple results of tasks in order to\nproceed with computation in the flow.\n\nCyclic dependencies on tasks and flows are fully supported. See\n`Selinon `__ for more info and\nexamples.\n\nInstallation\n------------\n\n::\n\n $ pip3 install selinonlib\n\nFAQ\n---\n\nWhy is this tool useful?\n~~~~~~~~~~~~~~~~~~~~~~~~\n\nSee `Selinon `__ for usage examples.\nThis tool is intended to automatically generate Python code from a YAML\nconfiguration file, perform additional consistency checks or plot flow\ngraphs. It also provides a Selinon user a pack of predefined\nstorage/database adapters and other tools suitable for user-specific\nSelinon configuration.\n\nExamples:\n~~~~~~~~~\n\nPlot graphs of flows:\n\n::\n\n $ selinonlib-cli -vvv plot --nodes-definitions nodes.yml --flow-definitions flow1.yml flow2.yml --format svg --output-dir ./ && xdg-open flow1.svg\n\nGenerate Python code configuration for Selinon:\n\n::\n\n $ selinonlib-cli -vvv inspect --nodes-definitions nodes.yml --flow-definitions flow1.yml flow2.yml --dump out.py && cat out.py\n\n.. |PyPI Current Version| image:: https://img.shields.io/pypi/v/selinonlib.svg\n.. |PyPI Implementation| image:: https://img.shields.io/pypi/implementation/selinonlib.svg\n.. |PyPI Wheel| image:: https://img.shields.io/pypi/wheel/selinonlib.svg\n.. |Travis CI| image:: https://travis-ci.org/selinon/selinonlib.svg?branch=master\n.. |Documentation Status| image:: https://readthedocs.org/projects/selinonlib/badge/?version=latest\n.. |GitHub stars| image:: https://img.shields.io/github/stars/selinon/selinonlib.svg\n.. |GitHub license| image:: https://img.shields.io/badge/license-GPLv2-blue.svg\n.. |Twitter| image:: https://img.shields.io/twitter/url/http/github.com/selinon/selinonlib.svg?style=social\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/selinon/selinonlib", "keywords": "node task graph edge celery selinon yaml condition", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "selinonlib", "package_url": "https://pypi.org/project/selinonlib/", "platform": "", "project_url": "https://pypi.org/project/selinonlib/", "project_urls": { "Homepage": "https://github.com/selinon/selinonlib" }, "release_url": "https://pypi.org/project/selinonlib/1.0.0rc1/", "requires_dist": [ "argcomplete", "codegen", "flexmock", "graphviz", "pyyaml", "rainbow-logging-handler", "selinon", "pymongo; extra == 'mongodb'", "SQLAlchemySQLAlchemy-Utils; extra == 'postgresql'", "redis; extra == 'redis'", "boto3; extra == 's3'" ], "requires_python": "", "summary": "a simple tool to visualize, check and generate Python code from a YAML configuration file for Selinon dispatcher for Celery", "version": "1.0.0rc1" }, "last_serial": 3403414, "releases": { "0.1.0rc2": [ { "comment_text": "", "digests": { "md5": "5274ae50be3986fbcb11b8bb9d83f40a", "sha256": "43c83c02d2bf12204adec7ba5bef45d5de49d79b44be83c7e1a945312b8c2e01" }, "downloads": -1, "filename": "selinonlib-0.1.0rc2.tar.gz", "has_sig": false, "md5_digest": "5274ae50be3986fbcb11b8bb9d83f40a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25295, "upload_time": "2016-09-19T07:59:55", "url": "https://files.pythonhosted.org/packages/b1/52/e03fe27c1454b0151c15ee93a4e011b70225624e8f0f8099dc7bb285d56a/selinonlib-0.1.0rc2.tar.gz" } ], "0.1.0rc3": [ { "comment_text": "", "digests": { "md5": "04a0cd2d7996b063c37206d593d766f3", "sha256": "8d38bd442375dd0ddef4717efc27a0b42a4c240052a5f718d48a947309b4230f" }, "downloads": -1, "filename": "selinonlib-0.1.0rc3.tar.gz", "has_sig": false, "md5_digest": "04a0cd2d7996b063c37206d593d766f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25320, "upload_time": "2016-10-03T06:39:17", "url": "https://files.pythonhosted.org/packages/86/b4/d325479e047f4bdddbcb53ddba19303d5908d0a767fea119599b2e633931/selinonlib-0.1.0rc3.tar.gz" } ], "0.1.0rc4": [ { "comment_text": "", "digests": { "md5": "cc460084e85c5ef2bdecf9365c43ff0a", "sha256": "0270d0577321ddc52f417a35a056b2fa78246ccafe6f783102b05b32b6874b85" }, "downloads": -1, "filename": "selinonlib-0.1.0rc4-py3-none-any.whl", "has_sig": false, "md5_digest": "cc460084e85c5ef2bdecf9365c43ff0a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 94508, "upload_time": "2017-05-27T13:00:20", "url": "https://files.pythonhosted.org/packages/f4/29/a33453863a489a5f24352e5e07de55e172466ae0cfb3830a6be4c14c4199/selinonlib-0.1.0rc4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2df19045952798e905a5b532d1ece41c", "sha256": "2db07212b0fb2b5817b38f4fea6c35b91f9be0f75a2e32c203f739312352a47b" }, "downloads": -1, "filename": "selinonlib-0.1.0rc4.tar.gz", "has_sig": false, "md5_digest": "2df19045952798e905a5b532d1ece41c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49228, "upload_time": "2017-05-27T13:00:22", "url": "https://files.pythonhosted.org/packages/b9/f6/7f9419cdecbf3685abcecb51f9575727069c35a72ec275fc2cc47a9ec99b/selinonlib-0.1.0rc4.tar.gz" } ], "0.1.0rc5": [ { "comment_text": "", "digests": { "md5": "c48e9d111547bc68315f23a7d7d1e7d5", "sha256": "aa060c42f73958b381402a4b345f7af334af6d28acc6b4e05999f2ac66b2f74a" }, "downloads": -1, "filename": "selinonlib-0.1.0rc5-py3-none-any.whl", "has_sig": false, "md5_digest": "c48e9d111547bc68315f23a7d7d1e7d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 94449, "upload_time": "2017-08-10T10:59:54", "url": "https://files.pythonhosted.org/packages/f4/77/4ace9eedaf7aac95a99c4e4d0a65def3a4764767924d0ceee41b899e7f8b/selinonlib-0.1.0rc5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "26ebfb58586464898ed035a45bf044a2", "sha256": "8d00e8c76850346eb9c8c77389c82872280e8f3c029b534b371a030b20a99fa7" }, "downloads": -1, "filename": "selinonlib-0.1.0rc5.tar.gz", "has_sig": false, "md5_digest": "26ebfb58586464898ed035a45bf044a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49180, "upload_time": "2017-08-10T10:59:57", "url": "https://files.pythonhosted.org/packages/8f/14/21e3d13b417e58b0217ff60d834d20895d7f7d877d9be8f25744a158c9a8/selinonlib-0.1.0rc5.tar.gz" } ], "0.1.0rc6": [ { "comment_text": "", "digests": { "md5": "2b088e350294b3f8a33dfffb4246ab6c", "sha256": "b7e5e102eadf2608200d6db9c5bafdc7c0547b1830e7adadcbc643905a844727" }, "downloads": -1, "filename": "selinonlib-0.1.0rc6-py3-none-any.whl", "has_sig": false, "md5_digest": "2b088e350294b3f8a33dfffb4246ab6c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 103482, "upload_time": "2017-11-02T14:54:27", "url": "https://files.pythonhosted.org/packages/93/48/db07d5dbd1f96acfa4c628ff8d55c3484e096136aa6954de45d56afbcbc6/selinonlib-0.1.0rc6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05d32107716b734cabb91a40a6ceb050", "sha256": "b498a88ffd9172695608c6b3af7e434dd0cdaa397aff2b9f52f14b42a6fbc31e" }, "downloads": -1, "filename": "selinonlib-0.1.0rc6.tar.gz", "has_sig": false, "md5_digest": "05d32107716b734cabb91a40a6ceb050", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57060, "upload_time": "2017-11-02T14:54:29", "url": "https://files.pythonhosted.org/packages/f8/86/fe1109c249270b0e87cc51e4fe548d90a23d28dd38cc8f55561463a16e10/selinonlib-0.1.0rc6.tar.gz" } ], "0.1.0rc7": [ { "comment_text": "", "digests": { "md5": "650a47456d9473335f647be15863c6a6", "sha256": "b5a2462d2fefe17b92d81183ba361f1cf762e44e07c076dc3a9172402f57579f" }, "downloads": -1, "filename": "selinonlib-0.1.0rc7-py3-none-any.whl", "has_sig": false, "md5_digest": "650a47456d9473335f647be15863c6a6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 110973, "upload_time": "2017-11-27T12:15:19", "url": "https://files.pythonhosted.org/packages/3e/ed/4925827f965a3c6bae1b0c8f065f803892d11eb8c7259fdf29aa7af9f01e/selinonlib-0.1.0rc7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "12227215cfa3f05b0c44b56cadbd71a2", "sha256": "24f00b04cd2204b918187aac90b38fc687130a5e524f44147d4541bc590c1e59" }, "downloads": -1, "filename": "selinonlib-0.1.0rc7.tar.gz", "has_sig": false, "md5_digest": "12227215cfa3f05b0c44b56cadbd71a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62962, "upload_time": "2017-11-27T12:15:22", "url": "https://files.pythonhosted.org/packages/6e/12/86d353068a69c4009f14d0f83e22e794b995fa0fabb914f393897dea04ff/selinonlib-0.1.0rc7.tar.gz" } ], "0.1.0rc8": [ { "comment_text": "", "digests": { "md5": "3abfabdaec6ef467cd045bbec5c5e0c4", "sha256": "315fe7e9202011af67e0e41ef31be689cd74a99061e2b15a158bf148c737a237" }, "downloads": -1, "filename": "selinonlib-0.1.0rc8-py3-none-any.whl", "has_sig": false, "md5_digest": "3abfabdaec6ef467cd045bbec5c5e0c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 110973, "upload_time": "2017-11-27T13:29:26", "url": "https://files.pythonhosted.org/packages/1c/89/74030aa1b89653f10e2f5e33f04021a3cd3b3433bba4735826e3ec82ef7e/selinonlib-0.1.0rc8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2b07a982b65acdd49cb1383b6a741ee", "sha256": "11b2c4179c02061af5848da52f460e382548618175dcba9093d75768dea91cd3" }, "downloads": -1, "filename": "selinonlib-0.1.0rc8.tar.gz", "has_sig": false, "md5_digest": "f2b07a982b65acdd49cb1383b6a741ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62949, "upload_time": "2017-11-27T13:29:28", "url": "https://files.pythonhosted.org/packages/91/74/3a53a0055cbd1527856929f2e5bb305a9b4fecd2b1d2ca666ab5a8294c8e/selinonlib-0.1.0rc8.tar.gz" } ], "0.1.0rc9": [ { "comment_text": "", "digests": { "md5": "d829937c1f19d02bf91a6568cd12d6fd", "sha256": "2ab9bd94ff35122ce7c3aa92df56994421b52a30a17c20ae0dcbc367428a5e23" }, "downloads": -1, "filename": "selinonlib-0.1.0rc9-py3-none-any.whl", "has_sig": false, "md5_digest": "d829937c1f19d02bf91a6568cd12d6fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 111012, "upload_time": "2017-11-27T14:33:53", "url": "https://files.pythonhosted.org/packages/1b/63/09aa8e2b6bc39c174a01d485bdbfe5c253524ca763f816e133cf0eba55c5/selinonlib-0.1.0rc9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a92bd16340c9a2efff4914c188ba317", "sha256": "27a0c0e42c9f69e949bace309f7cda42d8a23dd65ab0e7075d7b294d66f5e596" }, "downloads": -1, "filename": "selinonlib-0.1.0rc9.tar.gz", "has_sig": false, "md5_digest": "7a92bd16340c9a2efff4914c188ba317", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63006, "upload_time": "2017-11-27T14:33:54", "url": "https://files.pythonhosted.org/packages/cd/3c/8c5615fe6287f7124920451c15d308532870b42ea0fdd72639cece6c2e41/selinonlib-0.1.0rc9.tar.gz" } ], "1.0.0rc1": [ { "comment_text": "", "digests": { "md5": "b6064d77f09bb9de735aed9587773b90", "sha256": "6dfbb3a1270e63f4e61b1642b21e60b8eebfd7477d40de8667856b9b4440766e" }, "downloads": -1, "filename": "selinonlib-1.0.0rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "b6064d77f09bb9de735aed9587773b90", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 115429, "upload_time": "2017-12-09T11:15:42", "url": "https://files.pythonhosted.org/packages/62/09/5cc7600228a9593098546ad0c79da29561f61e93589e428c6c0d680db45d/selinonlib-1.0.0rc1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdf1ae7ca67df411a646fd582c25c19c", "sha256": "3b94f2493c9dd0b0d824373e3ef55722eebe3809acf745b89521fdafb13b989e" }, "downloads": -1, "filename": "selinonlib-1.0.0rc1.tar.gz", "has_sig": false, "md5_digest": "cdf1ae7ca67df411a646fd582c25c19c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66268, "upload_time": "2017-12-09T11:15:43", "url": "https://files.pythonhosted.org/packages/45/be/93100771f54bb6d74c74ceab5cbf296a9298051c38a6fc85adabb040f0a7/selinonlib-1.0.0rc1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b6064d77f09bb9de735aed9587773b90", "sha256": "6dfbb3a1270e63f4e61b1642b21e60b8eebfd7477d40de8667856b9b4440766e" }, "downloads": -1, "filename": "selinonlib-1.0.0rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "b6064d77f09bb9de735aed9587773b90", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 115429, "upload_time": "2017-12-09T11:15:42", "url": "https://files.pythonhosted.org/packages/62/09/5cc7600228a9593098546ad0c79da29561f61e93589e428c6c0d680db45d/selinonlib-1.0.0rc1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdf1ae7ca67df411a646fd582c25c19c", "sha256": "3b94f2493c9dd0b0d824373e3ef55722eebe3809acf745b89521fdafb13b989e" }, "downloads": -1, "filename": "selinonlib-1.0.0rc1.tar.gz", "has_sig": false, "md5_digest": "cdf1ae7ca67df411a646fd582c25c19c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66268, "upload_time": "2017-12-09T11:15:43", "url": "https://files.pythonhosted.org/packages/45/be/93100771f54bb6d74c74ceab5cbf296a9298051c38a6fc85adabb040f0a7/selinonlib-1.0.0rc1.tar.gz" } ] }