{ "info": { "author": "Dotan Nahum", "author_email": "jondotan@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7" ], "description": "![](media/cover.png)\n\n# Formation\n[![Build Status](https://travis-ci.org/jondot/formation.svg?branch=master)](https://travis-ci.org/jondot/formation.svg)\n[![Coverage Status](https://coveralls.io/repos/github/jondot/formation/badge.svg?branch=master)](https://coveralls.io/github/jondot/formation?branch=master)\n\nA generic functional middleware infrastructure for Python.\n\nTake a look:\n\n```py\nfrom datetime.datetime import now\nfrom formation import wrap\nfrom requests import get\n\ndef log(ctx, call):\n print(\"started\")\n ctx = call(ctx)\n print(\"ended\")\n return ctx\n\ndef timeit(ctx, call):\n started = now()\n ctx = call(ctx)\n ended = now() - started\n ctx['duration'] = ended\n return ctx\n\ndef to_requests(ctx):\n get(ctx['url'])\n\nfancy_get = wrap(to_requests, middleware=[log, timeit])\nfancy_get({'url':'https://google.com'})\n```\n\n## Quick Start\n\nInstall using pip/pipenv/etc. (we recommend [poetry](https://github.com/sdispater/poetry) for sane dependency management):\n\n```\n$ poetry add formation\n```\n\n## Best Practices\n\nA `context` object is a loose bag of objects. With that freedom comes responsibility and opinion.\n\nFor example, this is how Formation models a `requests` integration, with data flowing inside `context`:\n\n\n* It models a `FormationHttpRequest` which abstracts the essentials of making an HTTP request (later shipped to `requests` itself in the way that it likes)\n* It tucks `FormationHttpRequest` under the `fmtn.req` key.\n* Additional information regarding such a request is kept _alongside_ `fmtn.req`. For example a request id is kept in the `req.id` key. This creates a flat (good thing) dict to probe. The reason additional data does not have the `fmtn` prefix is that you can always build your own that uses a different prefix (which you cant say about internal Formation inner workings).\n\n\n\n\n\n\n### Thanks:\n\nTo all [Contributors](https://github.com/jondot/formation/graphs/contributors) - you make this happen, thanks!\n\n# Copyright\n\nCopyright (c) 2018 [@jondot](http://twitter.com/jondot). See [LICENSE](LICENSE.txt) for further details.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jondot/formation", "keywords": "flask,django,requests,middleware,functional", "license": "MIT", "maintainer": "Dotan Nahum", "maintainer_email": "jondotan@gmail.com", "name": "formation", "package_url": "https://pypi.org/project/formation/", "platform": "", "project_url": "https://pypi.org/project/formation/", "project_urls": { "Documentation": "https://github.com/jondot/formation", "Homepage": "https://github.com/jondot/formation", "Repository": "https://github.com/jondot/formation" }, "release_url": "https://pypi.org/project/formation/0.1.36/", "requires_dist": [ "toolz (>=0.9.0,<0.10.0)", "cytoolz (>=0.9.0,<0.10.0)", "requests (>=2.20,<3.0)", "pybreaker (>=0.4.5,<0.5.0)", "xmltodict (>=0.11.0,<0.12.0)", "lxml (>=4.2,<5.0)", "attrs (>=19.1,<20.0)", "attrs-serde (>=0.2.2,<0.3.0)" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "summary": "A generic functional middleware infrastructure for Python.", "version": "0.1.36" }, "last_serial": 5242919, "releases": { "0.1.10": [ { "comment_text": "", "digests": { "md5": "2b54076261dea94f7081af855d98705f", "sha256": "32f977507b6577ffc3ab2dec778c6fd68c99dc4942d24cf66b29ea042ee86b5c" }, "downloads": -1, "filename": "formation-0.1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2b54076261dea94f7081af855d98705f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3991, "upload_time": "2018-11-22T07:57:11", "url": "https://files.pythonhosted.org/packages/c5/dc/eb7bf4d1cca3cb7c66163fda5cc5b6c9dd32f399f4b55d2e442914bd5c73/formation-0.1.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2001752550136d805fd6bc4f9948a714", "sha256": "30aae78b3efb6b66925b1ba95e8e8abc3c662d1e0d5cf00cfeb43db9494b2a2b" }, "downloads": -1, "filename": "formation-0.1.10.tar.gz", "has_sig": false, "md5_digest": "2001752550136d805fd6bc4f9948a714", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2608, "upload_time": "2018-11-22T07:57:13", "url": "https://files.pythonhosted.org/packages/73/26/6fc4ce86242c8b103e23ba1fe3bb455d6369ae31197d3bdd2cd6b29d7d42/formation-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "d67090554af3f121bbd22f6b70b15bd8", "sha256": "6304b44bbb18937f32b1f49d5bb1014d286e42930fc53610d33dfb39fd819523" }, "downloads": -1, "filename": "formation-0.1.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d67090554af3f121bbd22f6b70b15bd8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3953, "upload_time": "2018-11-22T07:58:42", "url": "https://files.pythonhosted.org/packages/8c/8b/85bafc4fe4aff09da2e7aa24aede0a959dc6d4f761c84c34d2e1c969b051/formation-0.1.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d270dd9cb9abfd6f38a0d2a7487de56e", "sha256": "df007d217d12ee671849f20398b39d244387039f27d9bc8d5bdc6035b3674cd9" }, "downloads": -1, "filename": "formation-0.1.11.tar.gz", "has_sig": false, "md5_digest": "d270dd9cb9abfd6f38a0d2a7487de56e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2604, "upload_time": "2018-11-22T07:58:44", "url": "https://files.pythonhosted.org/packages/2a/a8/1d248d1f162200e0a362b9fad08f43daca74b31ebfa44ad5126d0beacec4/formation-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "99d81a71b3d6b3d1b12e886f8803bc3a", "sha256": "d05bdc59303668bd508cda1ca8163ec2f46ad0aace97d75bb06933e38fab0e6c" }, "downloads": -1, "filename": "formation-0.1.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "99d81a71b3d6b3d1b12e886f8803bc3a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4100, "upload_time": "2018-12-02T15:34:52", "url": "https://files.pythonhosted.org/packages/3d/ee/55cbe9ca4532deb7ec7fddda14544acf24cbdd5c8d3743e78c94959e2e47/formation-0.1.12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7a15dfa3a5a75a78d2f93f7b76a2385", "sha256": "c25352878bafa1032432ed9542222b42e5dc7895beab1fbcaa67e9586be3c4c6" }, "downloads": -1, "filename": "formation-0.1.12.tar.gz", "has_sig": false, "md5_digest": "e7a15dfa3a5a75a78d2f93f7b76a2385", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2692, "upload_time": "2018-12-02T15:34:54", "url": "https://files.pythonhosted.org/packages/ef/0b/e81a17ddfbf98e31e334889dc6e9b32779a1d1c881569863260fa21ad2bd/formation-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "55e469a7db8e2aa590ef345205963766", "sha256": "a790d51dba1895a33d49225d21c4a6fdcafaf33a6688cd9e6608ad3c3fd7f7d8" }, "downloads": -1, "filename": "formation-0.1.13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "55e469a7db8e2aa590ef345205963766", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4524, "upload_time": "2018-12-02T15:46:18", "url": "https://files.pythonhosted.org/packages/41/17/261eb5f50ca9a92680b6268f76cc75b6313f707253bc9fee3fe2b153b23c/formation-0.1.13-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "33706e0b88db4f517a459af4a8795885", "sha256": "f0c66f5fb4a25bb7282bcae2f3542ea23f64626a30fa4b2061d4f38c3737cf1a" }, "downloads": -1, "filename": "formation-0.1.13.tar.gz", "has_sig": false, "md5_digest": "33706e0b88db4f517a459af4a8795885", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3138, "upload_time": "2018-12-02T15:46:20", "url": "https://files.pythonhosted.org/packages/14/db/b991fd73eb90545be1e6bc721fdfd6fa2bc811f096afde9c3b0e18eb6a3b/formation-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "ccf13c473a20b2b4f046e70ad52cc094", "sha256": "1c4736b7f0619547401f7522b127385a93b484a85c3189e9a63bfd73ddfe12ea" }, "downloads": -1, "filename": "formation-0.1.14-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ccf13c473a20b2b4f046e70ad52cc094", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6996, "upload_time": "2018-12-02T16:03:13", "url": "https://files.pythonhosted.org/packages/d6/f9/9a54787840e3c50f59bdbce8c69769ea5fd98e72a39bbf2750efffe0105e/formation-0.1.14-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0c0c6a0f3bf2b748af14baad4ded1f2", "sha256": "cd4e8e1e2910d1328e3a6c616901a846d8d1677165f37ce9222e26648fc83ff4" }, "downloads": -1, "filename": "formation-0.1.14.tar.gz", "has_sig": false, "md5_digest": "b0c0c6a0f3bf2b748af14baad4ded1f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3835, "upload_time": "2018-12-02T16:03:15", "url": "https://files.pythonhosted.org/packages/21/55/0a64d8cce4b44f3dd19df0236bfd71be5832d997104ca8e2da72845d80f3/formation-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "02533b7b4b37ab577065418c1b4ea967", "sha256": "72bd0a620c8c8601ce6eabbf1078c5a4c987b9b612c75d77c16e4fbfe629cd29" }, "downloads": -1, "filename": "formation-0.1.15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "02533b7b4b37ab577065418c1b4ea967", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8982, "upload_time": "2018-12-04T14:30:15", "url": "https://files.pythonhosted.org/packages/e9/20/582521a612088b14bddda27b9527eee07c3546c604cdcfee9520ce4af1ca/formation-0.1.15-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a67a7fe4f1cce64cef829609f7717362", "sha256": "41ab3647bb53606db9f86687ae5e3023ca26ae64bb5524c1a4ad28d9a37f9593" }, "downloads": -1, "filename": "formation-0.1.15.tar.gz", "has_sig": false, "md5_digest": "a67a7fe4f1cce64cef829609f7717362", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4421, "upload_time": "2018-12-04T14:30:16", "url": "https://files.pythonhosted.org/packages/25/bd/5f7c222770f2b7f280f3509c5c0a6aa6e01c606c18247dcbbb61fcaaaff9/formation-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "134a759f8c5c318b1e8e5d4eb07974b1", "sha256": "f9b4ced4bed7b36b6966e8e51b1e7dc487088a7464ed5642f60ffbb1a20c423e" }, "downloads": -1, "filename": "formation-0.1.16-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "134a759f8c5c318b1e8e5d4eb07974b1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9746, "upload_time": "2018-12-11T08:16:52", "url": "https://files.pythonhosted.org/packages/c1/59/969cbfe9ddea8b0427da7e6f75ec685ffa571e9ed9301d3d3fd7cde793c1/formation-0.1.16-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bba3195e6745b9684843385a04ddaa1a", "sha256": "65858d481cdbf52cccdc6d9e6fe7aa0c84b41ddddb45ad8460b2cad1b20dcb10" }, "downloads": -1, "filename": "formation-0.1.16.tar.gz", "has_sig": false, "md5_digest": "bba3195e6745b9684843385a04ddaa1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4558, "upload_time": "2018-12-11T08:16:54", "url": "https://files.pythonhosted.org/packages/5d/ae/f7efca602c08be3f0a2cce9b87fd61cff7c1fc0042f3861a836ddf8c1494/formation-0.1.16.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "14839f8e95f549561fae7648aa38c9ec", "sha256": "42bf76d1f1b00923c85a6b766a80a94d8367e930a113e9c8513a9a7b9c1d1179" }, "downloads": -1, "filename": "formation-0.1.17-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "14839f8e95f549561fae7648aa38c9ec", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10558, "upload_time": "2018-12-12T07:32:42", "url": "https://files.pythonhosted.org/packages/ea/64/704cb7264f6f0394c39ca11aca3cca693acd2b36b41463621449774191cc/formation-0.1.17-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "390abd0018072b902c46a1d01140fb87", "sha256": "717202c6e1b0a2bf7f5c6a573e7cdef8417d790d3baa36f41c286096d057958b" }, "downloads": -1, "filename": "formation-0.1.17.tar.gz", "has_sig": false, "md5_digest": "390abd0018072b902c46a1d01140fb87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4774, "upload_time": "2018-12-12T07:32:44", "url": "https://files.pythonhosted.org/packages/b5/15/d4f2fed60bd312feedeae0a4fd5dea7201db3d294c934c6f2f758f5dcbbd/formation-0.1.17.tar.gz" } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "2a0be6dc3d9c12d5c4623dd8b3afbff8", "sha256": "e4ab0de331caf10a542fe7daa6d42a7ae76488a5867d1a466c6ba6e7e91c4bd0" }, "downloads": -1, "filename": "formation-0.1.18-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2a0be6dc3d9c12d5c4623dd8b3afbff8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10553, "upload_time": "2018-12-12T07:53:47", "url": "https://files.pythonhosted.org/packages/c0/f5/0a68308668536f9413528b0f075d3d419e65bd7d8b0ddaf67dd5482f98a2/formation-0.1.18-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "181bf2f4c2adbef1816f4a684f855d43", "sha256": "b3a7c1ee32f7a58a5b0a454846b3ca5932b74f5b7ccdf24d5d6f85dd761d7ae2" }, "downloads": -1, "filename": "formation-0.1.18.tar.gz", "has_sig": false, "md5_digest": "181bf2f4c2adbef1816f4a684f855d43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4777, "upload_time": "2018-12-12T07:53:49", "url": "https://files.pythonhosted.org/packages/d5/b0/b2f821bd851db51f0215035a35c3bd5b9adc224285d779e75fef0227d661/formation-0.1.18.tar.gz" } ], "0.1.19": [ { "comment_text": "", "digests": { "md5": "d211c4f02ec85d664861491389569f0f", "sha256": "9eb2dd51f6a7b1b885a07913c5e5b05d6d3ec049e2bf68ecc823dd83ac535ae6" }, "downloads": -1, "filename": "formation-0.1.19-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d211c4f02ec85d664861491389569f0f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10664, "upload_time": "2018-12-12T08:07:07", "url": "https://files.pythonhosted.org/packages/7a/e6/037ec75f1c0e98a0ae56ee073242228d46b6eb84d6533cbd1fffc8c5c42c/formation-0.1.19-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0254d0de395d557329704fe08e1d461f", "sha256": "25ee74890b8650d196dd0ecb1918a3df12cea8888922625f4af571b0978c18e2" }, "downloads": -1, "filename": "formation-0.1.19.tar.gz", "has_sig": false, "md5_digest": "0254d0de395d557329704fe08e1d461f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4801, "upload_time": "2018-12-12T08:07:09", "url": "https://files.pythonhosted.org/packages/b9/d2/18294c70cf10f64c2ee5aa3c06f53e230480580112113bbfcff45cb5a05c/formation-0.1.19.tar.gz" } ], "0.1.20": [ { "comment_text": "", "digests": { "md5": "fd44eaa2801a7e459401856dfc06b27b", "sha256": "babaa768e64bc4ea0c18ce13cd4ffa1e7a0bbd7eded35a66efbded4e7f8cce13" }, "downloads": -1, "filename": "formation-0.1.20-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fd44eaa2801a7e459401856dfc06b27b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10666, "upload_time": "2018-12-12T16:19:44", "url": "https://files.pythonhosted.org/packages/5f/29/51c194e2cfb7c05db8bdd84231430cb285e4642c300a2aae29514df21205/formation-0.1.20-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e01baf1e6b288e40b10fb209db1fd722", "sha256": "9cdf03c7357532214048f85faa008cd8fe45a0fc84aa3a3a8f765b8e9c407346" }, "downloads": -1, "filename": "formation-0.1.20.tar.gz", "has_sig": false, "md5_digest": "e01baf1e6b288e40b10fb209db1fd722", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4803, "upload_time": "2018-12-12T16:19:45", "url": "https://files.pythonhosted.org/packages/c0/28/31dc451371c9001ec57f14829dc6e18f09d10cd1e5b76ef2ef02d9cba348/formation-0.1.20.tar.gz" } ], "0.1.21": [ { "comment_text": "", "digests": { "md5": "d92be1480afcdd0d7311fd6012070ed3", "sha256": "0cba630d880c020d2d9c20ffc6b711919822c7f575bfbacc0cd04e98300aec79" }, "downloads": -1, "filename": "formation-0.1.21-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d92be1480afcdd0d7311fd6012070ed3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10663, "upload_time": "2018-12-12T17:01:36", "url": "https://files.pythonhosted.org/packages/57/d7/e2285e6ee0d5d6529cf82fde784e2d5171bd7a705b164c768462a50f2e5b/formation-0.1.21-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "50150d4ca72a4e87b774e5fdc589cb9e", "sha256": "9a5f19a94cce891f49103defc63fc0a81f32887aa71828ab1ce5f613dcaef0a5" }, "downloads": -1, "filename": "formation-0.1.21.tar.gz", "has_sig": false, "md5_digest": "50150d4ca72a4e87b774e5fdc589cb9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4794, "upload_time": "2018-12-12T17:01:38", "url": "https://files.pythonhosted.org/packages/b4/f2/15b0a4b07901c4e06f59fdea5f4427150ce2bb2003b85a65aabfc6435c8b/formation-0.1.21.tar.gz" } ], "0.1.22": [ { "comment_text": "", "digests": { "md5": "bc0ac88792ae05d943ea512870637a51", "sha256": "5f551e26069912c8f4625def94e0fc0ff2b0eee1ed7225fa963cfda857a63699" }, "downloads": -1, "filename": "formation-0.1.22-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bc0ac88792ae05d943ea512870637a51", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10661, "upload_time": "2018-12-12T17:53:22", "url": "https://files.pythonhosted.org/packages/f9/bc/4fd98bfb66dcd26b9449fd45fad88f96e63f2a179514d243d1e119e6aad9/formation-0.1.22-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "664c8172f2bfd8e07961408f9cedc38f", "sha256": "2837f2a68aed2f5e2db47c12dc5cd010b8f8be99580e24359f8d204c4b8f96a5" }, "downloads": -1, "filename": "formation-0.1.22.tar.gz", "has_sig": false, "md5_digest": "664c8172f2bfd8e07961408f9cedc38f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4795, "upload_time": "2018-12-12T17:53:25", "url": "https://files.pythonhosted.org/packages/46/e0/6065e71f9acbb15c70b9ea824866a9562395d2764bc4199e055e095e2813/formation-0.1.22.tar.gz" } ], "0.1.23": [ { "comment_text": "", "digests": { "md5": "32af73fd325bb3450b89e2c84e91f347", "sha256": "311fca08a5124ce1da933beb94cda91a7861bd9135a7ba29f28bf62a4219d3b6" }, "downloads": -1, "filename": "formation-0.1.23-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "32af73fd325bb3450b89e2c84e91f347", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10731, "upload_time": "2018-12-13T06:50:09", "url": "https://files.pythonhosted.org/packages/22/bb/e7893d7de0767ac08e31097ef214c95a3dca812a17a94f0adc8bc0275cfa/formation-0.1.23-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "172f2320cecbe4f5e0dd1373d666fb66", "sha256": "e71d6ca8adf17da538a6d8469f64f823982d851b5741edc1e959299c8e3c100c" }, "downloads": -1, "filename": "formation-0.1.23.tar.gz", "has_sig": false, "md5_digest": "172f2320cecbe4f5e0dd1373d666fb66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4808, "upload_time": "2018-12-13T06:50:12", "url": "https://files.pythonhosted.org/packages/98/b7/1fd7653f5ff37f2cbaf7dfd35efb8c43aff08e7a6a5cd5a8c04d990ed212/formation-0.1.23.tar.gz" } ], "0.1.24": [ { "comment_text": "", "digests": { "md5": "09dbf8a15e345e48eb328be09b479310", "sha256": "20c5df63c97936c17ca10deaddd7bf759db4e3d9ccc8f3e32505a34a716dfd16" }, "downloads": -1, "filename": "formation-0.1.24-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "09dbf8a15e345e48eb328be09b479310", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10731, "upload_time": "2018-12-13T07:26:27", "url": "https://files.pythonhosted.org/packages/18/0a/d19f07c1f4ccb24ce1770a9367cbf216b19e0b9dfae4d3e7ffc2893d9086/formation-0.1.24-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e4338ba3fc8ce4c3964995c7db24e75", "sha256": "4f42eef45f517a34e76c6a5eebbd1e961d4eaaddfba635b1e61b8e07c5f47aca" }, "downloads": -1, "filename": "formation-0.1.24.tar.gz", "has_sig": false, "md5_digest": "5e4338ba3fc8ce4c3964995c7db24e75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4809, "upload_time": "2018-12-13T07:26:29", "url": "https://files.pythonhosted.org/packages/40/45/5d174ff4aaaa1b2bdde9e58b1a137df4b2496b7c4af6b202ca28c6b6d793/formation-0.1.24.tar.gz" } ], "0.1.25": [ { "comment_text": "", "digests": { "md5": "5399ee1c307f4dcf1150f6cc4aba7fb5", "sha256": "b88bff1364e2061757579d05c69517f3c4b8816effbcd6da07a7a2a9cc0b8023" }, "downloads": -1, "filename": "formation-0.1.25-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5399ee1c307f4dcf1150f6cc4aba7fb5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10404, "upload_time": "2018-12-13T07:36:15", "url": "https://files.pythonhosted.org/packages/d5/e2/04f31311042e1bae388ee61426865d01a3869506e653428fcab040085164/formation-0.1.25-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "979a728f6a222eb25d74803435b22ecb", "sha256": "25c83448bd11200460bfb25bcccada05a0cd88280f8495e7f92998a3281a21f0" }, "downloads": -1, "filename": "formation-0.1.25.tar.gz", "has_sig": false, "md5_digest": "979a728f6a222eb25d74803435b22ecb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4770, "upload_time": "2018-12-13T07:36:16", "url": "https://files.pythonhosted.org/packages/ad/e3/e8eee253f4590049ffc8398b2104ef2ab02da28914798ec374c643ae5af7/formation-0.1.25.tar.gz" } ], "0.1.26": [ { "comment_text": "", "digests": { "md5": "a3b7c6e286c9294b0cf30b7997feacc9", "sha256": "d8176ab2e69189c28ef36cad622a748c80e8497155fc90d199458a10b1b65ae5" }, "downloads": -1, "filename": "formation-0.1.26-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a3b7c6e286c9294b0cf30b7997feacc9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10401, "upload_time": "2018-12-13T08:04:33", "url": "https://files.pythonhosted.org/packages/2b/3d/a03ee91520d9bb84b78f95077058304e3edcbf2caeea6f943c813e863272/formation-0.1.26-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f67ad95be6199e1ada1834ffa88a22ee", "sha256": "a9b56fa671d40db5014d77e4a5e14ec81c0c96b2d018c5a78ccf6639f716fab1" }, "downloads": -1, "filename": "formation-0.1.26.tar.gz", "has_sig": false, "md5_digest": "f67ad95be6199e1ada1834ffa88a22ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4774, "upload_time": "2018-12-13T08:04:35", "url": "https://files.pythonhosted.org/packages/fa/87/260061d055f517757fdb67ff3ae58aa605ef8c39ffe30699425367cc9948/formation-0.1.26.tar.gz" } ], "0.1.27": [ { "comment_text": "", "digests": { "md5": "6b99b0b1647cce43bf74bc4c67fe4e58", "sha256": "cc682e77cf824d1cdab89e573d481a58455b96af5c9d29fc36a99f8b31b081cc" }, "downloads": -1, "filename": "formation-0.1.27-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6b99b0b1647cce43bf74bc4c67fe4e58", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10399, "upload_time": "2018-12-13T08:26:34", "url": "https://files.pythonhosted.org/packages/d0/e9/a8849bf494eca0d7a6755bc87615886adab08a008b4fc8c19f9a6d18c963/formation-0.1.27-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c14af14621999403b34e07d55896f786", "sha256": "5b0adab71b7b3d394f0fc28b5fee5141e96d68e33c573586377bf2be794d27bf" }, "downloads": -1, "filename": "formation-0.1.27.tar.gz", "has_sig": false, "md5_digest": "c14af14621999403b34e07d55896f786", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4781, "upload_time": "2018-12-13T08:26:35", "url": "https://files.pythonhosted.org/packages/26/a6/a5216ceb284c6723ccd83fc3b26f1e4b676e6ee4178c16cba19e644c5ca8/formation-0.1.27.tar.gz" } ], "0.1.30": [ { "comment_text": "", "digests": { "md5": "89c5c069629466d3e4703f5f428ac51c", "sha256": "cab3e63b38594397a5af03b0066761a53668b8c7d35c765925973a5b0bb534d3" }, "downloads": -1, "filename": "formation-0.1.30-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "89c5c069629466d3e4703f5f428ac51c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 16504, "upload_time": "2019-01-30T08:16:56", "url": "https://files.pythonhosted.org/packages/87/c2/cc666baf93c7c505e48a9d070561122c4c5a933cdb0c18a98bdbcf33a840/formation-0.1.30-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a1798f707fe7b36260a76ba80881dbd", "sha256": "080a618500a74c06317d0778e5bcc666a93b04c6e75528b3a2afb221de880f19" }, "downloads": -1, "filename": "formation-0.1.30.tar.gz", "has_sig": false, "md5_digest": "2a1798f707fe7b36260a76ba80881dbd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 6999, "upload_time": "2019-01-30T08:16:58", "url": "https://files.pythonhosted.org/packages/69/34/5d865afe5b20ab069df2f30e9eb2f6d19368ac70ab5405f2022f6dc79b77/formation-0.1.30.tar.gz" } ], "0.1.31": [ { "comment_text": "", "digests": { "md5": "71c446ad73af13d6ad9348bf60dfb8c8", "sha256": "a2160eecbbac446e5fac16400f12726ede28e837cf6acab86fca07881c61b943" }, "downloads": -1, "filename": "formation-0.1.31-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "71c446ad73af13d6ad9348bf60dfb8c8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 9187, "upload_time": "2019-04-18T09:58:21", "url": "https://files.pythonhosted.org/packages/7f/1c/137c35cf103573b9bc31482fb4fc4b43379de074271ac189db70e42cd62c/formation-0.1.31-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "424d244a0b1dfd60364f7fbf3f53f460", "sha256": "9b5d933861a7cd2e302b65bc6e7365b83f59fb7c78f6ef045391aa47bb4315f1" }, "downloads": -1, "filename": "formation-0.1.31.tar.gz", "has_sig": false, "md5_digest": "424d244a0b1dfd60364f7fbf3f53f460", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 7264, "upload_time": "2019-04-18T09:58:23", "url": "https://files.pythonhosted.org/packages/21/7e/bf5a002bc85eb1c3ce9f9ad4e339d625fc86fe3afe7d5714358a7cabbbf8/formation-0.1.31.tar.gz" } ], "0.1.32": [ { "comment_text": "", "digests": { "md5": "108214f1fbfcf6fc6d2ff7e63d814527", "sha256": "2ec21ecf1efd4f2c585def60063523fe47cf44ec693df2dc4bba0825b82c070f" }, "downloads": -1, "filename": "formation-0.1.32-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "108214f1fbfcf6fc6d2ff7e63d814527", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 9211, "upload_time": "2019-04-18T13:57:01", "url": "https://files.pythonhosted.org/packages/f8/cb/9d3383b713acd676f6ae4c8544059d3a397c778d41082693d513b6d0f42d/formation-0.1.32-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "655f684872fd5a1ca4f3f4c3771215cf", "sha256": "2b7c772c2bf8b24c3743153fc8ab36eb16415ba6d1e496014d2c73bda994addf" }, "downloads": -1, "filename": "formation-0.1.32.tar.gz", "has_sig": false, "md5_digest": "655f684872fd5a1ca4f3f4c3771215cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 7292, "upload_time": "2019-04-18T13:57:04", "url": "https://files.pythonhosted.org/packages/e6/a0/f144a6db1063cd9805832f6d52c2f92dae05bd92e0dcd0da2bf9392419ad/formation-0.1.32.tar.gz" } ], "0.1.33": [ { "comment_text": "", "digests": { "md5": "dd795f18b31c2a116560f6c3c71f9553", "sha256": "623d5411c122aa58559db9c50a0f59991a8335ad654af92dd712d73c1dcbd1e1" }, "downloads": -1, "filename": "formation-0.1.33-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dd795f18b31c2a116560f6c3c71f9553", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 9286, "upload_time": "2019-04-18T14:47:10", "url": "https://files.pythonhosted.org/packages/8c/cb/892984bb7e77e0df48b58b199ab08ff32a60ee00ff3952b203082a9c2cb2/formation-0.1.33-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fbb3697a5bbbd84ad0c5283109d2dcd3", "sha256": "18a0caebb5b0e7427af3fa08d96152194f2db914e9bebc39dcc7da1a64277378" }, "downloads": -1, "filename": "formation-0.1.33.tar.gz", "has_sig": false, "md5_digest": "fbb3697a5bbbd84ad0c5283109d2dcd3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 7288, "upload_time": "2019-04-18T14:47:11", "url": "https://files.pythonhosted.org/packages/31/6a/a1449e588e08fc993d13ce87458895d96679add80b046ed16c784edf4302/formation-0.1.33.tar.gz" } ], "0.1.34": [ { "comment_text": "", "digests": { "md5": "f3a8e7779fb63b9b4ee94a8f0cebc582", "sha256": "c7bcd0a159fc518fe6c20b0036aa3f35254c5f6b47a9ec55fa8b79397dfcb728" }, "downloads": -1, "filename": "formation-0.1.34-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f3a8e7779fb63b9b4ee94a8f0cebc582", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 9261, "upload_time": "2019-05-01T05:58:39", "url": "https://files.pythonhosted.org/packages/a5/ab/97cbbac42c0123890e7e276047c664801f94d72ab9e4757f9753420a0d2b/formation-0.1.34-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e653b87f97de5423ce5aad1765ee3747", "sha256": "d7fb6cf4a0adffc936dbac610d714ae428400b45a543d268926d4329cdfd06bc" }, "downloads": -1, "filename": "formation-0.1.34.tar.gz", "has_sig": false, "md5_digest": "e653b87f97de5423ce5aad1765ee3747", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 7281, "upload_time": "2019-05-01T05:58:42", "url": "https://files.pythonhosted.org/packages/69/2d/51cad7afeb5ffd6e8e574b0a3d6eb5607d4da847a8356784ef2c3cd21f0f/formation-0.1.34.tar.gz" } ], "0.1.35": [ { "comment_text": "", "digests": { "md5": "9af4743325cb09a8fd4f1b09c46f270d", "sha256": "75abb5b879c286bc219ff1a3e5da6bc4b126815746d311d2338791a47e1b97a7" }, "downloads": -1, "filename": "formation-0.1.35-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9af4743325cb09a8fd4f1b09c46f270d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 9274, "upload_time": "2019-05-06T08:32:12", "url": "https://files.pythonhosted.org/packages/3e/31/5e5a8aed1a347e482bbae2a1eb7800059165d24a473e2c0d2645f626b732/formation-0.1.35-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "51715747861b4740f65ec3919e2dcafc", "sha256": "e1638f32cb91d17090ddac6655bc2cd5028875eb862867f10f61cd80920a9266" }, "downloads": -1, "filename": "formation-0.1.35.tar.gz", "has_sig": false, "md5_digest": "51715747861b4740f65ec3919e2dcafc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 7285, "upload_time": "2019-05-06T08:32:14", "url": "https://files.pythonhosted.org/packages/d0/c5/7fbf8d21396c3d64cc3de7d8dfeb32b95b92d1f014c79d2145ea0d4817d0/formation-0.1.35.tar.gz" } ], "0.1.36": [ { "comment_text": "", "digests": { "md5": "c9dced333f1a7fc300b1adc8a8d1f118", "sha256": "56c815a5831a959e5629056a14210714812298ad17a1dc1c775c5ef2e6912766" }, "downloads": -1, "filename": "formation-0.1.36-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c9dced333f1a7fc300b1adc8a8d1f118", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 9514, "upload_time": "2019-05-08T13:48:10", "url": "https://files.pythonhosted.org/packages/21/9f/20f8fb01ef55f14597d2047f069cd14539a38d2c1aa8153c1629fac65eaf/formation-0.1.36-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "054e52e1daee4cac352d8b52df993313", "sha256": "b034a14820e06d5df12b487ec55e61fca3d528bbf29403dfcae4a5862ac65532" }, "downloads": -1, "filename": "formation-0.1.36.tar.gz", "has_sig": false, "md5_digest": "054e52e1daee4cac352d8b52df993313", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 7647, "upload_time": "2019-05-08T13:48:11", "url": "https://files.pythonhosted.org/packages/b7/36/176aa2b67cfcfa8403f046cef38b85902001b0e7614097be7acd72216fdb/formation-0.1.36.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "112ebd642ff218703a656ad51e40dfee", "sha256": "f77b6d3f54712596c6216ff7e03991b6cbfb6148ec2e010dcb39f851bf9dc81f" }, "downloads": -1, "filename": "formation-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "112ebd642ff218703a656ad51e40dfee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2335, "upload_time": "2018-11-18T12:31:28", "url": "https://files.pythonhosted.org/packages/8c/d6/8413cb4b4ecb5b95851550a341e22cd123f1966267783b44f6454822ff87/formation-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f18529b53d8030eb8fbb9c127f9abfb", "sha256": "fa29efabe5183f92e01c23df812fb02786764ba1c7c065a6e09f316d2c0c3ce2" }, "downloads": -1, "filename": "formation-0.1.5.tar.gz", "has_sig": false, "md5_digest": "8f18529b53d8030eb8fbb9c127f9abfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2022, "upload_time": "2018-11-18T12:31:31", "url": "https://files.pythonhosted.org/packages/d0/42/d7a5b145706569a5c61bc584a63516f0f3292ec8985608746e259f5b29ba/formation-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "cd337432a57dd55dc3c408e438ff7105", "sha256": "b5cc2eac5eaf0d3311ebf92435db885c256392f9ba588ebe29f9631b4e75c040" }, "downloads": -1, "filename": "formation-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cd337432a57dd55dc3c408e438ff7105", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3270, "upload_time": "2018-11-18T16:15:18", "url": "https://files.pythonhosted.org/packages/f4/d3/b909b38dfb50ae07d514649a779b34268b81d13bac97768dd7c09a878c7a/formation-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "845058f14a9a2b3b16a0913532e4f4b0", "sha256": "c7d2c9cf025aa495b436c5006b284b06233cf9b0b21ea1c11361bbae0cf657b3" }, "downloads": -1, "filename": "formation-0.1.6.tar.gz", "has_sig": false, "md5_digest": "845058f14a9a2b3b16a0913532e4f4b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2361, "upload_time": "2018-11-18T16:15:19", "url": "https://files.pythonhosted.org/packages/32/2d/4ee2fcdc7a1bd4b8af5792255f116f6af937fc3385657dea0dbc6298269a/formation-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "0c82fb44d0c2a6118dc4706198db04ef", "sha256": "040a294d66a0144783789ef44d958e2b59f0431d260601297094927b127b7efb" }, "downloads": -1, "filename": "formation-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0c82fb44d0c2a6118dc4706198db04ef", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3263, "upload_time": "2018-11-18T16:29:06", "url": "https://files.pythonhosted.org/packages/60/a3/8a7022921db99a73c45a301e3985a0b35945b65976c6d5e67ea6fd79d1b0/formation-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "10c2bd20c5a66272a76899cc8b3c37ef", "sha256": "d775d2099fa135795d5058c794e2d271d046a7a80b803efd80b6655ce0fe1679" }, "downloads": -1, "filename": "formation-0.1.7.tar.gz", "has_sig": false, "md5_digest": "10c2bd20c5a66272a76899cc8b3c37ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2349, "upload_time": "2018-11-18T16:29:07", "url": "https://files.pythonhosted.org/packages/36/93/0b5674a55bbacec5e939a91e12ede9efc30bd2f9815c2f86e4d966d31895/formation-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "bbee2536747408232309a606649d9a4b", "sha256": "cf3466b78e3f5c05e3bd8a5cdff4f06846f0c354254a2387d676e2084e103a13" }, "downloads": -1, "filename": "formation-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bbee2536747408232309a606649d9a4b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3279, "upload_time": "2018-11-18T16:32:33", "url": "https://files.pythonhosted.org/packages/18/b9/d640e05051abc1ab7e8a346b32074ac6fa8c5ffa9aafa4d328aa95920c48/formation-0.1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c45b3caeb7bcbaee159240320e27a483", "sha256": "904be47ef6d92206dd07e1582b28addc4378241b698d3a2847915435129f40b0" }, "downloads": -1, "filename": "formation-0.1.8.tar.gz", "has_sig": false, "md5_digest": "c45b3caeb7bcbaee159240320e27a483", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2350, "upload_time": "2018-11-18T16:32:35", "url": "https://files.pythonhosted.org/packages/07/13/abe8b2f9c8b1f86957818eb481e5010a331c6fe20274e0dd78e3c9421f44/formation-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "a26b9ba9575901096d5405eeaea71133", "sha256": "58ce10433717c294a1ad7fd7c61dd05b0933d5bcabe289281d7e37c65cc4eb39" }, "downloads": -1, "filename": "formation-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a26b9ba9575901096d5405eeaea71133", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3315, "upload_time": "2018-11-18T16:38:48", "url": "https://files.pythonhosted.org/packages/52/5e/64fcd1d006108f808dde884942192207ebd4f29c28eb4cdbe78cd9c749fd/formation-0.1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f2865d55d294979e6cb558515adc710", "sha256": "6f6101832c90ba5e52291a5d14b279a37e92873d632d8ade936705150d8f6713" }, "downloads": -1, "filename": "formation-0.1.9.tar.gz", "has_sig": false, "md5_digest": "3f2865d55d294979e6cb558515adc710", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2367, "upload_time": "2018-11-18T16:38:49", "url": "https://files.pythonhosted.org/packages/20/f7/95045ccb96c0357b55f0b0b4c1f9b0aa45fa41634c545cb82ec99b145de8/formation-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c9dced333f1a7fc300b1adc8a8d1f118", "sha256": "56c815a5831a959e5629056a14210714812298ad17a1dc1c775c5ef2e6912766" }, "downloads": -1, "filename": "formation-0.1.36-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c9dced333f1a7fc300b1adc8a8d1f118", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 9514, "upload_time": "2019-05-08T13:48:10", "url": "https://files.pythonhosted.org/packages/21/9f/20f8fb01ef55f14597d2047f069cd14539a38d2c1aa8153c1629fac65eaf/formation-0.1.36-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "054e52e1daee4cac352d8b52df993313", "sha256": "b034a14820e06d5df12b487ec55e61fca3d528bbf29403dfcae4a5862ac65532" }, "downloads": -1, "filename": "formation-0.1.36.tar.gz", "has_sig": false, "md5_digest": "054e52e1daee4cac352d8b52df993313", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*", "size": 7647, "upload_time": "2019-05-08T13:48:11", "url": "https://files.pythonhosted.org/packages/b7/36/176aa2b67cfcfa8403f046cef38b85902001b0e7614097be7acd72216fdb/formation-0.1.36.tar.gz" } ] }