{ "info": { "author": "Ruslan Roskoshnyj", "author_email": "i.am.yarger@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Framework :: Django :: 2.2", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# \u262d perestroika\n\n[![Build Status](https://travis-ci.org/newmediatech/perestroika.svg?branch=master)](https://travis-ci.org/newmediatech/perestroika) \n[![Coverage Status](https://coveralls.io/repos/github/newmediatech/perestroika/badge.svg?branch=master)](https://coveralls.io/github/newmediatech/perestroika)\n[![PyPI version](https://badge.fury.io/py/perestroika.svg)](https://badge.fury.io/py/perestroika)\n\n- [About](#about)\n- [Installation](#installation)\n- [Usage](#usage)\n\n### About\nSimple REST framework for django\n\n### Installation\nWith pip:\n```bash\npip install perestroika\n```\n\n### Usage\n```python\nfrom django.contrib.auth.models import User\nfrom perestroika.resource import DjangoResource\nfrom perestroika.methods import Get, Post\nfrom perestroika.exceptions import RestException\n\n\n\nclass Validator:\n def __call__(self, item: dict) -> dict:\n return {'username': item['username']}\n\n\ndef reject_not_superuser(request, bundle):\n if not request.user.is_superuser:\n raise RestException(message=\"Unauthorized\", status_code=401)\n\n \ndef add_is_superuser_flag(request, bundle):\n for user in bundle['items']:\n user['is_superuser'] = True\n\n\nclass SuperUserResource(DjangoResource):\n # use django @cache_control kwargs\n cache_control = dict(max_age=0, no_cache=True, no_store=True, must_revalidate=True)\n\n # allowed method GET\n get = Get(\n # base queryset\n queryset=User.objects.filter(is_superuser=True),\n \n # restrict access\n request_hooks = [\n reject_not_superuser\n ],\n \n # any callable\n output_validator=Validator,\n )\n \n # allowed method POST\n post = Post(\n # restrict access\n request_hooks = [\n reject_not_superuser\n ],\n \n # process incoming data\n pre_query_hooks=[\n add_is_superuser_flag\n ],\n\n # any callable\n input_validator=Validator,\n )\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/newmediatech/perestroika/archive/0.1.18.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/newmediatech/perestroika", "keywords": "REST", "license": "LICENSE.txt", "maintainer": "", "maintainer_email": "", "name": "perestroika", "package_url": "https://pypi.org/project/perestroika/", "platform": "OS Independent", "project_url": "https://pypi.org/project/perestroika/", "project_urls": { "Download": "https://github.com/newmediatech/perestroika/archive/0.1.18.tar.gz", "Homepage": "https://github.com/newmediatech/perestroika" }, "release_url": "https://pypi.org/project/perestroika/0.1.18/", "requires_dist": null, "requires_python": ">3.6.0", "summary": "Rest lib", "version": "0.1.18" }, "last_serial": 5539346, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "7a2b6e183d55787976f6bb85dcbcbe7b", "sha256": "00d7fb567ebb36f793d2ef16ec9c2f8956c9ae1702dc763450e1acbe70fe170d" }, "downloads": -1, "filename": "perestroika-0.0.1.tar.gz", "has_sig": false, "md5_digest": "7a2b6e183d55787976f6bb85dcbcbe7b", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.7.0", "size": 6578, "upload_time": "2018-12-07T11:02:59", "url": "https://files.pythonhosted.org/packages/4b/6f/f8847aa59073fc59d3b169bb43a41fe49586c83f2a8c9e4c155c312f5a5a/perestroika-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "817109bfdf0b05c879226dc149657a61", "sha256": "d8a00c5f86032b6ffe58a059367647111ec2879cf4ef4534f7f0f5ff2f1b7d25" }, "downloads": -1, "filename": "perestroika-0.0.10.tar.gz", "has_sig": false, "md5_digest": "817109bfdf0b05c879226dc149657a61", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 6963, "upload_time": "2019-03-13T15:06:28", "url": "https://files.pythonhosted.org/packages/6a/22/87d4cd50c8692d19c84008da78f2ba3bc17d19849352c7da17ca3da80a52/perestroika-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "c6698ba3b5fd09af1d6d94e228f911e3", "sha256": "9ee8934a52560779c79b00bb91d25a087404b794079a5e9ebba80ace2d66a7f0" }, "downloads": -1, "filename": "perestroika-0.0.11.tar.gz", "has_sig": false, "md5_digest": "c6698ba3b5fd09af1d6d94e228f911e3", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 6832, "upload_time": "2019-03-13T15:52:25", "url": "https://files.pythonhosted.org/packages/fe/d2/bcd6532e44075ea955f119ef3c41c67a52160661d0818c2b75fc19546373/perestroika-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "bf01ac7d2384222b551e173f3dd50604", "sha256": "2eb1ee5eea9bbc224d0d4cd300ea7ebe4a8e9b12d99b62bc9aded8fdea3cc5c6" }, "downloads": -1, "filename": "perestroika-0.0.12.tar.gz", "has_sig": false, "md5_digest": "bf01ac7d2384222b551e173f3dd50604", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 6969, "upload_time": "2019-04-12T09:28:03", "url": "https://files.pythonhosted.org/packages/1c/f4/82b9e70d41179bf3fa99f985b66f59713a43c4228448c8f46147187c2265/perestroika-0.0.12.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d989f3b3195b2db6e3fbdf188852d46c", "sha256": "3857855617aeabb9d984cb2c2b40fcdf4096753a2f817feec80e7121f6970729" }, "downloads": -1, "filename": "perestroika-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d989f3b3195b2db6e3fbdf188852d46c", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.7.0", "size": 6589, "upload_time": "2018-12-07T12:13:18", "url": "https://files.pythonhosted.org/packages/cd/b5/b3075862a4c87e3dbda2cd3a545e867e5ec58b7354b4da562895f7ece2aa/perestroika-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "90bac7fffb3c0288de8df0e65cdec464", "sha256": "276b2e225207f367844358606b5f897917bc190e3d002c59d24d034da3088115" }, "downloads": -1, "filename": "perestroika-0.0.3.tar.gz", "has_sig": false, "md5_digest": "90bac7fffb3c0288de8df0e65cdec464", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.7.0", "size": 6401, "upload_time": "2018-12-07T12:48:38", "url": "https://files.pythonhosted.org/packages/8b/a9/c96528cba0779318a911b869d9435435a0e83d6760ea747975cc81f35969/perestroika-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "c98c5d35c0cdd777da51a76ce7fd8ec2", "sha256": "0ace302fb8e045a659d0c4b361ceed54be0020c1284ce2e583f17a3c96d4f853" }, "downloads": -1, "filename": "perestroika-0.0.4.tar.gz", "has_sig": false, "md5_digest": "c98c5d35c0cdd777da51a76ce7fd8ec2", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.7.0", "size": 6872, "upload_time": "2018-12-10T14:35:11", "url": "https://files.pythonhosted.org/packages/23/7f/93b8c505d4e15c0b7387f9a06faa5c59b5d4f5dfa68920cc8f99dad301d9/perestroika-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "5b12f1142c361ce8febb9e53f9969835", "sha256": "465ee512e5234a31b21220347a3d9c2fb0fc08c11edd29778d423b65554c2e73" }, "downloads": -1, "filename": "perestroika-0.0.5.tar.gz", "has_sig": false, "md5_digest": "5b12f1142c361ce8febb9e53f9969835", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.7.0", "size": 6893, "upload_time": "2018-12-10T14:57:12", "url": "https://files.pythonhosted.org/packages/2e/2e/9c474b85dbfdbedf215c712f0e6e4a57389f39366b65bdbda36acdbfbd75/perestroika-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "94a491ee26006c763d25ecb737270aa9", "sha256": "1f061c5cbf37b37d7018528ec3355ca84e0bbdd88adaa6f50bba4ed05253d6d9" }, "downloads": -1, "filename": "perestroika-0.0.6.tar.gz", "has_sig": false, "md5_digest": "94a491ee26006c763d25ecb737270aa9", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 6922, "upload_time": "2019-03-11T10:07:31", "url": "https://files.pythonhosted.org/packages/23/46/75ab0b28d4adda943c666a94ee92c22328db878a10741cc223e8e9adcb11/perestroika-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "7e73ce0836d04b2246be7e624b4b1043", "sha256": "451df98eec5a62121e6c90b7c7b5460199e75b5cedffe35e523e0f014411c266" }, "downloads": -1, "filename": "perestroika-0.0.7.tar.gz", "has_sig": false, "md5_digest": "7e73ce0836d04b2246be7e624b4b1043", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 7020, "upload_time": "2019-03-13T12:53:56", "url": "https://files.pythonhosted.org/packages/81/35/32c0496891fc758501d5b3c112eb4fea40ed55b7236d95364c4f047c8477/perestroika-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "76f1c3e5cd9557a2a9ee326205eede2a", "sha256": "8a48d0fb2f24778a29fd80e3f6878f2d12d866e44c52161552fb141c41ec3bd7" }, "downloads": -1, "filename": "perestroika-0.0.8.tar.gz", "has_sig": false, "md5_digest": "76f1c3e5cd9557a2a9ee326205eede2a", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 6958, "upload_time": "2019-03-13T13:30:15", "url": "https://files.pythonhosted.org/packages/39/cc/edaecfaadd5c7baaccea17477ae5a42c4cca47407208d9d982b2d3be0573/perestroika-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "52eee1fa5098acf93e36a04bf3613cfd", "sha256": "5b14bc0258e10f14624d8469c1626f70585c2ffc93cd6b3aa9635dfae59f41ad" }, "downloads": -1, "filename": "perestroika-0.0.9.tar.gz", "has_sig": false, "md5_digest": "52eee1fa5098acf93e36a04bf3613cfd", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 6970, "upload_time": "2019-03-13T14:04:50", "url": "https://files.pythonhosted.org/packages/00/7a/156b068d092124127918aada81c8c76d74eaa9b32df3a6d59a3ae01df6b2/perestroika-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "af44ec163ad3c9755781083594834768", "sha256": "4e4cdb6b6428c9515f901a181ef9e0b0bdd617309d4da878010f9b463a1a3d5d" }, "downloads": -1, "filename": "perestroika-0.1.0.tar.gz", "has_sig": false, "md5_digest": "af44ec163ad3c9755781083594834768", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 7481, "upload_time": "2019-05-02T13:07:04", "url": "https://files.pythonhosted.org/packages/89/58/61c339e58ac353b304c57fd65e18316210ad1b3bf1bc782095ae717e1e34/perestroika-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "2dd075ef5d84cc075dd0e5856946ad8d", "sha256": "4777bf8033e632da6f11852c0df38696f83c12a9110e7771977d37005433bda4" }, "downloads": -1, "filename": "perestroika-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2dd075ef5d84cc075dd0e5856946ad8d", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 7717, "upload_time": "2019-05-03T08:55:09", "url": "https://files.pythonhosted.org/packages/62/63/100dd43bb6e25918be2f7b3be5859fd015b720e7db8ae35a501b1c68ebb5/perestroika-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "3d907dec5d332e86e1a6c82366600c68", "sha256": "4e9731475ab221ea2382e0be6e73f1d4ce299e907a90ebd4a45e4d2f3718a695" }, "downloads": -1, "filename": "perestroika-0.1.10.tar.gz", "has_sig": false, "md5_digest": "3d907dec5d332e86e1a6c82366600c68", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 8619, "upload_time": "2019-06-03T07:18:59", "url": "https://files.pythonhosted.org/packages/25/8d/901479dcdab3e007c1d1ace6803a98676dcb4dfb557ed7c954bfdbd188dc/perestroika-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "c4af6d21e97f15e7c52bdcca1f116b03", "sha256": "f7d0034defb3b4b9b14b5759344475deb76e38b3ffeef9b609f436bbd15d7b7a" }, "downloads": -1, "filename": "perestroika-0.1.11.tar.gz", "has_sig": false, "md5_digest": "c4af6d21e97f15e7c52bdcca1f116b03", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 8668, "upload_time": "2019-06-04T09:43:48", "url": "https://files.pythonhosted.org/packages/63/3d/d7ed1c0d7a9983411526e76d32f9a46755d11e02fcf3b992819f0c1ae662/perestroika-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "20e440a78a81cbf200b44c2c93ed55c5", "sha256": "6402d8d268f26a21fa9a60bd6229efcf739cfa2f61f40a39a56667ce5dd060b9" }, "downloads": -1, "filename": "perestroika-0.1.12.tar.gz", "has_sig": false, "md5_digest": "20e440a78a81cbf200b44c2c93ed55c5", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 9365, "upload_time": "2019-06-04T17:17:37", "url": "https://files.pythonhosted.org/packages/7e/dd/9516359fae18c4574df7529449f06d9e47fcd9b18eaaccb3643389df1603/perestroika-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "ac04e4392fdbefbe6696d75a38c80dc8", "sha256": "3e48105187de0a8b136701685b46631071c894ecf4b75546fbb5ba01ba112b25" }, "downloads": -1, "filename": "perestroika-0.1.13.tar.gz", "has_sig": false, "md5_digest": "ac04e4392fdbefbe6696d75a38c80dc8", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 9469, "upload_time": "2019-06-04T18:11:28", "url": "https://files.pythonhosted.org/packages/fc/75/c3258791e879a90c244646c696ef37015aaac2289ad19ef4e2ccd80511ea/perestroika-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "45a6b8a95d61993b91ad8ba4651e2b18", "sha256": "463ed28277c6d5b95a23ec34a328146727b374ff3bf66fb109d2c2c576c7c35c" }, "downloads": -1, "filename": "perestroika-0.1.14.tar.gz", "has_sig": false, "md5_digest": "45a6b8a95d61993b91ad8ba4651e2b18", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 9523, "upload_time": "2019-06-19T21:06:10", "url": "https://files.pythonhosted.org/packages/7e/21/0c3ee660b898bf74d62a05be0b8c13e5d2ed6611cf5ecdc76665a2cbce2c/perestroika-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "e950ce280b01b7c65162c50c751ad001", "sha256": "9da71cfc9eb5ed140d2ddbd8f7d39bdd270c362b6a2a46902c346521be5bc6d4" }, "downloads": -1, "filename": "perestroika-0.1.15.tar.gz", "has_sig": false, "md5_digest": "e950ce280b01b7c65162c50c751ad001", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 9710, "upload_time": "2019-06-27T19:15:45", "url": "https://files.pythonhosted.org/packages/05/26/67fcae923ccd0516d850fdca9a558ce18d31e259b80b3e63698888651ee6/perestroika-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "300915e934f47e18f42632b993c21658", "sha256": "a950c3955f24ed97a09008f2f8499bb304a1f8bfd3e472fe96bc32380921fd53" }, "downloads": -1, "filename": "perestroika-0.1.16.tar.gz", "has_sig": false, "md5_digest": "300915e934f47e18f42632b993c21658", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 9727, "upload_time": "2019-07-13T20:27:20", "url": "https://files.pythonhosted.org/packages/cb/8a/3bee9ff3b79b8e478ffea84f3d9b446b192410e8742d544b504d5be31c26/perestroika-0.1.16.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "2ced8cb3a85b9c9ab63cbd8f73f34f1a", "sha256": "ab922a06fe6d553215fc10fc9a99cf58de9e5932e26162bb34bea83582732949" }, "downloads": -1, "filename": "perestroika-0.1.17.tar.gz", "has_sig": false, "md5_digest": "2ced8cb3a85b9c9ab63cbd8f73f34f1a", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 9753, "upload_time": "2019-07-15T10:54:52", "url": "https://files.pythonhosted.org/packages/b9/d0/744836d7b523dbb475ba95ff2974644e19f8839fd95209f698e4ea4b7087/perestroika-0.1.17.tar.gz" } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "8067129d047fd2e836c173382181a4b9", "sha256": "a3f2f858470723fdfab30d196d01c375c8f6737adedd54bb797a869c917f5836" }, "downloads": -1, "filename": "perestroika-0.1.18.tar.gz", "has_sig": false, "md5_digest": "8067129d047fd2e836c173382181a4b9", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 9737, "upload_time": "2019-07-16T09:09:12", "url": "https://files.pythonhosted.org/packages/43/53/f8b0c2dd2904326bf17c112608f693506bc4c8d11486d4f2f08ca3c76c89/perestroika-0.1.18.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a80213fe52fb305ba8de9de96024ceac", "sha256": "1024a1108cd01178f3ab89f95ad3cde1f33c69140b219fe6976ccf08fde3534a" }, "downloads": -1, "filename": "perestroika-0.1.2.tar.gz", "has_sig": false, "md5_digest": "a80213fe52fb305ba8de9de96024ceac", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 7726, "upload_time": "2019-05-03T14:38:44", "url": "https://files.pythonhosted.org/packages/a6/1b/2ac4d5254c71c120c9f7e98da3b061610d6d9b79f248aee79a23b6e8fbf2/perestroika-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "6b48d245ce2746eccede33b9923405f2", "sha256": "74b21038a2c3e770604485dfb1f5a5736dc1f2a2292268df2f456376e95685aa" }, "downloads": -1, "filename": "perestroika-0.1.3.tar.gz", "has_sig": false, "md5_digest": "6b48d245ce2746eccede33b9923405f2", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 7699, "upload_time": "2019-05-08T07:29:31", "url": "https://files.pythonhosted.org/packages/38/71/f90b55e6e3f82780db4c23b787d866336022e51421a4605bc291cbba67b8/perestroika-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "36eeb957055117d3bba5c0e554109f4a", "sha256": "0854da9c1ece37981f3cf1bf63e35a7d7132c9602589615a411b1c680ce56ceb" }, "downloads": -1, "filename": "perestroika-0.1.4.tar.gz", "has_sig": false, "md5_digest": "36eeb957055117d3bba5c0e554109f4a", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 7703, "upload_time": "2019-05-08T07:32:44", "url": "https://files.pythonhosted.org/packages/7b/e1/d02d4c25cfbd1348795bf3d614c4616ee723b3bb8e3cf906ad385899d43c/perestroika-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "26974930a25c44809bdac94c7f23ca3f", "sha256": "e520ec68435786a38cacd54bd7fdf8af5561938f339bc3abd2f59e1a054d3f74" }, "downloads": -1, "filename": "perestroika-0.1.5.tar.gz", "has_sig": false, "md5_digest": "26974930a25c44809bdac94c7f23ca3f", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 7619, "upload_time": "2019-05-08T13:49:02", "url": "https://files.pythonhosted.org/packages/c2/ad/c93369941e077ebd143684b80446babed2c02bcf0038e0522317d3f01f23/perestroika-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "c7498c1353e32ae8407c190510a235cd", "sha256": "64ef86f8b454523830717f752fbe02d5170959b70a3f78f1d3ffedbb9205631a" }, "downloads": -1, "filename": "perestroika-0.1.6.tar.gz", "has_sig": false, "md5_digest": "c7498c1353e32ae8407c190510a235cd", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 7656, "upload_time": "2019-05-13T20:23:22", "url": "https://files.pythonhosted.org/packages/33/37/ae64e737dce52987f6ce3d5b424b15b4f611c8b017ce072466dea2092758/perestroika-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "fab415b1873771dab5536d29b49475ee", "sha256": "d5c78f9efc12efe220561e2ac41fe7623b526482d991bb6b5023468cae29cec0" }, "downloads": -1, "filename": "perestroika-0.1.7.tar.gz", "has_sig": false, "md5_digest": "fab415b1873771dab5536d29b49475ee", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 7730, "upload_time": "2019-05-14T08:56:35", "url": "https://files.pythonhosted.org/packages/cd/e8/14ca40bebc4769c928680b1ee2adbe052125856fbfdd6c244c4e61a22450/perestroika-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "d413e44bd3d599ff27105c3eff15b973", "sha256": "26456522f1f30aba842df4e38a9dd2c3b1edbd0ca4e9d80620f61df85bb825b1" }, "downloads": -1, "filename": "perestroika-0.1.8.tar.gz", "has_sig": false, "md5_digest": "d413e44bd3d599ff27105c3eff15b973", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 7758, "upload_time": "2019-05-26T15:55:22", "url": "https://files.pythonhosted.org/packages/29/2a/dee04722c17df14c4ce28814218898e4c4b1b52871394d4421464caaddd6/perestroika-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "9c93914ae6401a12c41cf723a71ab6f3", "sha256": "e83016d91d2f9107b4f73035582790b74f18ebc31a27176e1fc3caf59acf6a75" }, "downloads": -1, "filename": "perestroika-0.1.9.tar.gz", "has_sig": false, "md5_digest": "9c93914ae6401a12c41cf723a71ab6f3", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 7706, "upload_time": "2019-05-26T16:36:47", "url": "https://files.pythonhosted.org/packages/71/4a/65776d0ec09f2b05e35e0a2053b641bfab463a043dba792b6b81a5b9e200/perestroika-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8067129d047fd2e836c173382181a4b9", "sha256": "a3f2f858470723fdfab30d196d01c375c8f6737adedd54bb797a869c917f5836" }, "downloads": -1, "filename": "perestroika-0.1.18.tar.gz", "has_sig": false, "md5_digest": "8067129d047fd2e836c173382181a4b9", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.6.0", "size": 9737, "upload_time": "2019-07-16T09:09:12", "url": "https://files.pythonhosted.org/packages/43/53/f8b0c2dd2904326bf17c112608f693506bc4c8d11486d4f2f08ca3c76c89/perestroika-0.1.18.tar.gz" } ] }