{ "info": { "author": "Jesus Ruiz", "author_email": "jr3791@live.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: C", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries" ], "description": "=============\ndurable_rules\n============= \n\ndurable_rules is a polyglot micro-framework for real-time, consistent and scalable coordination of events. With durable_rules you can track and analyze information about things that happen (events) by combining data from multiple sources to infer more complicated circumstances.\n\nA full forward chaining implementation (A.K.A. Rete) is used to evaluate facts and events in real time. A simple meta-linguistic abstraction lets you define simple and complex rulesets as well as control flow structures such as flowcharts, statecharts, nested statecharts and time driven flows. \n\nThe durable_rules core engine is implemented in C, which enables fast rule evaluation as well as muti-language support. \n\ndurable_rules can be scaled out by offloading state to a data store out of process such as Redis. State offloading is extensible, so you can integrate the data store of your choice. \n\nIn durable_rules V2, less is more: The Rete tree is fully evaluated in C. Thus, the framework is 5x to 10x faster (depending on the scenario) and does not require Redis. The programming model for posting events, asserting and retracting facts is synchronous and does not prescribe any web framework.\n\n**Getting Started**\n\ndurable_rules is simple: to define a rule, all you need to do is describe the event or fact pattern to match (antecedent) and the action to take (consequent). \n\nTo install the framework do: `pip install durable_rules` \n\n::\n\n from durable.lang import *\n\n with ruleset('test'):\n # antecedent\n @when_all(m.subject == 'World')\n def say_hello(c):\n # consequent\n print ('Hello {0}'.format(c.m.subject))\n\n post('test', { 'subject': 'World' })\n\n**Forward Inference**\n\ndurable_rules super-power is the foward-chaining evaluation of rules. In other words, the repeated application of logical modus ponens(https://en.wikipedia.org/wiki/Modus_ponens) to a set of facts or observed events to derive a conclusion. The example below shows a set of rules applied to a small knowledge base (set of facts). \n\n::\n\n from durable.lang import *\n\n with ruleset('animal'):\n @when_all(c.first << (m.predicate == 'eats') & (m.object == 'flies'),\n (m.predicate == 'lives') & (m.object == 'water') & (m.subject == c.first.subject))\n def frog(c):\n c.assert_fact({ 'subject': c.first.subject, 'predicate': 'is', 'object': 'frog' })\n\n @when_all(c.first << (m.predicate == 'eats') & (m.object == 'flies'),\n (m.predicate == 'lives') & (m.object == 'land') & (m.subject == c.first.subject))\n def chameleon(c):\n c.assert_fact({ 'subject': c.first.subject, 'predicate': 'is', 'object': 'chameleon' })\n\n @when_all((m.predicate == 'eats') & (m.object == 'worms'))\n def bird(c):\n c.assert_fact({ 'subject': c.m.subject, 'predicate': 'is', 'object': 'bird' })\n\n @when_all((m.predicate == 'is') & (m.object == 'frog'))\n def green(c):\n c.assert_fact({ 'subject': c.m.subject, 'predicate': 'is', 'object': 'green' })\n\n @when_all((m.predicate == 'is') & (m.object == 'chameleon'))\n def grey(c):\n c.assert_fact({ 'subject': c.m.subject, 'predicate': 'is', 'object': 'grey' })\n\n @when_all((m.predicate == 'is') & (m.object == 'bird'))\n def black(c):\n c.assert_fact({ 'subject': c.m.subject, 'predicate': 'is', 'object': 'black' })\n\n @when_all(+m.subject)\n def output(c):\n print('Fact: {0} {1} {2}'.format(c.m.subject, c.m.predicate, c.m.object))\n\n\n assert_fact('animal', { 'subject': 'Kermit', 'predicate': 'eats', 'object': 'flies' })\n assert_fact('animal', { 'subject': 'Kermit', 'predicate': 'lives', 'object': 'water' })\n assert_fact('animal', { 'subject': 'Greedy', 'predicate': 'eats', 'object': 'flies' })\n assert_fact('animal', { 'subject': 'Greedy', 'predicate': 'lives', 'object': 'land' })\n assert_fact('animal', { 'subject': 'Tweety', 'predicate': 'eats', 'object': 'worms' }) \n\n**Pattern Matching**\n\ndurable_rules provides string pattern matching. Expressions are compiled down to a DFA, guaranteeing linear execution time in the order of single digit nano seconds per character (note: backtracking expressions are not supported). \n\n::\n\n from durable.lang import *\n\n with ruleset('test'):\n @when_all(m.subject.matches('3[47][0-9]{13}'))\n def amex(c):\n print ('Amex detected {0}'.format(c.m.subject))\n\n @when_all(m.subject.matches('4[0-9]{12}([0-9]{3})?'))\n def visa(c):\n print ('Visa detected {0}'.format(c.m.subject))\n\n @when_all(m.subject.matches('(5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|2720)[0-9]{12}'))\n def mastercard(c):\n print ('Mastercard detected {0}'.format(c.m.subject))\n\n assert_fact('test', { 'subject': '375678956789765' })\n assert_fact('test', { 'subject': '4345634566789888' })\n assert_fact('test', { 'subject': '2228345634567898' })\n\n**Business Rules and Miss Manners**\n\ndurable_rules can also be used to solve traditional Production Business Rules problems. This example is an industry benchmark. Miss Manners has decided to throw a party. She wants to seat her guests such that adjacent people are of opposite sex and share at least one hobby. \n\nNote how the benchmark flow structure is defined using a statechart to improve code readability without sacrificing performance nor altering the combinatorics required by the benchmark. For 128 guests, 438 facts, the execution time is 600 ms. \n\nhttps://github.com/jruizgit/rules/blob/master/testpy/manners.py \n\nIMac, 4GHz i7, 32GB 1600MHz DDR3, 1.12 TB Fusion Drive \n\n**Image recognition and Waltzdb**\n\nWaltzdb is a constraint propagation problem for image recognition: given a set of lines in a 2D space, the system needs to interpret the 3D depth of the image. The first part of the algorithm consists of identifying four types of junctions, then labeling the junctions following Huffman-Clowes notation. Pairs of adjacent junctions constraint each other\u2019s edge labeling. So, after choosing the labeling for an initial junction, the second part of the algorithm iterates through the graph, propagating the labeling constraints by removing inconsistent labels. \n\nIn this case too, the benchmark flow structure is defined using a statechart to improve code readability. The benchmark requirements are not altered. The execution time, for the case of 4 regions 654 ms. \n\nhttps://github.com/jruizgit/rules/blob/master/testrb/waltzdb.rb \n\nIMac, 4GHz i7, 32GB 1600MHz DDR3, 1.12 TB Fusion Drive \n\n**Reference Manual:**\n\nhttps://github.com/jruizgit/rules/blob/master/docs/py/reference.md", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jruizgit/rules", "keywords": "rules engine rete forward chaining event stream state machine workflow streaming analytics", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "durable-rules", "package_url": "https://pypi.org/project/durable-rules/", "platform": "", "project_url": "https://pypi.org/project/durable-rules/", "project_urls": { "Homepage": "https://github.com/jruizgit/rules" }, "release_url": "https://pypi.org/project/durable-rules/2.0.28/", "requires_dist": null, "requires_python": "", "summary": "for real time analytics (a Python Rules Engine)", "version": "2.0.28", "yanked": false, "yanked_reason": null }, "last_serial": 7415349, "releases": { "0.31.16": [ { "comment_text": "", "digests": { "md5": "11903e96881a649eb82beca21fc3e0f0", "sha256": "7354a9feb61a22ed72b77225a04d7b0e169b312d17d07002e0b0301023c95819" }, "downloads": -1, "filename": "durable_rules-0.31.16-py2.7-macosx-10.5-x86_64.egg", "has_sig": false, "md5_digest": "11903e96881a649eb82beca21fc3e0f0", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 74971, "upload_time": "2017-08-22T04:22:15", "upload_time_iso_8601": "2017-08-22T04:22:15.302663Z", "url": "https://files.pythonhosted.org/packages/49/de/e5bf7bf09a4419742c9b64240cf7fbc94b1f45c995c8fa0b9f98816d67c0/durable_rules-0.31.16-py2.7-macosx-10.5-x86_64.egg", "yanked": false, "yanked_reason": null } ], "0.31.23": [ { "comment_text": "", "digests": { "md5": "ce93b07a410115cddfeca5bccda3d00a", "sha256": "ac048bffb9a7b4f58a012139f24ab16db8926c8a602acb147f077c328505ef40" }, "downloads": -1, "filename": "durable_rules-0.31.23-py2.7-macosx-10.5-x86_64.egg", "has_sig": false, "md5_digest": "ce93b07a410115cddfeca5bccda3d00a", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 83083, "upload_time": "2017-08-22T04:22:16", "upload_time_iso_8601": "2017-08-22T04:22:16.957427Z", "url": "https://files.pythonhosted.org/packages/8d/8f/44cf9413f0b4e822444d04764349b3841d403989d6aa0269c4ef622b1b58/durable_rules-0.31.23-py2.7-macosx-10.5-x86_64.egg", "yanked": false, "yanked_reason": null } ], "0.32.6": [ { "comment_text": "", "digests": { "md5": "19506bd3cefb0f7700f367a1817daf16", "sha256": "4e6a19a7b49b0a6fb27d8d8e2d087da40cf6fe9ebaab531d2802b09d58725130" }, "downloads": -1, "filename": "durable_rules-0.32.6-py2.7-macosx-10.5-x86_64.egg", "has_sig": false, "md5_digest": "19506bd3cefb0f7700f367a1817daf16", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 84348, "upload_time": "2017-08-22T04:22:18", "upload_time_iso_8601": "2017-08-22T04:22:18.441404Z", "url": "https://files.pythonhosted.org/packages/e8/44/e70ef6b6f8fb206d4a1e5e43b18191ddc47aef6be3e358ff1819334c4dc9/durable_rules-0.32.6-py2.7-macosx-10.5-x86_64.egg", "yanked": false, "yanked_reason": null } ], "0.33.100": [ { "comment_text": "", "digests": { "md5": "b5a9a7cfdf9540f1e5ceafcb0fa1062c", "sha256": "0c022a257bc3c85c29f277a002e9b637a1b14c9f8cfb15f907ae252e953eda8a" }, "downloads": -1, "filename": "durable_rules-0.33.100.tar.gz", "has_sig": false, "md5_digest": "b5a9a7cfdf9540f1e5ceafcb0fa1062c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 180431, "upload_time": "2017-04-30T02:26:21", "upload_time_iso_8601": "2017-04-30T02:26:21.351739Z", "url": "https://files.pythonhosted.org/packages/2b/24/216490463d15fcc0c6bb24bb2172fcdc8631ec49cb2e6d85e8de75173c32/durable_rules-0.33.100.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.101": [ { "comment_text": "", "digests": { "md5": "cb0c24149ccc54545ac58c4ff4d5d195", "sha256": "718be4a65f93c4768f5f21c2897a456746c4b12ae53122d9a1599c0d75dd2249" }, "downloads": -1, "filename": "durable_rules-0.33.101.tar.gz", "has_sig": false, "md5_digest": "cb0c24149ccc54545ac58c4ff4d5d195", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 180438, "upload_time": "2017-04-30T17:07:41", "upload_time_iso_8601": "2017-04-30T17:07:41.730092Z", "url": "https://files.pythonhosted.org/packages/dc/42/a6c06b8ef34eb9e4bb58ed43e7bc87d4020e80600654637e9b69774df056/durable_rules-0.33.101.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.102": [ { "comment_text": "", "digests": { "md5": "d2bbbc0dfc37af03ca0f0e6f824c3266", "sha256": "d4dbd31c0d60d0d38a1ceddd0b0e0114cf1ae31673ee7bdf5c34ea1635dfb8a3" }, "downloads": -1, "filename": "durable_rules-0.33.102.tar.gz", "has_sig": false, "md5_digest": "d2bbbc0dfc37af03ca0f0e6f824c3266", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 180781, "upload_time": "2017-05-07T22:57:30", "upload_time_iso_8601": "2017-05-07T22:57:30.075946Z", "url": "https://files.pythonhosted.org/packages/3f/dd/36b9ec25fcc9a0e622357305544c244b51e0dee43fa1fcaef789ccbc9078/durable_rules-0.33.102.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.103": [ { "comment_text": "", "digests": { "md5": "ffb1f2d8b38f4c7a41ced47d7e0906cb", "sha256": "67e0dfaa3f495b60e3232c70ea50a13d6a2db447afb294484cf1f1780a64bb27" }, "downloads": -1, "filename": "durable_rules-0.33.103.tar.gz", "has_sig": false, "md5_digest": "ffb1f2d8b38f4c7a41ced47d7e0906cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 180768, "upload_time": "2017-05-08T00:00:23", "upload_time_iso_8601": "2017-05-08T00:00:23.193352Z", "url": "https://files.pythonhosted.org/packages/33/94/1da80f6fd8bc2a63d19a1b3af521f1957f2164c95d826e21657fd322cba7/durable_rules-0.33.103.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.104": [ { "comment_text": "", "digests": { "md5": "26c816bd78a0d58e8447b8301d055c3e", "sha256": "947555479e61a2b8ee0f1068185410a8d984dda3ac841ca90502f7878141b06b" }, "downloads": -1, "filename": "durable_rules-0.33.104.tar.gz", "has_sig": false, "md5_digest": "26c816bd78a0d58e8447b8301d055c3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 180791, "upload_time": "2017-05-13T15:57:40", "upload_time_iso_8601": "2017-05-13T15:57:40.384660Z", "url": "https://files.pythonhosted.org/packages/27/74/f66994a55092f754c5967cab294e2db09e5b6a38c5feebda39378f77365f/durable_rules-0.33.104.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.106": [ { "comment_text": "", "digests": { "md5": "192c13151f13d7a23dfa375ce0573312", "sha256": "93d24284bc16b673783e795a43150534e6399b8b4a4f5b6e2d8d86f5dda8aaff" }, "downloads": -1, "filename": "durable_rules-0.33.106.tar.gz", "has_sig": false, "md5_digest": "192c13151f13d7a23dfa375ce0573312", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 180827, "upload_time": "2017-05-27T16:46:41", "upload_time_iso_8601": "2017-05-27T16:46:41.468483Z", "url": "https://files.pythonhosted.org/packages/c2/a2/a16547faea859e737595b04f68be406700df0a70ebed6a3d7790c164f8c2/durable_rules-0.33.106.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.107": [ { "comment_text": "", "digests": { "md5": "154f92813646c4629b5e34d975f8172e", "sha256": "0b78758fea80cc393623822fa81206a7e871c726ec6a37eff39bde77e7411f07" }, "downloads": -1, "filename": "durable_rules-0.33.107.tar.gz", "has_sig": false, "md5_digest": "154f92813646c4629b5e34d975f8172e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 181418, "upload_time": "2017-05-28T18:29:56", "upload_time_iso_8601": "2017-05-28T18:29:56.845182Z", "url": "https://files.pythonhosted.org/packages/89/38/18a32fe56673052df3c631673b0cac11361f84ebee40466e9204a1f9640d/durable_rules-0.33.107.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.108": [ { "comment_text": "", "digests": { "md5": "4f658dfc306338be0a80a39acd72b4fc", "sha256": "47aa4628c6d77f0c97abad0bb8bc87f96911a2f5801541deb14e6e69855656db" }, "downloads": -1, "filename": "durable_rules-0.33.108.tar.gz", "has_sig": false, "md5_digest": "4f658dfc306338be0a80a39acd72b4fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 181990, "upload_time": "2017-06-05T05:40:25", "upload_time_iso_8601": "2017-06-05T05:40:25.221319Z", "url": "https://files.pythonhosted.org/packages/5f/0c/b129e89a0df3e53c7c91354ffc07c6c3664a94f0d7c42577d94a91d8e769/durable_rules-0.33.108.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.109": [ { "comment_text": "", "digests": { "md5": "3e873917b5c5918f5b7048583bc91020", "sha256": "2da8473ad189f2944edac49645c80d983c187ada772ca1a1200f20ebbced72c3" }, "downloads": -1, "filename": "durable_rules-0.33.109.tar.gz", "has_sig": false, "md5_digest": "3e873917b5c5918f5b7048583bc91020", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 182030, "upload_time": "2017-06-10T15:45:18", "upload_time_iso_8601": "2017-06-10T15:45:18.774507Z", "url": "https://files.pythonhosted.org/packages/25/61/49fda5530014809ba8e9b45b9ab0ddd288007e31e19c8b7ace7206e403a3/durable_rules-0.33.109.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.110": [ { "comment_text": "", "digests": { "md5": "b482884bfd53a31782d6a770b953bb6f", "sha256": "eef65db6d96dda1de939f725884b32feb714d1fde337eab80d9c4b80567b283a" }, "downloads": -1, "filename": "durable_rules-0.33.110.tar.gz", "has_sig": false, "md5_digest": "b482884bfd53a31782d6a770b953bb6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 182024, "upload_time": "2017-06-12T02:27:52", "upload_time_iso_8601": "2017-06-12T02:27:52.191133Z", "url": "https://files.pythonhosted.org/packages/38/6d/b28acca63c5d30f8dfbcf8d536a7f26cfe3ef2f16f6778f687eb2087239c/durable_rules-0.33.110.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.111": [ { "comment_text": "", "digests": { "md5": "d069523f2e58421401b965f86213843a", "sha256": "d0a0addbee7c2b1e30c3ecfa11e4e6c9d83337d4e379b91832a139ce99ab106b" }, "downloads": -1, "filename": "durable_rules-0.33.111.tar.gz", "has_sig": false, "md5_digest": "d069523f2e58421401b965f86213843a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 183277, "upload_time": "2017-06-19T04:51:10", "upload_time_iso_8601": "2017-06-19T04:51:10.439072Z", "url": "https://files.pythonhosted.org/packages/66/cb/119a724ba576ff198f7e775e64fe16ef8f589541b2395060cb0bbe91bff8/durable_rules-0.33.111.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.112": [ { "comment_text": "", "digests": { "md5": "b6e69daaad73821eb3db748661795cf9", "sha256": "123676384a9d6f965bb35112d0184a049b7a954393cd19b1af4412797309ae73" }, "downloads": -1, "filename": "durable_rules-0.33.112.tar.gz", "has_sig": false, "md5_digest": "b6e69daaad73821eb3db748661795cf9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 183382, "upload_time": "2017-06-25T19:50:28", "upload_time_iso_8601": "2017-06-25T19:50:28.799813Z", "url": "https://files.pythonhosted.org/packages/d0/86/86d97ce7556d9ad450550caf70e947a78bb38198c3e2129a80153e2fdd4b/durable_rules-0.33.112.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.114": [ { "comment_text": "", "digests": { "md5": "9c2a8e4fc58ff2eb5d9c6f3843ff70a2", "sha256": "b322f7af29e4151e10da5dcc1d7a68b8f9d29c7dd09e1eea838e77f0112d4f85" }, "downloads": -1, "filename": "durable_rules-0.33.114.tar.gz", "has_sig": false, "md5_digest": "9c2a8e4fc58ff2eb5d9c6f3843ff70a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 183341, "upload_time": "2017-07-15T18:53:44", "upload_time_iso_8601": "2017-07-15T18:53:44.706342Z", "url": "https://files.pythonhosted.org/packages/6e/e1/41e60960a1a826972a7b6933bcaa6d6ad72e69da46715d972d0efedbede6/durable_rules-0.33.114.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.115": [ { "comment_text": "", "digests": { "md5": "8067370e7c4856ab87deecc220e55172", "sha256": "30057cecf2c294619a04c77efb98dd6f933361ae5136b222f6c7b21ec2d578b5" }, "downloads": -1, "filename": "durable_rules-0.33.115.tar.gz", "has_sig": false, "md5_digest": "8067370e7c4856ab87deecc220e55172", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 183306, "upload_time": "2017-08-22T04:25:04", "upload_time_iso_8601": "2017-08-22T04:25:04.484681Z", "url": "https://files.pythonhosted.org/packages/d6/3b/b8a51e658da2c9584b8bd991334bcb1c3574af37dbe162d623a7ffb71415/durable_rules-0.33.115.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.117": [ { "comment_text": "", "digests": { "md5": "3cee14fef0aace3a7d7e1e44681bd712", "sha256": "c3a957ce1406e071b085164694569046f0bd90525c842f45791f9454ffabaed6" }, "downloads": -1, "filename": "durable_rules-0.33.117.tar.gz", "has_sig": false, "md5_digest": "3cee14fef0aace3a7d7e1e44681bd712", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 183313, "upload_time": "2017-08-25T04:35:21", "upload_time_iso_8601": "2017-08-25T04:35:21.907373Z", "url": "https://files.pythonhosted.org/packages/bd/bf/040f2b199f288e1630e6bbeee7c722bbaa93133c18f0149c70b6f0f9a53f/durable_rules-0.33.117.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.118": [ { "comment_text": "", "digests": { "md5": "767de8f329daa7a1c5e94430e6b59a69", "sha256": "b81bb25d7b84de09c6fc217ee3d9dc404c5179ede9fe5e3ee1047949c7ccd93d" }, "downloads": -1, "filename": "durable_rules-0.33.118.tar.gz", "has_sig": false, "md5_digest": "767de8f329daa7a1c5e94430e6b59a69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 183308, "upload_time": "2017-09-02T18:02:14", "upload_time_iso_8601": "2017-09-02T18:02:14.796830Z", "url": "https://files.pythonhosted.org/packages/a1/bc/393c001032879a5b18ba48546a208e97f33e6275a8783ceaefa4d2d5f958/durable_rules-0.33.118.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.119": [ { "comment_text": "", "digests": { "md5": "17c0f0f56a7875f396bb0a8ee7944f97", "sha256": "abd9323c1a5238004afeb52ad00c39dae166c7b03b14082f48099d0391f53383" }, "downloads": -1, "filename": "durable_rules-0.33.119.tar.gz", "has_sig": false, "md5_digest": "17c0f0f56a7875f396bb0a8ee7944f97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 183311, "upload_time": "2017-09-16T17:46:45", "upload_time_iso_8601": "2017-09-16T17:46:45.774751Z", "url": "https://files.pythonhosted.org/packages/e1/d9/529e4460e49b55287d73641ef5ce3aa9effe24a19bf384f7e2f31f36c4d5/durable_rules-0.33.119.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.120": [ { "comment_text": "", "digests": { "md5": "d21c718299067ba830787bcdb5ce322c", "sha256": "044cba0f4c66f490d8f08bca2f362487427879e4032448ba5df3304f0c09390f" }, "downloads": -1, "filename": "durable_rules-0.33.120.tar.gz", "has_sig": false, "md5_digest": "d21c718299067ba830787bcdb5ce322c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 183923, "upload_time": "2017-09-18T04:42:20", "upload_time_iso_8601": "2017-09-18T04:42:20.510146Z", "url": "https://files.pythonhosted.org/packages/23/b3/fb71596cc06a797fe3dc1ee0024f8150f363916ce6d577312c89cc2b6f9b/durable_rules-0.33.120.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.121": [ { "comment_text": "", "digests": { "md5": "11a975fa138e549dc0ce66c0312e272b", "sha256": "dcb25573e73194d1506e4f2a61a5347e819a008ba5e7d7dbbae05156ffa30a31" }, "downloads": -1, "filename": "durable_rules-0.33.121.tar.gz", "has_sig": false, "md5_digest": "11a975fa138e549dc0ce66c0312e272b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 186645, "upload_time": "2017-12-22T02:33:56", "upload_time_iso_8601": "2017-12-22T02:33:56.235766Z", "url": "https://files.pythonhosted.org/packages/a8/3e/e7b4ffdab5028e8e66db03d0e2c3187f6b0c2c994ecd99637bf26df64557/durable_rules-0.33.121.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.122": [ { "comment_text": "", "digests": { "md5": "616a59dcb4d31037d5f53a1ed7a225c0", "sha256": "75f01a538853709450358cdc375d3ba65ec86fa9730a5c24c9d568b2bcb98d6d" }, "downloads": -1, "filename": "durable_rules-0.33.122.tar.gz", "has_sig": false, "md5_digest": "616a59dcb4d31037d5f53a1ed7a225c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 183956, "upload_time": "2018-02-18T20:42:09", "upload_time_iso_8601": "2018-02-18T20:42:09.276120Z", "url": "https://files.pythonhosted.org/packages/dd/17/fa3da0d3aa278280b8fff295e140a14e4693d0b9d3b13c610eb4ddc38128/durable_rules-0.33.122.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.123": [ { "comment_text": "", "digests": { "md5": "41d1df062b26ee5029e5fcdb0ddd0dcc", "sha256": "0aeb20a2b28b41a5118e479e58aa6ea720266704f8b8bbd0716232ee94ad3b28" }, "downloads": -1, "filename": "durable_rules-0.33.123.tar.gz", "has_sig": false, "md5_digest": "41d1df062b26ee5029e5fcdb0ddd0dcc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 184437, "upload_time": "2018-02-25T19:56:49", "upload_time_iso_8601": "2018-02-25T19:56:49.880020Z", "url": "https://files.pythonhosted.org/packages/74/60/b3fd0587a407dd65d9c6f8755f76782150bee274d9446b282e3298fed005/durable_rules-0.33.123.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.124": [ { "comment_text": "", "digests": { "md5": "dbc7ea660c9f7ee3489d86f4e962e1d0", "sha256": "122ca6e2d30a28676dbff7010e122016dfa3d8f3463feeeedfe06b0d40970d52" }, "downloads": -1, "filename": "durable_rules-0.33.124.tar.gz", "has_sig": false, "md5_digest": "dbc7ea660c9f7ee3489d86f4e962e1d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 184640, "upload_time": "2018-03-26T04:29:25", "upload_time_iso_8601": "2018-03-26T04:29:25.157956Z", "url": "https://files.pythonhosted.org/packages/c6/90/a45afa064153b733ef6f3bc994034702ed8187b457aea5e1434b7a467984/durable_rules-0.33.124.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.125": [ { "comment_text": "", "digests": { "md5": "0f973f3dd5213d65a88788fc6757b1a0", "sha256": "b654c28fd428eb00ef065d4ec85811e4180f11a944916420947e7c643528c8d1" }, "downloads": -1, "filename": "durable_rules-0.33.125.tar.gz", "has_sig": false, "md5_digest": "0f973f3dd5213d65a88788fc6757b1a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 184653, "upload_time": "2018-04-16T01:04:42", "upload_time_iso_8601": "2018-04-16T01:04:42.957463Z", "url": "https://files.pythonhosted.org/packages/f7/39/96e5cd971144be2509ad9d1adfb45bde898d5667b1d5f0495e335139d4ec/durable_rules-0.33.125.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.126": [ { "comment_text": "", "digests": { "md5": "1dcc6495f93a5d1300d8d2878a4f9192", "sha256": "36714b9e449acc6d585b0a65a47a81aa839147bbd134e2e3b263788c63a5d17a" }, "downloads": -1, "filename": "durable_rules-0.33.126.tar.gz", "has_sig": false, "md5_digest": "1dcc6495f93a5d1300d8d2878a4f9192", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 184696, "upload_time": "2018-07-01T16:16:21", "upload_time_iso_8601": "2018-07-01T16:16:21.637338Z", "url": "https://files.pythonhosted.org/packages/11/71/37e92c1796ccd0f63ac40c9375817f71a8102423c61d9589bbf852118b54/durable_rules-0.33.126.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.127": [ { "comment_text": "", "digests": { "md5": "d65711f6a20ac6c95366c9e7001e9e8d", "sha256": "070fcb679fcfadc71af9ee4444c3f1dc21f1cf5802915b226536c700500c6f2d" }, "downloads": -1, "filename": "durable_rules-0.33.127.tar.gz", "has_sig": false, "md5_digest": "d65711f6a20ac6c95366c9e7001e9e8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 184966, "upload_time": "2018-07-09T05:06:22", "upload_time_iso_8601": "2018-07-09T05:06:22.824900Z", "url": "https://files.pythonhosted.org/packages/47/21/445647df8bc7eb7cb58755f8110fdef93e1c03484424ce6c794d3a3d427c/durable_rules-0.33.127.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.128": [ { "comment_text": "", "digests": { "md5": "d93a29dd32b763fcdeac7e215e2cb493", "sha256": "2237d4fd5c679193db54d1c033c9b95197e3d72bed10aa2f323751622705e629" }, "downloads": -1, "filename": "durable_rules-0.33.128.tar.gz", "has_sig": false, "md5_digest": "d93a29dd32b763fcdeac7e215e2cb493", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 184968, "upload_time": "2018-09-09T01:03:33", "upload_time_iso_8601": "2018-09-09T01:03:33.526180Z", "url": "https://files.pythonhosted.org/packages/98/6f/d9357fc41c749fd15d4d7fbd8b8cea32858e809884c34786cb6cd28a082e/durable_rules-0.33.128.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.129": [ { "comment_text": "", "digests": { "md5": "2da9721833db0b92cbd8594186831cb0", "sha256": "f52fb531a66165d8ef91365ddc82ef3b21414b40b7c2d70ac8b038fb1f3761b6" }, "downloads": -1, "filename": "durable_rules-0.33.129.tar.gz", "has_sig": false, "md5_digest": "2da9721833db0b92cbd8594186831cb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 185120, "upload_time": "2018-09-24T01:50:12", "upload_time_iso_8601": "2018-09-24T01:50:12.446328Z", "url": "https://files.pythonhosted.org/packages/4f/9b/0be290759da8794724f7b08a7262332d06960379cb09e09e7170d590e59b/durable_rules-0.33.129.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.130": [ { "comment_text": "", "digests": { "md5": "a777e4ee130c977c5c2ddc2e826732d2", "sha256": "bbe8903de95a645f6e545a4fc091be35ba1b323a0836c65ccdd15a72fd95e2f5" }, "downloads": -1, "filename": "durable_rules-0.33.130.tar.gz", "has_sig": false, "md5_digest": "a777e4ee130c977c5c2ddc2e826732d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 185167, "upload_time": "2018-10-01T04:47:56", "upload_time_iso_8601": "2018-10-01T04:47:56.103666Z", "url": "https://files.pythonhosted.org/packages/82/ed/e8dac9a1ca470d9637d36ee1375ed458a6a60eb43b2e403b5310878bf7f7/durable_rules-0.33.130.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.131": [ { "comment_text": "", "digests": { "md5": "897386b4453d40f571399b97d6033d2a", "sha256": "7395ce9009f1acf73f0281e7f0b217b7cc080f9c1d6f45191fcbd6db06d36351" }, "downloads": -1, "filename": "durable_rules-0.33.131.tar.gz", "has_sig": false, "md5_digest": "897386b4453d40f571399b97d6033d2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 188069, "upload_time": "2018-10-18T05:58:29", "upload_time_iso_8601": "2018-10-18T05:58:29.901654Z", "url": "https://files.pythonhosted.org/packages/0d/63/789bb53d48b5da0d2647a59f32307352b5882fed345e2ea2159da4b2159e/durable_rules-0.33.131.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.132": [ { "comment_text": "", "digests": { "md5": "c36733af361be53321cea40ac3514e5f", "sha256": "1056dcf8959ae1824eaebb248eaebd50effd32ea19a80f05be233d92a543a219" }, "downloads": -1, "filename": "durable_rules-0.33.132.tar.gz", "has_sig": false, "md5_digest": "c36733af361be53321cea40ac3514e5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 187988, "upload_time": "2018-10-22T04:28:04", "upload_time_iso_8601": "2018-10-22T04:28:04.537165Z", "url": "https://files.pythonhosted.org/packages/ad/72/7492d8a2dbb24a9a9cc5f4ebac8f7bf79f8baade78481c1e8b5eb150ed7c/durable_rules-0.33.132.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.133": [ { "comment_text": "", "digests": { "md5": "6122cf31219f1bc518d4135591b9a48e", "sha256": "798b150d00d9c7278cc69c7422752fdfd238650e1f1c41c440e1bda7218bb225" }, "downloads": -1, "filename": "durable_rules-0.33.133.tar.gz", "has_sig": false, "md5_digest": "6122cf31219f1bc518d4135591b9a48e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 187998, "upload_time": "2019-03-23T17:55:11", "upload_time_iso_8601": "2019-03-23T17:55:11.955838Z", "url": "https://files.pythonhosted.org/packages/a6/7d/f9d5e3f1495b7b4ab9692cce660751d14d0c104f59c035fb3077be9364c2/durable_rules-0.33.133.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.134": [ { "comment_text": "", "digests": { "md5": "5abbd29ff71ff4440eb60c9a9bbd62b5", "sha256": "894bd19b1f1c384a69469448f4766c965e8617fd0da0bb607f02b7a155235e3d" }, "downloads": -1, "filename": "durable_rules-0.33.134.tar.gz", "has_sig": false, "md5_digest": "5abbd29ff71ff4440eb60c9a9bbd62b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 188000, "upload_time": "2019-03-28T04:50:15", "upload_time_iso_8601": "2019-03-28T04:50:15.357259Z", "url": "https://files.pythonhosted.org/packages/64/07/4492bde75a20dc885ae5a2e067d585f08dd7e3297529f476fb9b0e5cb5fc/durable_rules-0.33.134.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.56": [ { "comment_text": "", "digests": { "md5": "47cc6799fe3d3c9af5d7d3784c822148", "sha256": "b054a9975f6eb24b82b7f3aaadedd9dd02e400369bd718b2f1a0f29fc553e1bc" }, "downloads": -1, "filename": "durable_rules-0.33.56.tar.gz", "has_sig": false, "md5_digest": "47cc6799fe3d3c9af5d7d3784c822148", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92086, "upload_time": "2016-02-13T20:13:59", "upload_time_iso_8601": "2016-02-13T20:13:59.977912Z", "url": "https://files.pythonhosted.org/packages/e8/8b/18140f18ca8ed0782436fb4977346fd450fb6afab1709d9a2dc79b7de971/durable_rules-0.33.56.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.57": [ { "comment_text": "", "digests": { "md5": "3ba40c0f33aa3fe0bf96e0daf24a4192", "sha256": "7ca22721e05a8c28df6f468ecc20d6c9c9c3e8010151a1dd2ab541c9f5f9825d" }, "downloads": -1, "filename": "durable_rules-0.33.57.tar.gz", "has_sig": false, "md5_digest": "3ba40c0f33aa3fe0bf96e0daf24a4192", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92092, "upload_time": "2016-02-13T20:45:45", "upload_time_iso_8601": "2016-02-13T20:45:45.966024Z", "url": "https://files.pythonhosted.org/packages/90/49/bb47c5e235cc15605fef57de0851e13401f745409dbdbff1d710d719916f/durable_rules-0.33.57.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.58": [ { "comment_text": "", "digests": { "md5": "406c530b8a3df85d7a62b458c3d518ef", "sha256": "9d00d650f60c365b449ed9fc6d34c0053434214a8bb419b3982a24f56763141f" }, "downloads": -1, "filename": "durable_rules-0.33.58.tar.gz", "has_sig": false, "md5_digest": "406c530b8a3df85d7a62b458c3d518ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92089, "upload_time": "2016-02-14T02:53:08", "upload_time_iso_8601": "2016-02-14T02:53:08.645495Z", "url": "https://files.pythonhosted.org/packages/ea/d1/1f877a47db87c87044a154909ad20caff342a643a38e1c395ae56718afed/durable_rules-0.33.58.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.59": [ { "comment_text": "", "digests": { "md5": "fcc22d9fe1e9e1ef184084ec8e4d96b8", "sha256": "0f86d7aa58a1681b96da528ad19563948b7800faa891cd4e44f04439bbff8484" }, "downloads": -1, "filename": "durable_rules-0.33.59.tar.gz", "has_sig": false, "md5_digest": "fcc22d9fe1e9e1ef184084ec8e4d96b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92087, "upload_time": "2016-02-14T20:31:01", "upload_time_iso_8601": "2016-02-14T20:31:01.277804Z", "url": "https://files.pythonhosted.org/packages/72/e6/3b70557c79f5cec3151e06c84be8e3c1f3474cd39a7076c3343768a774a5/durable_rules-0.33.59.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.60": [ { "comment_text": "", "digests": { "md5": "c654672a09d50ab2818871b60c074984", "sha256": "cafdb7394320c75f3c15759a4442d6d062d01a8da2b012546a653add62f886ba" }, "downloads": -1, "filename": "durable_rules-0.33.60.tar.gz", "has_sig": false, "md5_digest": "c654672a09d50ab2818871b60c074984", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92576, "upload_time": "2016-02-22T03:32:32", "upload_time_iso_8601": "2016-02-22T03:32:32.650771Z", "url": "https://files.pythonhosted.org/packages/26/96/beadaf8c3369e2802eb0116c2f28acd687e4ccd66d5336f52393dcc98bbd/durable_rules-0.33.60.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.61": [ { "comment_text": "", "digests": { "md5": "d1d304eeff2ff4507fb971e91c1ca2d4", "sha256": "da27b7d3c5eb4a0c25cbbc60f1c8aa65cd5c63a8e18505eb02d105213c1d2a18" }, "downloads": -1, "filename": "durable_rules-0.33.61.tar.gz", "has_sig": false, "md5_digest": "d1d304eeff2ff4507fb971e91c1ca2d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92710, "upload_time": "2016-02-29T02:22:37", "upload_time_iso_8601": "2016-02-29T02:22:37.731988Z", "url": "https://files.pythonhosted.org/packages/bc/78/72343e9b19fcb5e826b73593e0c9c8a9c99418343bfadea28d363b9365f5/durable_rules-0.33.61.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.62": [ { "comment_text": "", "digests": { "md5": "509a7914be9c3f00fc43d076c67b6125", "sha256": "d3dc9b9f6173fdd1a5dcc55587bce2548d940d239c1d12a4b39d140a399efa6e" }, "downloads": -1, "filename": "durable_rules-0.33.62.tar.gz", "has_sig": false, "md5_digest": "509a7914be9c3f00fc43d076c67b6125", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92833, "upload_time": "2016-03-20T17:02:13", "upload_time_iso_8601": "2016-03-20T17:02:13.229334Z", "url": "https://files.pythonhosted.org/packages/fb/c5/b95b11a9fd68f940ec10c9db62db5117e94aeebbd36b0c7287fd3c86d201/durable_rules-0.33.62.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.63": [ { "comment_text": "", "digests": { "md5": "f51303f2029e80136265d982765c03bb", "sha256": "1c99f415279803368a11b67264c225cd6d60b7e004b4266d22481bfe09cdd202" }, "downloads": -1, "filename": "durable_rules-0.33.63.tar.gz", "has_sig": false, "md5_digest": "f51303f2029e80136265d982765c03bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92827, "upload_time": "2016-03-24T05:26:48", "upload_time_iso_8601": "2016-03-24T05:26:48.061668Z", "url": "https://files.pythonhosted.org/packages/48/50/365d425be9bbbb22847e5b11b4ba58fd9a0053f9b7529a5e428778fc2b40/durable_rules-0.33.63.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.64": [ { "comment_text": "", "digests": { "md5": "fcaec20267c2613dd7994f128c50b861", "sha256": "04f7f057ead6bbb8a0392f67574a93e96d399efe582c24f33b188eed7e8676e7" }, "downloads": -1, "filename": "durable_rules-0.33.64.tar.gz", "has_sig": false, "md5_digest": "fcaec20267c2613dd7994f128c50b861", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92816, "upload_time": "2016-03-26T04:39:35", "upload_time_iso_8601": "2016-03-26T04:39:35.708216Z", "url": "https://files.pythonhosted.org/packages/ac/41/febf3b7bf1ceaa3c44b8ee11585e87e3cf66704507d4b684ef84d254c88d/durable_rules-0.33.64.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.65": [ { "comment_text": "", "digests": { "md5": "f8f18045acb2fd583439c5d2f82c8961", "sha256": "11acfa220cf78a2b2260b520fb1899cb5068fcf6d9b6a07a649aa5e279a07c64" }, "downloads": -1, "filename": "durable_rules-0.33.65.tar.gz", "has_sig": false, "md5_digest": "f8f18045acb2fd583439c5d2f82c8961", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92828, "upload_time": "2016-04-04T04:36:09", "upload_time_iso_8601": "2016-04-04T04:36:09.999938Z", "url": "https://files.pythonhosted.org/packages/c3/8e/e3e407bac9dd9a671e5421f381045eb76d38cfafc349136ba42422b0f450/durable_rules-0.33.65.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.66": [ { "comment_text": "", "digests": { "md5": "0593971a36200a88baa1639790d71196", "sha256": "34e00b9d258e770634d331e52e8fd420c80bfd317bd30b8497231371c26deb28" }, "downloads": -1, "filename": "durable_rules-0.33.66.tar.gz", "has_sig": false, "md5_digest": "0593971a36200a88baa1639790d71196", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94051, "upload_time": "2016-05-10T07:24:36", "upload_time_iso_8601": "2016-05-10T07:24:36.189808Z", "url": "https://files.pythonhosted.org/packages/5a/82/f4278884c7fbd44a95ef84dd3effb2af9ec284488eae48d7e1ffb80ae5c1/durable_rules-0.33.66.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.67": [ { "comment_text": "", "digests": { "md5": "0db206951d2d30d065af2dfedddbf3d5", "sha256": "ce5b3beae98343c7c00b9fbdf2376a32e95cb6e7764c1bb71d4460a4117957b6" }, "downloads": -1, "filename": "durable_rules-0.33.67.tar.gz", "has_sig": false, "md5_digest": "0db206951d2d30d065af2dfedddbf3d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95019, "upload_time": "2016-05-13T01:01:44", "upload_time_iso_8601": "2016-05-13T01:01:44.148351Z", "url": "https://files.pythonhosted.org/packages/d4/1f/660a0ffdd7e738b0ecfd4f0cb9a3ae3d4229bfa307a6935d1ced64b2e801/durable_rules-0.33.67.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.68": [ { "comment_text": "", "digests": { "md5": "85b91061f23dd962bbf76d7518569f68", "sha256": "e6fed672a7b624a898d2adedc9f82b81a55a6206949e9e2b430b69a4ccc7885e" }, "downloads": -1, "filename": "durable_rules-0.33.68.tar.gz", "has_sig": false, "md5_digest": "85b91061f23dd962bbf76d7518569f68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95256, "upload_time": "2016-05-22T19:41:56", "upload_time_iso_8601": "2016-05-22T19:41:56.868758Z", "url": "https://files.pythonhosted.org/packages/78/e1/b9fbe971dc33fd07cdea5c490e06091f6cd5a8fd6eb4e5ee17863f9c2e0e/durable_rules-0.33.68.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.69": [ { "comment_text": "", "digests": { "md5": "8837ec77b05150fefacff102086d7523", "sha256": "6b28a3e4c2d6b419ce40d7f06f9d2fbb99a9ab3fe531a6825935947950ebae02" }, "downloads": -1, "filename": "durable_rules-0.33.69.tar.gz", "has_sig": false, "md5_digest": "8837ec77b05150fefacff102086d7523", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95445, "upload_time": "2016-06-13T00:55:38", "upload_time_iso_8601": "2016-06-13T00:55:38.051270Z", "url": "https://files.pythonhosted.org/packages/c6/f1/ac706cd2bda2189986fa39ed0040dea6f35c2fb38c9c8b71c5ecf68d5734/durable_rules-0.33.69.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.70": [ { "comment_text": "", "digests": { "md5": "7984899f2ae98604e2e955518833097e", "sha256": "6a32fb2165a1456edebfba502d202ba99869fba5f7dba94c8981a255f7ccc1e2" }, "downloads": -1, "filename": "durable_rules-0.33.70.tar.gz", "has_sig": false, "md5_digest": "7984899f2ae98604e2e955518833097e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95453, "upload_time": "2016-07-28T12:31:36", "upload_time_iso_8601": "2016-07-28T12:31:36.110676Z", "url": "https://files.pythonhosted.org/packages/53/bc/b8a40ef23e8caadbce74fd79cee0be971950a581d8536de6d38fc57523b2/durable_rules-0.33.70.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.71": [ { "comment_text": "", "digests": { "md5": "ab5828ccf7e53ae670040049f21c0d28", "sha256": "fdcfbac876ae0cc4333338d79052c2dc1f0025c4fdf284a7a7405d87a5511445" }, "downloads": -1, "filename": "durable_rules-0.33.71.tar.gz", "has_sig": false, "md5_digest": "ab5828ccf7e53ae670040049f21c0d28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95311, "upload_time": "2016-08-14T19:10:33", "upload_time_iso_8601": "2016-08-14T19:10:33.676693Z", "url": "https://files.pythonhosted.org/packages/76/63/bf590b184e5550a8ecc49a477a4ae847883bfd1894290b15a33f40ef623a/durable_rules-0.33.71.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.72": [ { "comment_text": "", "digests": { "md5": "0d4b3df6b780ed5921c4393d63209613", "sha256": "d18a6585becdf4ce7dcca8ea6434b5f59b189c88ba8523c6df72594c0555f3df" }, "downloads": -1, "filename": "durable_rules-0.33.72.tar.gz", "has_sig": false, "md5_digest": "0d4b3df6b780ed5921c4393d63209613", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95854, "upload_time": "2016-08-29T00:14:41", "upload_time_iso_8601": "2016-08-29T00:14:41.196005Z", "url": "https://files.pythonhosted.org/packages/19/27/0ed05b0ab0da8955e1b373ced57df397410cf589dd2b36bc3db81a2f5b88/durable_rules-0.33.72.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.73": [ { "comment_text": "", "digests": { "md5": "31d8d7bde9c182d3852c326b483b891f", "sha256": "92a8a277a806db2809c45dd07bb36bd97335ca08f714d6e24ef98440d0a769ee" }, "downloads": -1, "filename": "durable_rules-0.33.73.tar.gz", "has_sig": false, "md5_digest": "31d8d7bde9c182d3852c326b483b891f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95865, "upload_time": "2016-09-06T02:15:35", "upload_time_iso_8601": "2016-09-06T02:15:35.690388Z", "url": "https://files.pythonhosted.org/packages/71/06/a73c054abdf3eb58795033c08eb0cf3d8c5c0dd3eee19681bedc8848a562/durable_rules-0.33.73.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.74": [ { "comment_text": "", "digests": { "md5": "f1f3ddc3736f9bb159c703d2d1078ee9", "sha256": "24816808e9da863ad279364807c7f1b4489e9d1d8f13b217db878b6ef3c4e4b7" }, "downloads": -1, "filename": "durable_rules-0.33.74.tar.gz", "has_sig": false, "md5_digest": "f1f3ddc3736f9bb159c703d2d1078ee9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 96450, "upload_time": "2016-09-19T04:59:44", "upload_time_iso_8601": "2016-09-19T04:59:44.418898Z", "url": "https://files.pythonhosted.org/packages/40/0a/2ee79a16a1ed65798e2253fc9ec5bd7cc94a3cc61f2fd0823ac0cf07bc89/durable_rules-0.33.74.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.75": [ { "comment_text": "", "digests": { "md5": "0761c75fbc83ee0b8c7419221b9ea404", "sha256": "bd9f7e481eaf13f269c6f028abd9ec66a267883b8d4d32e7ba6d6adc259e61aa" }, "downloads": -1, "filename": "durable_rules-0.33.75.tar.gz", "has_sig": false, "md5_digest": "0761c75fbc83ee0b8c7419221b9ea404", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 96571, "upload_time": "2016-09-28T05:34:24", "upload_time_iso_8601": "2016-09-28T05:34:24.203902Z", "url": "https://files.pythonhosted.org/packages/49/b2/06ab177a23bba7c047fde2d61fb8f297e8a95fd00bbed2ab4808ead05728/durable_rules-0.33.75.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.76": [ { "comment_text": "", "digests": { "md5": "066a3dfc9e2e80fa2551a3eb4c08cc69", "sha256": "c244aefc78545776487b6ea35349d30b5dee6e319d0b30c14e3c79276e837d39" }, "downloads": -1, "filename": "durable_rules-0.33.76.tar.gz", "has_sig": false, "md5_digest": "066a3dfc9e2e80fa2551a3eb4c08cc69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 96582, "upload_time": "2016-11-24T21:30:51", "upload_time_iso_8601": "2016-11-24T21:30:51.435077Z", "url": "https://files.pythonhosted.org/packages/f0/32/fe250af4c7eaa343d39a644d959a0dfa83191e299e130780a07333c17cb8/durable_rules-0.33.76.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.77": [ { "comment_text": "", "digests": { "md5": "29e76d4cf7673892aae1603e94fd8b62", "sha256": "4d2e7cb5f159ec863ef1f66a0ac0ae73f921bf5e3d0f84bd0ba6c535733b4eb4" }, "downloads": -1, "filename": "durable_rules-0.33.77.tar.gz", "has_sig": false, "md5_digest": "29e76d4cf7673892aae1603e94fd8b62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 102840, "upload_time": "2017-01-14T06:18:26", "upload_time_iso_8601": "2017-01-14T06:18:26.523402Z", "url": "https://files.pythonhosted.org/packages/2d/db/05ec82866de1951637b25ac252e34bd471c3acaeedefd2c06013025b9c28/durable_rules-0.33.77.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.78": [ { "comment_text": "", "digests": { "md5": "7561eb909539f0fa7eb0cc1c26eed5a1", "sha256": "aa3a55e4126aebba8b48e954c476611a92d8baaf69a5fa9b50fbd18b5ec96731" }, "downloads": -1, "filename": "durable_rules-0.33.78.tar.gz", "has_sig": false, "md5_digest": "7561eb909539f0fa7eb0cc1c26eed5a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 103263, "upload_time": "2017-01-15T04:05:50", "upload_time_iso_8601": "2017-01-15T04:05:50.802689Z", "url": "https://files.pythonhosted.org/packages/82/c5/2aeaadccb496e701e06f0e0f5a062e8a0956823388cce1e9781def28e38b/durable_rules-0.33.78.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.79": [], "0.33.81": [ { "comment_text": "", "digests": { "md5": "bcbb1947b8de1ba65cacec437c4f871e", "sha256": "9db35a74d7fdbf3522a48c59bf42741581537fa8a4a43aa4cc6a1770bb65d27b" }, "downloads": -1, "filename": "durable_rules-0.33.81.tar.gz", "has_sig": false, "md5_digest": "bcbb1947b8de1ba65cacec437c4f871e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 103375, "upload_time": "2017-01-29T20:44:20", "upload_time_iso_8601": "2017-01-29T20:44:20.460429Z", "url": "https://files.pythonhosted.org/packages/93/c1/4a77934712f806295f651c42d701b8720c04cf3ab4b2f222ac3219ffbdb8/durable_rules-0.33.81.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.83": [ { "comment_text": "", "digests": { "md5": "bccce180eec8a4da31c7234f0cc6aecf", "sha256": "3ab96edc5c5ab2c6db8cac1eccff2bd65927a32bef76aed233eba6a653093abc" }, "downloads": -1, "filename": "durable_rules-0.33.83.tar.gz", "has_sig": false, "md5_digest": "bccce180eec8a4da31c7234f0cc6aecf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 103445, "upload_time": "2017-02-05T18:55:05", "upload_time_iso_8601": "2017-02-05T18:55:05.881348Z", "url": "https://files.pythonhosted.org/packages/b4/f0/f6167e60d89d34ad63d2e7bca745a19979740fa220b7d34505145c415c0d/durable_rules-0.33.83.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.84": [ { "comment_text": "", "digests": { "md5": "65fd0202038cf6079486fbcf6e2dd395", "sha256": "ecc8c62649921efa2596c5ba0561b13e8e55be9563a2a37bd33d3864477c2c69" }, "downloads": -1, "filename": "durable_rules-0.33.84.tar.gz", "has_sig": false, "md5_digest": "65fd0202038cf6079486fbcf6e2dd395", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 103443, "upload_time": "2017-02-05T19:01:17", "upload_time_iso_8601": "2017-02-05T19:01:17.695676Z", "url": "https://files.pythonhosted.org/packages/d9/71/c40cfd00700cd3007a0c838276d40253a47522e21aaf7993f65faa918022/durable_rules-0.33.84.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.85": [ { "comment_text": "", "digests": { "md5": "dca8f50648591a39317c495d28b06776", "sha256": "13178098aa827c7fcc3e557c375cf969dc622e0ad35ef39971434fd7424cbda7" }, "downloads": -1, "filename": "durable_rules-0.33.85.tar.gz", "has_sig": false, "md5_digest": "dca8f50648591a39317c495d28b06776", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 169205, "upload_time": "2017-02-05T19:16:05", "upload_time_iso_8601": "2017-02-05T19:16:05.150397Z", "url": "https://files.pythonhosted.org/packages/56/38/2b05262c4c27b64a4dbe0a7ac5c1bfba0ceca72dd5363135c84d02ad6018/durable_rules-0.33.85.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.86": [ { "comment_text": "", "digests": { "md5": "718ecefd0b2dc8149ba289fc7cd53156", "sha256": "78a6ca1fd64ea45c75d4758db4c11be60d8eceff567701d64e508c2bbe096f32" }, "downloads": -1, "filename": "durable_rules-0.33.86.tar.gz", "has_sig": false, "md5_digest": "718ecefd0b2dc8149ba289fc7cd53156", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 169204, "upload_time": "2017-02-05T19:17:44", "upload_time_iso_8601": "2017-02-05T19:17:44.551273Z", "url": "https://files.pythonhosted.org/packages/27/34/90e1b6d05e96724f86da1f93ac0034429585beb4d208cf6d95d24d207167/durable_rules-0.33.86.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.87": [ { "comment_text": "", "digests": { "md5": "cb0f91f52a2f0677beb31ee939ec2839", "sha256": "d32ba745e3ccc1e822e8d0e6cab55b0c87f5f01ccd24ed51f8d65fa6e4bde883" }, "downloads": -1, "filename": "durable_rules-0.33.87.tar.gz", "has_sig": false, "md5_digest": "cb0f91f52a2f0677beb31ee939ec2839", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178531, "upload_time": "2017-02-05T19:18:47", "upload_time_iso_8601": "2017-02-05T19:18:47.510784Z", "url": "https://files.pythonhosted.org/packages/e2/c9/9d5543c53a9b14046c95c6421a7b364e52829166e2e594c81d74e9948b2d/durable_rules-0.33.87.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.89": [ { "comment_text": "", "digests": { "md5": "e3e729d092dc34c4a5327b3e3b1695bc", "sha256": "951dc2d1539a7783996740793f77dc1f59cb9303e36fe5099d7c6d6ea7275544" }, "downloads": -1, "filename": "durable_rules-0.33.89.tar.gz", "has_sig": false, "md5_digest": "e3e729d092dc34c4a5327b3e3b1695bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178551, "upload_time": "2017-02-06T01:23:01", "upload_time_iso_8601": "2017-02-06T01:23:01.982335Z", "url": "https://files.pythonhosted.org/packages/fa/a7/73f2f404aa2f08b5609c7d6e8cf382d47b43e3ca15f42be6927cbcd4df55/durable_rules-0.33.89.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.90": [ { "comment_text": "", "digests": { "md5": "eecfb00affd4d23c3b37a6fc9c1ba31b", "sha256": "9e29b710e426b7d7a66ba1984c1f598a467e4b8dc6c0e0c37a18e33b85da1340" }, "downloads": -1, "filename": "durable_rules-0.33.90.tar.gz", "has_sig": false, "md5_digest": "eecfb00affd4d23c3b37a6fc9c1ba31b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178928, "upload_time": "2017-02-11T18:18:27", "upload_time_iso_8601": "2017-02-11T18:18:27.784050Z", "url": "https://files.pythonhosted.org/packages/ff/dc/cadc587b6abb665d9587748c8531196dbe4baac334cce7d8e62dbf163894/durable_rules-0.33.90.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.91": [ { "comment_text": "", "digests": { "md5": "515302bf49bbc973b15649e7da4721ae", "sha256": "c0748722a63bd975165c4b30aaf24a9b0406a2f52d3d46ccba85192a6a78d0d8" }, "downloads": -1, "filename": "durable_rules-0.33.91.tar.gz", "has_sig": false, "md5_digest": "515302bf49bbc973b15649e7da4721ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178914, "upload_time": "2017-02-14T07:06:14", "upload_time_iso_8601": "2017-02-14T07:06:14.454841Z", "url": "https://files.pythonhosted.org/packages/87/ea/4bf44c8a8e79b5296220cf63baa98b22e605a1b7e62f2080f5cd201f24af/durable_rules-0.33.91.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.92": [ { "comment_text": "", "digests": { "md5": "faffd1d270873b028fd5063ce5e092f7", "sha256": "5a740aa0c6b74439f8fc7062b617474068d891057c5024cc392363421f9d7e79" }, "downloads": -1, "filename": "durable_rules-0.33.92.tar.gz", "has_sig": false, "md5_digest": "faffd1d270873b028fd5063ce5e092f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178921, "upload_time": "2017-02-15T05:26:00", "upload_time_iso_8601": "2017-02-15T05:26:00.889216Z", "url": "https://files.pythonhosted.org/packages/3d/07/d5c8cb9463d89c0b4dd9177eccdeb2a842e80097c6578ff01c4f4017cf5f/durable_rules-0.33.92.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.93": [ { "comment_text": "", "digests": { "md5": "7a868680f6bdf46aa53115601dd501b1", "sha256": "b0ac93b986d45b42651371c87217e5fd2f7cc2cae65933d084d0866dcb9fa5d6" }, "downloads": -1, "filename": "durable_rules-0.33.93.tar.gz", "has_sig": false, "md5_digest": "7a868680f6bdf46aa53115601dd501b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178923, "upload_time": "2017-02-20T02:22:33", "upload_time_iso_8601": "2017-02-20T02:22:33.057613Z", "url": "https://files.pythonhosted.org/packages/d9/a6/29a73e069aadc339b1527a281f941eb8225be482c8e3344d39903e213dd6/durable_rules-0.33.93.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.94": [ { "comment_text": "", "digests": { "md5": "c021397578098f4f5fc74914d32af8c3", "sha256": "f883c945fe60cd916d27f2380d6c3172d9bbf4634c162dfc71a83fae97c5425f" }, "downloads": -1, "filename": "durable_rules-0.33.94.tar.gz", "has_sig": false, "md5_digest": "c021397578098f4f5fc74914d32af8c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178914, "upload_time": "2017-02-22T06:39:11", "upload_time_iso_8601": "2017-02-22T06:39:11.497293Z", "url": "https://files.pythonhosted.org/packages/b4/8a/61827476f9cf00bde0d97533bf19c319092fffc360a9292112d4ab800037/durable_rules-0.33.94.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.95": [ { "comment_text": "", "digests": { "md5": "37221881b3c39aa2efad2fd85f3c0a7a", "sha256": "67403143629a421c71ec8b0ca8e6f8ccd7cf7520dbe66aa3bd98869a06679a32" }, "downloads": -1, "filename": "durable_rules-0.33.95.tar.gz", "has_sig": false, "md5_digest": "37221881b3c39aa2efad2fd85f3c0a7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178954, "upload_time": "2017-04-02T01:20:28", "upload_time_iso_8601": "2017-04-02T01:20:28.708125Z", "url": "https://files.pythonhosted.org/packages/62/83/5d49811f9cfaf6f2723d5b6f9adef64e9ceb79ee5ed7a2c79fa2f204f8eb/durable_rules-0.33.95.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.96": [ { "comment_text": "", "digests": { "md5": "4727c5ac902225653a80d82f85747a31", "sha256": "ec0c9a294f6e229421165f992b4df7fd049466e816826d35542eae08de67ff9c" }, "downloads": -1, "filename": "durable_rules-0.33.96.tar.gz", "has_sig": false, "md5_digest": "4727c5ac902225653a80d82f85747a31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 180165, "upload_time": "2017-04-24T05:39:57", "upload_time_iso_8601": "2017-04-24T05:39:57.384316Z", "url": "https://files.pythonhosted.org/packages/35/be/db69a8cd14447d653716e78ce1adf26cf5fb3423606091437090352d5311/durable_rules-0.33.96.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.97": [ { "comment_text": "", "digests": { "md5": "984ae671acd9150bca65e91af63df3f4", "sha256": "085a8ff3b222a68b8671f5c007ff486c73d0b4eba2fc2a613a84666a477dd364" }, "downloads": -1, "filename": "durable_rules-0.33.97.tar.gz", "has_sig": false, "md5_digest": "984ae671acd9150bca65e91af63df3f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 180192, "upload_time": "2017-04-26T05:05:58", "upload_time_iso_8601": "2017-04-26T05:05:58.656223Z", "url": "https://files.pythonhosted.org/packages/aa/bf/2a8ba5c9b83a051fd883917a422c083416dacaabc1f5dbd08f02bc103858/durable_rules-0.33.97.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.98": [ { "comment_text": "", "digests": { "md5": "36b0320842cc611f2fc0b36c6cd95276", "sha256": "a258d0d3122e9b48d9215723d118b4dd9a0e4ed745610aa735e0197cad0a6bcb" }, "downloads": -1, "filename": "durable_rules-0.33.98.tar.gz", "has_sig": false, "md5_digest": "36b0320842cc611f2fc0b36c6cd95276", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 180201, "upload_time": "2017-04-27T05:31:22", "upload_time_iso_8601": "2017-04-27T05:31:22.929239Z", "url": "https://files.pythonhosted.org/packages/9c/de/2a40ab2df5e4e003fd26ed2394699f7c00b99ef93a413d5617442544cc9f/durable_rules-0.33.98.tar.gz", "yanked": false, "yanked_reason": null } ], "0.33.99": [ { "comment_text": "", "digests": { "md5": "702393051cdab90ff981ac42b322afbc", "sha256": "2fb430df94380b7b6bc2e396628086a25893dd2f5c32d2f839ea8741210ea638" }, "downloads": -1, "filename": "durable_rules-0.33.99.tar.gz", "has_sig": false, "md5_digest": "702393051cdab90ff981ac42b322afbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 180224, "upload_time": "2017-04-27T05:44:17", "upload_time_iso_8601": "2017-04-27T05:44:17.330365Z", "url": "https://files.pythonhosted.org/packages/16/1c/c68be65fafed1ab8fa1e3562b4190b9da5bd501ce2a05f7ce402d21634fa/durable_rules-0.33.99.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "77bb8e460939c82f40f48f8f098da60a", "sha256": "ab5bfe64641b2a9ea6c81f63e5898d8dd9e1d5d56831c623acc594801466a418" }, "downloads": -1, "filename": "durable_rules-2.0.1.tar.gz", "has_sig": false, "md5_digest": "77bb8e460939c82f40f48f8f098da60a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52897, "upload_time": "2019-06-29T18:22:33", "upload_time_iso_8601": "2019-06-29T18:22:33.840280Z", "url": "https://files.pythonhosted.org/packages/a9/73/cc90ee34e7b31f9d45668d6fb89eb85f895301fb84df323b02171033983b/durable_rules-2.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.10": [ { "comment_text": "", "digests": { "md5": "a6d84a9ef51c75b03625f6cc0b597603", "sha256": "5faa97de3294c8f4589d6c276dcbb8570ea6f4a18e79dc96d7f8874869bbbb82" }, "downloads": -1, "filename": "durable_rules-2.0.10.tar.gz", "has_sig": false, "md5_digest": "a6d84a9ef51c75b03625f6cc0b597603", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55338, "upload_time": "2019-10-06T15:58:46", "upload_time_iso_8601": "2019-10-06T15:58:46.897726Z", "url": "https://files.pythonhosted.org/packages/a5/35/f5e68ab2a93c92894de71202e976196224a7852388d630666d681529e797/durable_rules-2.0.10.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.11": [ { "comment_text": "", "digests": { "md5": "6a1e5e0849cd4f174ae187678ec3ed75", "sha256": "8fbbe7392bed86fb0c9cf6a73e0b9c6a3198257203bc747ff56b986d53d7f578" }, "downloads": -1, "filename": "durable_rules-2.0.11.tar.gz", "has_sig": false, "md5_digest": "6a1e5e0849cd4f174ae187678ec3ed75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55413, "upload_time": "2019-10-13T01:20:11", "upload_time_iso_8601": "2019-10-13T01:20:11.881557Z", "url": "https://files.pythonhosted.org/packages/09/8e/9959dde4c319d1d847deb1d3cbf4efd80b3f378adf6b83b5c66aded45618/durable_rules-2.0.11.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.12": [ { "comment_text": "", "digests": { "md5": "baee2c01d6d72565c5cdd19a56fac023", "sha256": "5c94418324978409626e15175b38fb0c662603b48dddc433e52170c4debfdf6f" }, "downloads": -1, "filename": "durable_rules-2.0.12.tar.gz", "has_sig": false, "md5_digest": "baee2c01d6d72565c5cdd19a56fac023", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55937, "upload_time": "2019-10-28T00:46:54", "upload_time_iso_8601": "2019-10-28T00:46:54.882604Z", "url": "https://files.pythonhosted.org/packages/08/7f/514984b8c8cff15666a7e200416cfe586bdec7cabd2cd0eec88ce0a72782/durable_rules-2.0.12.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.13": [ { "comment_text": "", "digests": { "md5": "96fd607d0a4ddda60129fbd354b4daf3", "sha256": "5469c41838c5bc18476beee7d97d506c6fd33f16976faf58fc47497da0d8b1e2" }, "downloads": -1, "filename": "durable_rules-2.0.13.tar.gz", "has_sig": false, "md5_digest": "96fd607d0a4ddda60129fbd354b4daf3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56092, "upload_time": "2019-10-29T04:46:14", "upload_time_iso_8601": "2019-10-29T04:46:14.363413Z", "url": "https://files.pythonhosted.org/packages/10/5c/78a09d0f1862116f0b16936c0376de6ee5577b8dcdfea26be5027a55fa76/durable_rules-2.0.13.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.14": [ { "comment_text": "", "digests": { "md5": "95bdb01fd87f8713d05f1ec0afbc30fe", "sha256": "e26a4428c3fdbda4e57c019791b91ca493b596c886de8bdf14f94457f6013632" }, "downloads": -1, "filename": "durable_rules-2.0.14.tar.gz", "has_sig": false, "md5_digest": "95bdb01fd87f8713d05f1ec0afbc30fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56104, "upload_time": "2019-11-02T18:06:40", "upload_time_iso_8601": "2019-11-02T18:06:40.551443Z", "url": "https://files.pythonhosted.org/packages/03/05/4f0c3447db5d0e7b64cd7819a508cb4d44b7bd4d4e7cea0e6c93a868a129/durable_rules-2.0.14.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.15": [ { "comment_text": "", "digests": { "md5": "94901f63421d7c9608517343724d865d", "sha256": "54789d588fd329e38745249719f3f1cbfdad7008759e1f820faa8ac804bbdb6b" }, "downloads": -1, "filename": "durable_rules-2.0.15.tar.gz", "has_sig": false, "md5_digest": "94901f63421d7c9608517343724d865d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56173, "upload_time": "2019-12-01T20:10:46", "upload_time_iso_8601": "2019-12-01T20:10:46.020410Z", "url": "https://files.pythonhosted.org/packages/a2/09/d3b9c0de132dcf1f92dc972e77284a76654d055aef088dcf474b97784778/durable_rules-2.0.15.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.16": [ { "comment_text": "", "digests": { "md5": "e28a3baa27b338617cfedf92b3a2c0cf", "sha256": "c1e1f7bd9fc947b2cb30c3cb9ccedca3626cdcd367837ec916d7d8398fd63651" }, "downloads": -1, "filename": "durable_rules-2.0.16.tar.gz", "has_sig": false, "md5_digest": "e28a3baa27b338617cfedf92b3a2c0cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56230, "upload_time": "2019-12-14T19:36:53", "upload_time_iso_8601": "2019-12-14T19:36:53.774112Z", "url": "https://files.pythonhosted.org/packages/5a/35/b07f695f38c29f3e63871140aa4d8939b3e47177f4ea772ef6559da0ebb5/durable_rules-2.0.16.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.17": [ { "comment_text": "", "digests": { "md5": "c8446d4e9f6a2fe7b16268f5fde2aafb", "sha256": "a7be720090a13479d40ade92b947a14b6c90c2c02cf5ef3fc9ccc63e633bfd9d" }, "downloads": -1, "filename": "durable_rules-2.0.17.tar.gz", "has_sig": false, "md5_digest": "c8446d4e9f6a2fe7b16268f5fde2aafb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56245, "upload_time": "2019-12-15T01:43:13", "upload_time_iso_8601": "2019-12-15T01:43:13.353531Z", "url": "https://files.pythonhosted.org/packages/14/37/a967fe760a9e0c253f6114b61842510be861a54e50b21bc8c3f6d9b30829/durable_rules-2.0.17.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.18": [ { "comment_text": "", "digests": { "md5": "eab29d205c407670d2e34c8fe545d1ba", "sha256": "338f8315a25bf9c3da339164e32f140cff03a4016b1b435d9f37168886a8806e" }, "downloads": -1, "filename": "durable_rules-2.0.18.tar.gz", "has_sig": false, "md5_digest": "eab29d205c407670d2e34c8fe545d1ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56263, "upload_time": "2020-01-26T02:10:10", "upload_time_iso_8601": "2020-01-26T02:10:10.295090Z", "url": "https://files.pythonhosted.org/packages/a8/25/672abe5c53dcb9ca6d359cc7b9326e4014f33bb0d78a79212793843ce4c2/durable_rules-2.0.18.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.19": [ { "comment_text": "", "digests": { "md5": "7897745d7542f204ec19724d74bb97e9", "sha256": "d2b09ab16d9d925b5f48ee20180f97f0bba61889d42c8c82c5a2e001dd77fd37" }, "downloads": -1, "filename": "durable_rules-2.0.19.tar.gz", "has_sig": false, "md5_digest": "7897745d7542f204ec19724d74bb97e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56263, "upload_time": "2020-01-26T03:37:59", "upload_time_iso_8601": "2020-01-26T03:37:59.403026Z", "url": "https://files.pythonhosted.org/packages/9e/a4/bed88ea15e271019738c2fc094b6dbe5ed2f4346a40a413c72eeca224906/durable_rules-2.0.19.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "014086031ec23965f0a074e8d70c8d3e", "sha256": "d9910ed5cbc24aa0b1ea0bdf4ef390c47904f3af5bdf2ff6ccf404ecdb17ddfe" }, "downloads": -1, "filename": "durable_rules-2.0.2.tar.gz", "has_sig": false, "md5_digest": "014086031ec23965f0a074e8d70c8d3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52777, "upload_time": "2019-07-01T01:31:22", "upload_time_iso_8601": "2019-07-01T01:31:22.553874Z", "url": "https://files.pythonhosted.org/packages/03/c6/00347af00da402d8f48a737ebe3f2cd6cf5d82a8d6eb3964bec0e8d42b64/durable_rules-2.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.20": [ { "comment_text": "", "digests": { "md5": "d702e2ca73f239b7d88396fb60e4b0fd", "sha256": "5a1785b13c606421e954c43f75a487f236b4dcb55f97fe72cbdad20c763afc54" }, "downloads": -1, "filename": "durable_rules-2.0.20.tar.gz", "has_sig": false, "md5_digest": "d702e2ca73f239b7d88396fb60e4b0fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56315, "upload_time": "2020-02-24T05:54:05", "upload_time_iso_8601": "2020-02-24T05:54:05.160280Z", "url": "https://files.pythonhosted.org/packages/33/51/a4c2975f12463a5534cc6cbc2d9ca2240bd97c183fed6eb4fa256e52975a/durable_rules-2.0.20.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.21": [ { "comment_text": "", "digests": { "md5": "44c689c79c2cc1f0020ae55f10313e0e", "sha256": "8247d4090e832e41276b7867912603354bc06ec3e5e48082b2913fab9ed307f9" }, "downloads": -1, "filename": "durable_rules-2.0.21.tar.gz", "has_sig": false, "md5_digest": "44c689c79c2cc1f0020ae55f10313e0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56421, "upload_time": "2020-03-07T21:01:40", "upload_time_iso_8601": "2020-03-07T21:01:40.571692Z", "url": "https://files.pythonhosted.org/packages/82/1d/caeed8230452238c8f1e7289ab80bfc3ca825aba579415b5126446b05a1f/durable_rules-2.0.21.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.22": [ { "comment_text": "", "digests": { "md5": "1d5fb84ec84ecad6195ae82b74a29046", "sha256": "a73c0688606655b6f3cbcd6d3411bbdfe6e1f128f735c09da9c5954e2c39ddce" }, "downloads": -1, "filename": "durable_rules-2.0.22.tar.gz", "has_sig": false, "md5_digest": "1d5fb84ec84ecad6195ae82b74a29046", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57149, "upload_time": "2020-03-15T02:26:34", "upload_time_iso_8601": "2020-03-15T02:26:34.378790Z", "url": "https://files.pythonhosted.org/packages/4c/cf/9f3909ba1140412c03d57a6dd4b3373001e6ee946ae63012d57981579834/durable_rules-2.0.22.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.23": [ { "comment_text": "", "digests": { "md5": "fb1888931d81537713dce8f8f5297db9", "sha256": "67ac5a2bf1d2c4ec4e647c8e77357bf512f526202f998a3325f53fc4e853746a" }, "downloads": -1, "filename": "durable_rules-2.0.23.tar.gz", "has_sig": false, "md5_digest": "fb1888931d81537713dce8f8f5297db9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57204, "upload_time": "2020-03-23T04:56:09", "upload_time_iso_8601": "2020-03-23T04:56:09.206184Z", "url": "https://files.pythonhosted.org/packages/79/08/07fb0c098ab41d3052924e2f0994134410a21b5a0b4bee9c1ae5e217fc70/durable_rules-2.0.23.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.24": [ { "comment_text": "", "digests": { "md5": "67c4fead46c4d17c23e978daf639499c", "sha256": "d8808ad62bcdff75381eac5c49902b291d85bda5037cbe57436d1323f06f3ca3" }, "downloads": -1, "filename": "durable_rules-2.0.24.tar.gz", "has_sig": false, "md5_digest": "67c4fead46c4d17c23e978daf639499c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57475, "upload_time": "2020-03-30T04:21:02", "upload_time_iso_8601": "2020-03-30T04:21:02.663362Z", "url": "https://files.pythonhosted.org/packages/7b/0a/71264f1966c24bab02021b76d721925ccc229baa903d74af9c1489d4e52a/durable_rules-2.0.24.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.25": [ { "comment_text": "", "digests": { "md5": "6fa29bbf4c94dcffabb18d89570b0c91", "sha256": "eb2bdd48f84997e6514ebda953312d09de2a7fd83066511bae0744c1328a68a3" }, "downloads": -1, "filename": "durable_rules-2.0.25.tar.gz", "has_sig": false, "md5_digest": "6fa29bbf4c94dcffabb18d89570b0c91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57464, "upload_time": "2020-04-05T19:45:22", "upload_time_iso_8601": "2020-04-05T19:45:22.043762Z", "url": "https://files.pythonhosted.org/packages/ad/b1/eb72e67a640ea2c98d0e7ed7d25c1e3ac4ff73cbcff3341c31f59e010c61/durable_rules-2.0.25.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.26": [ { "comment_text": "", "digests": { "md5": "f1f8bc9ad9f338f57cf280bb94ecce84", "sha256": "6561d3c0c8a655ff5f8683ac1cc7998d94f2ff188655bbc822f8ab76755eeb8b" }, "downloads": -1, "filename": "durable_rules-2.0.26.tar.gz", "has_sig": false, "md5_digest": "f1f8bc9ad9f338f57cf280bb94ecce84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57481, "upload_time": "2020-04-13T04:46:10", "upload_time_iso_8601": "2020-04-13T04:46:10.868398Z", "url": "https://files.pythonhosted.org/packages/57/32/4f4cc19bd68102c4c0c77a88ef599a361da953db2d403a482808f113213d/durable_rules-2.0.26.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.27": [ { "comment_text": "", "digests": { "md5": "f0e6b65a597ba9ecb56ca82e666ef03f", "sha256": "d90850f9bd50f16281bd7dac6b592bc7b4d7484ea695037a33c02873f57eb6fc" }, "downloads": -1, "filename": "durable_rules-2.0.27.tar.gz", "has_sig": false, "md5_digest": "f0e6b65a597ba9ecb56ca82e666ef03f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57553, "upload_time": "2020-04-20T00:43:28", "upload_time_iso_8601": "2020-04-20T00:43:28.412732Z", "url": "https://files.pythonhosted.org/packages/fd/e4/941560ef9928abf1a2d40acd3d08784cbc2f2c48b8242a364f2ed588282a/durable_rules-2.0.27.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.28": [ { "comment_text": "", "digests": { "md5": "65678d26cfc4fd72f7413662887cfdf3", "sha256": "053b26f5e48d312d4fa27995243f954671be6eece477f150c059c364eb4d7d61" }, "downloads": -1, "filename": "durable_rules-2.0.28.tar.gz", "has_sig": false, "md5_digest": "65678d26cfc4fd72f7413662887cfdf3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57572, "upload_time": "2020-06-07T05:22:21", "upload_time_iso_8601": "2020-06-07T05:22:21.831670Z", "url": "https://files.pythonhosted.org/packages/91/f2/3194b4eaf7260bae0a4f046dfdda5db2ed9d58b3d7a051e375b3c14d8f26/durable_rules-2.0.28.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "02cf9accc933f51f0a60dcb91b076055", "sha256": "19e70d86b4453d7bbffdad4a1ca7a9c316f9c793cd64d8679142524a6261e906" }, "downloads": -1, "filename": "durable_rules-2.0.3.tar.gz", "has_sig": false, "md5_digest": "02cf9accc933f51f0a60dcb91b076055", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53070, "upload_time": "2019-07-08T05:23:13", "upload_time_iso_8601": "2019-07-08T05:23:13.237810Z", "url": "https://files.pythonhosted.org/packages/2c/13/49d1fcc6d49e8aa9cf6d5adc2d9be73c7e59a744efef67a72ea7a2bfe2d2/durable_rules-2.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "b6f397a76ccdc523321e466566c39638", "sha256": "495fec3420c680d3e507c515dfeeb22d524a3ea3ef752d57b68e4cb4e3df6496" }, "downloads": -1, "filename": "durable_rules-2.0.4.tar.gz", "has_sig": false, "md5_digest": "b6f397a76ccdc523321e466566c39638", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53179, "upload_time": "2019-07-17T05:24:38", "upload_time_iso_8601": "2019-07-17T05:24:38.571244Z", "url": "https://files.pythonhosted.org/packages/5e/f3/cff3df9d5807a7af2da06889c2af9a2aa1e403b580344b0265caf610ba0f/durable_rules-2.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "42dec37d7c156ae88c441434f19e7373", "sha256": "1026d20faa12af4f302e64eddc8ed682e53aa47c03e036a7e8279c7ec0e4fb50" }, "downloads": -1, "filename": "durable_rules-2.0.5.tar.gz", "has_sig": false, "md5_digest": "42dec37d7c156ae88c441434f19e7373", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53175, "upload_time": "2019-07-21T01:57:41", "upload_time_iso_8601": "2019-07-21T01:57:41.072415Z", "url": "https://files.pythonhosted.org/packages/78/65/31a1f1735ff522084e42307735f8476fc5caea84966d6c0cdce64b68286d/durable_rules-2.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.6": [ { "comment_text": "", "digests": { "md5": "336e4c202d2a0eb8c948ac4e536c4825", "sha256": "1f04e0401ea2f1a8d5ca0007cbb6db079731b9f03ac7be6e2f25ee44b0b0cc43" }, "downloads": -1, "filename": "durable_rules-2.0.6.tar.gz", "has_sig": false, "md5_digest": "336e4c202d2a0eb8c948ac4e536c4825", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54651, "upload_time": "2019-08-05T04:54:37", "upload_time_iso_8601": "2019-08-05T04:54:37.773487Z", "url": "https://files.pythonhosted.org/packages/58/0e/28dde292d17ef384fa61cc244329229eff7e1ff5004ebdff5420b1c9d5bf/durable_rules-2.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.7": [ { "comment_text": "", "digests": { "md5": "3672ac30066b92384078e71d4b3fa55b", "sha256": "62979217178ddeeb2501d9c20e32d7f7cb721763a0c37d3a8327ac2f6d89d39d" }, "downloads": -1, "filename": "durable_rules-2.0.7.tar.gz", "has_sig": false, "md5_digest": "3672ac30066b92384078e71d4b3fa55b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54698, "upload_time": "2019-08-11T06:22:47", "upload_time_iso_8601": "2019-08-11T06:22:47.102637Z", "url": "https://files.pythonhosted.org/packages/c1/2a/8082c70e46afbda0b76da260403de4302a14772557301e959e635c70ffef/durable_rules-2.0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.8": [ { "comment_text": "", "digests": { "md5": "6c38abb90e7a20c9612993303c5704a1", "sha256": "399e2bae9daa469ba39b323166653cd782557f18d0832a4a6a19e19f76769d86" }, "downloads": -1, "filename": "durable_rules-2.0.8.tar.gz", "has_sig": false, "md5_digest": "6c38abb90e7a20c9612993303c5704a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55328, "upload_time": "2019-09-21T17:58:09", "upload_time_iso_8601": "2019-09-21T17:58:09.267639Z", "url": "https://files.pythonhosted.org/packages/46/6b/321add5a7c353740128f1ac2a462499b8d5d51bc36c87f4e86da1726cd3e/durable_rules-2.0.8.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.9": [ { "comment_text": "", "digests": { "md5": "1179bb64f054159d6272441997a45ec3", "sha256": "f42fef170e7d9a374c9f7058349f0f88453d4f2e5801970c10dda4a49605d8d5" }, "downloads": -1, "filename": "durable_rules-2.0.9.tar.gz", "has_sig": false, "md5_digest": "1179bb64f054159d6272441997a45ec3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55329, "upload_time": "2019-10-02T05:47:37", "upload_time_iso_8601": "2019-10-02T05:47:37.516601Z", "url": "https://files.pythonhosted.org/packages/26/4f/bc135d62a21e10bf1a9622b93241d8e44defd7dc3eac354dd1a97475dab4/durable_rules-2.0.9.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "65678d26cfc4fd72f7413662887cfdf3", "sha256": "053b26f5e48d312d4fa27995243f954671be6eece477f150c059c364eb4d7d61" }, "downloads": -1, "filename": "durable_rules-2.0.28.tar.gz", "has_sig": false, "md5_digest": "65678d26cfc4fd72f7413662887cfdf3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57572, "upload_time": "2020-06-07T05:22:21", "upload_time_iso_8601": "2020-06-07T05:22:21.831670Z", "url": "https://files.pythonhosted.org/packages/91/f2/3194b4eaf7260bae0a4f046dfdda5db2ed9d58b3d7a051e375b3c14d8f26/durable_rules-2.0.28.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }