{ "info": { "author": "Thomas Pollet", "author_email": "thomas.pollet@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Flask", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "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": "SAFRS: Python OpenAPI & JSON:API Framework\n==========================================\n\nPlease check the `GitHub Readme `__ for documentation.\n\nOverview\n--------\n\nSAFRS is an acronym for **S**\\ ql\\ **A**\\ lchemy **F**\\ lask-\\ **R**\\ estful **S**\\ wagger. The purpose of this framework is to help python developers create a self-documenting JSON API for sqlalchemy database objects and relationships. These objects can be serialized to JSON and can be created, retrieved, updated and deleted through the JSON API.\nOptionally, custom resource object methods can be exposed and invoked using JSON.\nClass and method descriptions and examples can be provided in yaml syntax in the code comments. The description is parsed and shown in the swagger web interface.\n\nThe result is an easy-to-use `swagger/OpenAPI `_ and `JSON:API `_ compliant API specification.\n\nInstallation\n------------\n\nSAFRS can be installed as a `pip package `_ or by downloading the latest version from github, for example:\n\n.. code-block:: bash\n\n git clone https://github.com/thomaxxl/safrs\n cd safrs\n pip3 install -r requirements.txt --user\n python3 setup.py install --user\n\n\nThe examples can then be started with\n\n.. code-block::\n\n python3 examples/demo_relationship.py \"your-interface-ip\"", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/thomaxxl/safrs/archive/2.3.0.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/thomaxxl/safrs", "keywords": "SqlAlchemy,Flask,REST,Swagger,JsonAPI,OpenAPI", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "safrs", "package_url": "https://pypi.org/project/safrs/", "platform": "", "project_url": "https://pypi.org/project/safrs/", "project_urls": { "Download": "https://github.com/thomaxxl/safrs/archive/2.3.0.tar.gz", "Homepage": "https://github.com/thomaxxl/safrs" }, "release_url": "https://pypi.org/project/safrs/2.5.4/", "requires_dist": null, "requires_python": "", "summary": "safrs : SqlAlchemy Flask-Restful Swagger2", "version": "2.5.4" }, "last_serial": 5916656, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "e6e50b40af743762469c096dd393ccad", "sha256": "66535630d89ef02bc5d4bd9ccf8e45a20deca3eb0f7c8fbf0ac7f1eef6ddab09" }, "downloads": -1, "filename": "safrs-0.1.tar.gz", "has_sig": false, "md5_digest": "e6e50b40af743762469c096dd393ccad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12224, "upload_time": "2017-09-21T11:48:18", "url": "https://files.pythonhosted.org/packages/bd/e2/316961990011928346554caf179e2539238679f91f1032637ca258bcf5eb/safrs-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0a4ed2f0d1eab5e1d6ef1a3ad28cc3b3", "sha256": "36afa9ee948519b31d9c1226020997a57c20409247f611169c17d65b3adb1043" }, "downloads": -1, "filename": "safrs-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0a4ed2f0d1eab5e1d6ef1a3ad28cc3b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12404, "upload_time": "2017-09-21T12:16:50", "url": "https://files.pythonhosted.org/packages/17/17/31a3e10d92925ae3b82ff2d2f5e2617ced78a5633393f5095dc02050e380/safrs-0.1.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "8b7b89c729f28cb13aa7fb7df9c8b365", "sha256": "622d6d455a9f23131b64bc4b809238a813e7a44d8d22430e5dd4883b8dd2a579" }, "downloads": -1, "filename": "safrs-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8b7b89c729f28cb13aa7fb7df9c8b365", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20339, "upload_time": "2018-01-19T13:05:15", "url": "https://files.pythonhosted.org/packages/90/d9/b061797dc07f24dbc41ac1f5d26fe5ca0a7009330f816c970928b76125b9/safrs-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f5cf113930502af63afb5b6f1c2d1538", "sha256": "221f1869820ecc9138fd355701d43c3b59e9d86c8f28b7feebe5442607ff4a20" }, "downloads": -1, "filename": "safrs-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f5cf113930502af63afb5b6f1c2d1538", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20809, "upload_time": "2018-01-23T14:29:31", "url": "https://files.pythonhosted.org/packages/00/c5/9619e3a6a79ce692a88748ce7ffeaca4b16aec4779cd9410234031f6f052/safrs-1.0.1.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "c1ec2fa1938300deeffaa145e61b6985", "sha256": "c9656c21b4890fc7c99b1b1e5255fb8d39dc7fc1a363197df2775ff4bb792308" }, "downloads": -1, "filename": "safrs-1.0.10.tar.gz", "has_sig": false, "md5_digest": "c1ec2fa1938300deeffaa145e61b6985", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26636, "upload_time": "2018-05-02T11:34:49", "url": "https://files.pythonhosted.org/packages/7b/05/abc1846dcd495d08c734c61244077f596c39d9036af47304e3f24777f7dd/safrs-1.0.10.tar.gz" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "e50909334e6873395d2ee08ccecc6caf", "sha256": "27cf2bd19b77ef0b69350289dbeef80084ebce8196902fa241f943a9df8c0c47" }, "downloads": -1, "filename": "safrs-1.0.11.tar.gz", "has_sig": false, "md5_digest": "e50909334e6873395d2ee08ccecc6caf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26508, "upload_time": "2018-05-04T19:35:12", "url": "https://files.pythonhosted.org/packages/a3/cd/d4ebca0522541d0665fefabe6e1ab6d5f3ad1bd5247892ba2e46e47b84f9/safrs-1.0.11.tar.gz" } ], "1.0.12": [ { "comment_text": "", "digests": { "md5": "246187df57961ea379cc9581e79c31c2", "sha256": "4ca1f73fca9d987884c0cf16ab5cd109cffc95caf6c1f654042869f9696457c7" }, "downloads": -1, "filename": "safrs-1.0.12.tar.gz", "has_sig": false, "md5_digest": "246187df57961ea379cc9581e79c31c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27705, "upload_time": "2018-05-14T07:41:48", "url": "https://files.pythonhosted.org/packages/9c/a9/0fd9760e1e60f3e02cb6ca2e2cad9ebaa9c3c134fa7acf0100d16044b0a4/safrs-1.0.12.tar.gz" } ], "1.0.13": [ { "comment_text": "", "digests": { "md5": "f9c4819eb437d41965b9d47004724740", "sha256": "368a8fc5e81f26640c2db1760f2b19506b44609f615a49e3068d4444bb9ff26b" }, "downloads": -1, "filename": "safrs-1.0.13.tar.gz", "has_sig": false, "md5_digest": "f9c4819eb437d41965b9d47004724740", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27802, "upload_time": "2018-05-14T13:42:04", "url": "https://files.pythonhosted.org/packages/7a/70/21c31849b9411ed10871b94036779fdced7a87d02c8a54cd8da7c19a3c3c/safrs-1.0.13.tar.gz" } ], "1.0.14": [ { "comment_text": "", "digests": { "md5": "44114ecc420be576ca98d10490bc53db", "sha256": "2ddca0190b31e14cec204f159fda61ae8eba2df94f80c56a0227c1beab2ae7a7" }, "downloads": -1, "filename": "safrs-1.0.14.tar.gz", "has_sig": false, "md5_digest": "44114ecc420be576ca98d10490bc53db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29394, "upload_time": "2018-06-05T08:18:08", "url": "https://files.pythonhosted.org/packages/11/6b/f06bfba6a1f3d9e7526b49dfbe2fc8bbeee3fd6da02f7d945db59d4f0ac7/safrs-1.0.14.tar.gz" } ], "1.0.15": [ { "comment_text": "", "digests": { "md5": "33f0ebc84b766628a544b7a55f4b9052", "sha256": "61a7bbdeae5468b5ed32cc0d3212aece4db180d4b7292582809bf137c7cf7448" }, "downloads": -1, "filename": "safrs-1.0.15.tar.gz", "has_sig": false, "md5_digest": "33f0ebc84b766628a544b7a55f4b9052", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31298, "upload_time": "2018-06-15T07:04:38", "url": "https://files.pythonhosted.org/packages/00/21/d6b45459525d75a2a314c35ca01005f509a60ef0edf6124a72abca06cdca/safrs-1.0.15.tar.gz" } ], "1.0.16": [ { "comment_text": "", "digests": { "md5": "fd4485ca49c46b0af1c423858b952356", "sha256": "d585ea0dd11c69e3f41f0ad1075cbbcf80a5d11087ae66cace3ab449f7c0a2d9" }, "downloads": -1, "filename": "safrs-1.0.16.tar.gz", "has_sig": false, "md5_digest": "fd4485ca49c46b0af1c423858b952356", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36056, "upload_time": "2018-06-20T08:39:27", "url": "https://files.pythonhosted.org/packages/5a/94/c9781a7bdad17c0bc0a3178d0396f067d72a266245815969b76cde33bdef/safrs-1.0.16.tar.gz" } ], "1.0.17": [ { "comment_text": "", "digests": { "md5": "84c5e5d8cc2173bae70f4839245fd4a4", "sha256": "5cfd96aef94b814490d9c3c92395aa86dd6c2667ca84fb9f9b7ae4dbddfcaafa" }, "downloads": -1, "filename": "safrs-1.0.17.tar.gz", "has_sig": false, "md5_digest": "84c5e5d8cc2173bae70f4839245fd4a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36500, "upload_time": "2018-06-28T12:28:42", "url": "https://files.pythonhosted.org/packages/74/52/431e8a103a984eafe7f6c37837a49ec0ab97d3228f8c22fa90bfa9b1dc3c/safrs-1.0.17.tar.gz" } ], "1.0.18": [ { "comment_text": "", "digests": { "md5": "e99cf260fffa2221f02dd5c72a685a1e", "sha256": "4ee148e7a3e3538cd68818c1be9078d7e4a6b5a909605ef9eb7eee582dda26d0" }, "downloads": -1, "filename": "safrs-1.0.18.tar.gz", "has_sig": false, "md5_digest": "e99cf260fffa2221f02dd5c72a685a1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36603, "upload_time": "2018-06-28T15:35:13", "url": "https://files.pythonhosted.org/packages/09/da/aaeaa48fefa4b37c22a50243fa46bbceeb2259211f3eecc015e7a098d2ae/safrs-1.0.18.tar.gz" } ], "1.0.19": [ { "comment_text": "", "digests": { "md5": "b7272ea13211294f65ef943c0eaaa032", "sha256": "c4737374bc3802e210abc501fcaa17b2d8f4831929157a9f26474f3f3d928170" }, "downloads": -1, "filename": "safrs-1.0.19.tar.gz", "has_sig": false, "md5_digest": "b7272ea13211294f65ef943c0eaaa032", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31851, "upload_time": "2018-07-12T13:33:26", "url": "https://files.pythonhosted.org/packages/57/c4/0c0c88374f6c37d660de1e7315a2823c992fb71aaa0b2da8494f6c010896/safrs-1.0.19.tar.gz" } ], "1.0.20": [ { "comment_text": "", "digests": { "md5": "0ad01944d794c0e922405f293ada457e", "sha256": "7ec8d7d94aac9530ce459268f7684387856fd0a47d7b974552cc358ce3dde2f1" }, "downloads": -1, "filename": "safrs-1.0.20.tar.gz", "has_sig": false, "md5_digest": "0ad01944d794c0e922405f293ada457e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31861, "upload_time": "2018-07-17T11:58:18", "url": "https://files.pythonhosted.org/packages/e3/44/0096c55bd39d441e05a32a41dc33c496d73d5a9b904f332506e7a20d926e/safrs-1.0.20.tar.gz" } ], "1.0.21": [ { "comment_text": "", "digests": { "md5": "c5d1bd19a3a74601cd25d99d820bad8e", "sha256": "27ac562e73ba0100525dd869f9ab4a66fb85119779b7eec86e016669be7b3e67" }, "downloads": -1, "filename": "safrs-1.0.21.tar.gz", "has_sig": false, "md5_digest": "c5d1bd19a3a74601cd25d99d820bad8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33217, "upload_time": "2018-08-21T10:21:10", "url": "https://files.pythonhosted.org/packages/e8/c7/4d3597433acae26789329640c77553d180b2d496e9f4b90cafe370bf1816/safrs-1.0.21.tar.gz" } ], "1.0.22": [ { "comment_text": "", "digests": { "md5": "974091d5b55d34461a261b00f9b12ab2", "sha256": "a022bbd80cea2197246b06df4163c6539275179d57e9376944cc1346fb0ad030" }, "downloads": -1, "filename": "safrs-1.0.22.tar.gz", "has_sig": false, "md5_digest": "974091d5b55d34461a261b00f9b12ab2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34540, "upload_time": "2018-09-06T14:10:17", "url": "https://files.pythonhosted.org/packages/4c/da/c204b1dfd203270ddaba999cccc4584a7f642787d63e948c21144bf17f5e/safrs-1.0.22.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "e86c1a34553fbeb15ac6d7f4a6813e76", "sha256": "b564636a4d12c677d1011659155030fddc4c9b3dfac71319b0d0eba93621c0d9" }, "downloads": -1, "filename": "safrs-1.0.3.tar.gz", "has_sig": false, "md5_digest": "e86c1a34553fbeb15ac6d7f4a6813e76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25288, "upload_time": "2018-02-05T12:57:12", "url": "https://files.pythonhosted.org/packages/00/03/b3fc17c96d7b36c7feae0af85daa53db134b18ea990653d9aef9f8502708/safrs-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "ae11e1bc118e7f54e35b1ecaea0e9e63", "sha256": "db008fd4f6498ad4ba31ce268c9018f75340efa0b690fa7c6bf3a6854eb62de4" }, "downloads": -1, "filename": "safrs-1.0.4.tar.gz", "has_sig": false, "md5_digest": "ae11e1bc118e7f54e35b1ecaea0e9e63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25433, "upload_time": "2018-02-06T09:34:12", "url": "https://files.pythonhosted.org/packages/fe/a2/0e25947bc13bb11bf5f31fdc67507bc39adfb8b4e3752c727046674a897f/safrs-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "abd647054c552a6579b7bf3cfaef44fe", "sha256": "e222b3568497a89fb5f7199d2c9d36961164c1a6305ed8e211f394f0e3de379a" }, "downloads": -1, "filename": "safrs-1.0.5.tar.gz", "has_sig": false, "md5_digest": "abd647054c552a6579b7bf3cfaef44fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25446, "upload_time": "2018-02-08T12:42:51", "url": "https://files.pythonhosted.org/packages/51/a5/9b15c5abf6a829ae44ad1b28b304a581327ac7f8a713b1ea2c8ca59e4229/safrs-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "eb9f5b5ab30de21d0fabd8ad37e6647f", "sha256": "6988861337e28c02a606876730836f2785ecbed22df9d474d368b489879fbdf1" }, "downloads": -1, "filename": "safrs-1.0.6.tar.gz", "has_sig": false, "md5_digest": "eb9f5b5ab30de21d0fabd8ad37e6647f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25523, "upload_time": "2018-03-07T08:33:18", "url": "https://files.pythonhosted.org/packages/0f/6b/07c2fa6e55c0ae458ccc009cb01db4d98d9add2044b06ab66981532c15e2/safrs-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "9ce57a612410b5480d14239efbdfa7a3", "sha256": "909c9092a8fd19bb546df65e56d0736541992c498b83c716bd4530e018540330" }, "downloads": -1, "filename": "safrs-1.0.7.tar.gz", "has_sig": false, "md5_digest": "9ce57a612410b5480d14239efbdfa7a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25883, "upload_time": "2018-03-20T09:39:51", "url": "https://files.pythonhosted.org/packages/c6/fa/fda8993af1b95f5091ca1d9be0b07f9605ea8bacd120a26aaf80c2c9ef2c/safrs-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "3c4aca9a61bb7994c553dfc6b508700b", "sha256": "5fcb7271593112879f26e41888a8bacba35dca7701bfd88f1275f9574b7da971" }, "downloads": -1, "filename": "safrs-1.0.8.tar.gz", "has_sig": false, "md5_digest": "3c4aca9a61bb7994c553dfc6b508700b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26414, "upload_time": "2018-04-09T07:36:02", "url": "https://files.pythonhosted.org/packages/60/8a/0e77cd750aa75a4c8d86fdec5c04ca83509c29be998dd486a4b1f955122b/safrs-1.0.8.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "1afcc477113e4cb2d23250da7de115a5", "sha256": "af3eb91171ffbaeb8bcacc45cdc15eee227febc9d16eec9edeecd98049b44f23" }, "downloads": -1, "filename": "safrs-1.1.0.tar.gz", "has_sig": false, "md5_digest": "1afcc477113e4cb2d23250da7de115a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37870, "upload_time": "2018-10-01T08:24:32", "url": "https://files.pythonhosted.org/packages/ed/45/04da2f7252aa5bd58210b2d9a0bd8c38625f58c574b60d62207659be5be8/safrs-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "654c0b341641ec3e22c3d49ce856698b", "sha256": "2be7be41963c548bf48601f19e7d411b9889120389a176e1975913cd5cc3fa30" }, "downloads": -1, "filename": "safrs-1.2.0.tar.gz", "has_sig": false, "md5_digest": "654c0b341641ec3e22c3d49ce856698b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36190, "upload_time": "2019-01-14T08:49:20", "url": "https://files.pythonhosted.org/packages/12/46/df14cb0baff9fb79526964f12224d736330ae29ecb6ea1ac7091e81535bf/safrs-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "a66b5cbc37e1b8fe17b675a2d4cee861", "sha256": "f3e362bfbeee8891983f7e2eca1ea37dd0442099dfc827189b07026fee07aadc" }, "downloads": -1, "filename": "safrs-1.2.1.tar.gz", "has_sig": false, "md5_digest": "a66b5cbc37e1b8fe17b675a2d4cee861", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36281, "upload_time": "2019-01-15T10:06:57", "url": "https://files.pythonhosted.org/packages/13/72/04e866cb777f339671e8b331fc9486c857a8aab8f2aeae9ae9302fbe199d/safrs-1.2.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "94220eee5880f6a79ae50c01a5431140", "sha256": "8811ecdfe9149426cdcdaec505bfb68e43b4f95a2e8aa79cc2f0f006dbaf03f3" }, "downloads": -1, "filename": "safrs-2.0.0.tar.gz", "has_sig": false, "md5_digest": "94220eee5880f6a79ae50c01a5431140", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39935, "upload_time": "2019-03-11T09:02:43", "url": "https://files.pythonhosted.org/packages/7e/4c/7b02551a281b0d6918cfa8407cce2e5050ef0a5677be33f282836fa6df17/safrs-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "b514f7bc57f4f0f2876872ff8cbb76bb", "sha256": "134ee8a25336a417d6dd51ad98c45aebaaa174f2b9cc76401efec01935529eb0" }, "downloads": -1, "filename": "safrs-2.1.0.tar.gz", "has_sig": false, "md5_digest": "b514f7bc57f4f0f2876872ff8cbb76bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40529, "upload_time": "2019-04-05T08:45:43", "url": "https://files.pythonhosted.org/packages/15/b5/7c1839193671b4954d8d521c7e7d29b4c4729cadea52d28754df123df96b/safrs-2.1.0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "005c968e33b3ac296894d7eb168d22a4", "sha256": "4a85a457f6c25217a08a784e6258b0e5f42b692dd0992617f5cc768d42ed7fc5" }, "downloads": -1, "filename": "safrs-2.2.0.tar.gz", "has_sig": false, "md5_digest": "005c968e33b3ac296894d7eb168d22a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41714, "upload_time": "2019-04-25T12:29:42", "url": "https://files.pythonhosted.org/packages/1d/fe/f844f0f35a99a281a84e2cca1b4a4bf06e38338ba979187809e91689b8f3/safrs-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "edf5c9a3e670440c68faf2b362a991fc", "sha256": "551347c302adaf4b292f89b1ba7bc1e31765c5916c2f5ff8abcb98e99400385d" }, "downloads": -1, "filename": "safrs-2.2.1.tar.gz", "has_sig": false, "md5_digest": "edf5c9a3e670440c68faf2b362a991fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41250, "upload_time": "2019-05-08T15:15:53", "url": "https://files.pythonhosted.org/packages/b2/ff/7ffd8495e0461f8e4a924d8e888a7aa2aedf359f35cc4e40d65e79df39a7/safrs-2.2.1.tar.gz" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "8409d169e82fe066036cd8ec81bb6b24", "sha256": "b96d498d34262f1fd1298b7c9bddbab07b2ba7ae4c5e41612c6d56c7c5a84afd" }, "downloads": -1, "filename": "safrs-2.2.2.tar.gz", "has_sig": false, "md5_digest": "8409d169e82fe066036cd8ec81bb6b24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42028, "upload_time": "2019-06-07T09:10:39", "url": "https://files.pythonhosted.org/packages/45/d2/eae2eed674d32b9aba0b9620d3e643bf21dd8be0acb1ffff3aeba8a10182/safrs-2.2.2.tar.gz" } ], "2.2.3": [ { "comment_text": "", "digests": { "md5": "658ccc9a20dc8832b383ed0fac8fc24e", "sha256": "aaa61a5619ad1e6189df6c337c2f3cba1e317df38f68bb4b2aa9976f54e02753" }, "downloads": -1, "filename": "safrs-2.2.3.tar.gz", "has_sig": false, "md5_digest": "658ccc9a20dc8832b383ed0fac8fc24e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42191, "upload_time": "2019-06-19T07:19:48", "url": "https://files.pythonhosted.org/packages/78/15/840e57ebb0393dc9c26973fba6558153a9d6156ce4effd145e2b1acdd508/safrs-2.2.3.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "730e3b0ce3306789589d292d64024ab8", "sha256": "1888a1d34a05a86f304e7786c8cf82955bc10cc45fd9dcdbbc4c941e51a662ad" }, "downloads": -1, "filename": "safrs-2.3.0.tar.gz", "has_sig": false, "md5_digest": "730e3b0ce3306789589d292d64024ab8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43077, "upload_time": "2019-07-04T12:34:52", "url": "https://files.pythonhosted.org/packages/91/a6/e0c9562dd7dedd37ef113967c3a2b1a9ba90fd9c4a10f2236b4da987dcca/safrs-2.3.0.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "ba8f3e39d6563186159be41d9fcd62bb", "sha256": "99a96009b8288bcf94d1f1510298f384b9b2cc9726515a356b8e536160ca64a8" }, "downloads": -1, "filename": "safrs-2.3.1.tar.gz", "has_sig": false, "md5_digest": "ba8f3e39d6563186159be41d9fcd62bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43618, "upload_time": "2019-07-19T08:00:10", "url": "https://files.pythonhosted.org/packages/64/58/d8d08bd8b71bb677b4e053c3752c826b7fa85278e9581547bcb6fafe69b9/safrs-2.3.1.tar.gz" } ], "2.3.2": [ { "comment_text": "", "digests": { "md5": "fa7f34b798b03647018412162ccd55e2", "sha256": "f0fb2afed890387eaf7114008b482d3f7e7329f1c722a9b2ac8218bdd928a6a0" }, "downloads": -1, "filename": "safrs-2.3.2.tar.gz", "has_sig": false, "md5_digest": "fa7f34b798b03647018412162ccd55e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43614, "upload_time": "2019-07-19T08:04:15", "url": "https://files.pythonhosted.org/packages/0e/66/aa2addb5bc650b25d2fb276991d42e34760e7c85390147766893397298e3/safrs-2.3.2.tar.gz" } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "3be89507fbcbafcd3296938bc6386de7", "sha256": "4cee958a91e81907aa1a2d5ea0984eec9d63d0322d8da9761563e730a4e85625" }, "downloads": -1, "filename": "safrs-2.4.0.tar.gz", "has_sig": false, "md5_digest": "3be89507fbcbafcd3296938bc6386de7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43687, "upload_time": "2019-07-26T15:11:53", "url": "https://files.pythonhosted.org/packages/fb/9f/09f4ff29f9ebaf78a1daa9bf5de8fed870ccce71d210ac9dc87a81aa3070/safrs-2.4.0.tar.gz" } ], "2.5.0": [ { "comment_text": "", "digests": { "md5": "f87b09a5f39300662c98e233691a943f", "sha256": "13ac020eea307850a9a24f6efd63f4865b753001951f5be4d3da62a976ef3e98" }, "downloads": -1, "filename": "safrs-2.5.0.tar.gz", "has_sig": false, "md5_digest": "f87b09a5f39300662c98e233691a943f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44873, "upload_time": "2019-08-08T11:17:33", "url": "https://files.pythonhosted.org/packages/3c/f9/dc7d9ea14f74df6172b721439e160df2e6a2587d9b34ac970f612897df6a/safrs-2.5.0.tar.gz" } ], "2.5.1": [ { "comment_text": "", "digests": { "md5": "3306eb506d5c2fa9e857f8b1940b3d20", "sha256": "45d66166dc04d45eec3c803fbc77b6ef9b5cc7a036c9f52bf70954aff8a6c42b" }, "downloads": -1, "filename": "safrs-2.5.1.tar.gz", "has_sig": false, "md5_digest": "3306eb506d5c2fa9e857f8b1940b3d20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44874, "upload_time": "2019-08-08T12:48:10", "url": "https://files.pythonhosted.org/packages/dc/2e/69a5c13467f69143e23b7fce5db7fa6a5e94adf65cd3dfd65551204ce9c7/safrs-2.5.1.tar.gz" } ], "2.5.2": [ { "comment_text": "", "digests": { "md5": "51ae1db0c811eb86fcfe6a31612f5eae", "sha256": "91693a40d62c3cd7bf287eaa73384a8cb4cc182471ab8826943eda8e507d9225" }, "downloads": -1, "filename": "safrs-2.5.2.tar.gz", "has_sig": false, "md5_digest": "51ae1db0c811eb86fcfe6a31612f5eae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44866, "upload_time": "2019-08-09T11:59:14", "url": "https://files.pythonhosted.org/packages/4e/bd/64dc252ba1927e8158107b7d832149981b836b4ada731cce4fe02972b8e7/safrs-2.5.2.tar.gz" } ], "2.5.3": [ { "comment_text": "", "digests": { "md5": "418470d5c561ebeefb7a1eab02baa2c4", "sha256": "e6201ce4834bb0e59cf3ee66f4e6b6ec8442c4c1ffcdaae273fd2276321cd8dd" }, "downloads": -1, "filename": "safrs-2.5.3.tar.gz", "has_sig": false, "md5_digest": "418470d5c561ebeefb7a1eab02baa2c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44871, "upload_time": "2019-08-23T10:15:23", "url": "https://files.pythonhosted.org/packages/0a/47/099c33d80de1ab6e4aaeec3b7bdbb3623fe483aed4e7251dba39378b5980/safrs-2.5.3.tar.gz" } ], "2.5.4": [ { "comment_text": "", "digests": { "md5": "961cb205e21afbbf71f3cf2f30b52d29", "sha256": "450602d41acd3a01b018916c9c399298fd38c55a915cbc5f56a11da311c62792" }, "downloads": -1, "filename": "safrs-2.5.4.tar.gz", "has_sig": false, "md5_digest": "961cb205e21afbbf71f3cf2f30b52d29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45412, "upload_time": "2019-10-02T07:56:12", "url": "https://files.pythonhosted.org/packages/54/ea/bd3ce3cd974744b80cf95fd85eae724a226343658b03e2f5ad4c7e48c279/safrs-2.5.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "961cb205e21afbbf71f3cf2f30b52d29", "sha256": "450602d41acd3a01b018916c9c399298fd38c55a915cbc5f56a11da311c62792" }, "downloads": -1, "filename": "safrs-2.5.4.tar.gz", "has_sig": false, "md5_digest": "961cb205e21afbbf71f3cf2f30b52d29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45412, "upload_time": "2019-10-02T07:56:12", "url": "https://files.pythonhosted.org/packages/54/ea/bd3ce3cd974744b80cf95fd85eae724a226343658b03e2f5ad4c7e48c279/safrs-2.5.4.tar.gz" } ] }