{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "\nEnglish | [\u7b80\u4f53\u4e2d\u6587](./README.cn.md)\n\n[![Documentation Status](https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat)](https://parl.readthedocs.io/en/latest/index.html) [![Documentation Status](https://img.shields.io/badge/\u4e2d\u6587\u6587\u6863-\u6700\u65b0-brightgreen.svg)](https://parl.readthedocs.io/zh_CN/latest/) [![Documentation Status](https://img.shields.io/badge/\u624b\u518c-\u4e2d\u6587-brightgreen.svg)](./docs/zh_CN/Overview.md) [![Release](https://img.shields.io/badge/release-v2.0.4-blue.svg)](https://github.com/PaddlePaddle/PARL/releases)\n\n> PARL is a flexible and high-efficient reinforcement learning framework.\n\n\n- [About PARL](#about-parl)\n - [Features](#features)\n - [Abstractions](#abstractions)\n - [Parallelization](#parallelization)\n- [Install](#install)\n- [Getting Started](#getting-started)\n- [Examples](#examples)\n\n# About PARL\n## Features\n**Reproducible**. We provide algorithms that stably reproduce the result of many influential reinforcement learning algorithms.\n\n**Large Scale**. Ability to support high-performance parallelization of training with thousands of CPUs and multi-GPUs.\n\n**Reusable**. Algorithms provided in the repository could be directly adapted to a new task by defining a forward network and training mechanism will be built automatically.\n\n**Extensible**. Build new algorithms quickly by inheriting the abstract class in the framework.\n\n\n## Abstractions\nPARL aims to build an agent for training algorithms to perform complex tasks. \nThe main abstractions introduced by PARL that are used to build an agent recursively are the following:\n\n### Model\n`Model` is abstracted to construct the forward network which defines a policy network or critic network given state as input.\n\n### Algorithm\n`Algorithm` describes the mechanism to update parameters in `Model` and often contains at least one model.\n\n### Agent\n`Agent`, a data bridge between the environment and the algorithm, is responsible for data I/O with the outside environment and describes data preprocessing before feeding data into the training process. \n\nNote: For more information about base classes, please visit our [tutorial](https://parl.readthedocs.io/en/latest/tutorial/getting_started.html) and [API documentation](https://parl.readthedocs.io/en/latest/apis/model.html).\n\n## Parallelization\nPARL provides a compact API for distributed training, allowing users to transfer the code into a parallelized version by simply adding a decorator. For more information about our APIs for parallel training, please visit our [documentation](https://parl.readthedocs.io/en/latest/parallel_training/setup.html). \nHere is a `Hello World` example to demonstrate how easy it is to leverage outer computation resources.\n```python\n#============Agent.py=================\n@parl.remote_class\nclass Agent(object):\n\n def say_hello(self):\n print(\"Hello World!\")\n\n def sum(self, a, b):\n return a+b\n\nparl.connect('localhost:8037')\nagent = Agent()\nagent.say_hello()\nans = agent.sum(1,5) # it runs remotely, without consuming any local computation resources\n```\nTwo steps to use outer computation resources:\n1. use the `parl.remote_class` to decorate a class at first, after which it is transferred to be a new class that can run in other CPUs or machines.\n2. call `parl.connect` to initialize parallel communication before creating an object. Calling any function of the objects **does not** consume local computation resources since they are executed elsewhere.\n\nAs shown in the above figure, real actors (orange circle) are running at the cpu cluster, while the learner (blue circle) is running at the local gpu with several remote actors (yellow circle with dotted edge). \n\nFor users, they can write code in a simple way, just like writing multi-thread code, but with actors consuming remote resources. We have also provided examples of parallized algorithms like [IMPALA](benchmark/fluid/IMPALA/), [A2C](examples/A2C/). For more details in usage please refer to these examples. \n\n\n# Install:\n### Dependencies\n- Python 3.6+(Python 3.8+ is preferable for distributed training). \n- [paddlepaddle>=2.0](https://github.com/PaddlePaddle/Paddle) (**Optional**, if you only want to use APIs related to parallelization alone) \n\n\n```\npip install parl\n```\n\n# Getting Started\nSeveral-points to get you started:\n- [Tutorial](https://parl.readthedocs.io/en/latest/tutorial/getting_started.html) : How to solve cartpole problem.\n- [Xparl Usage](https://parl.readthedocs.io/en/latest/parallel_training/setup.html) : How to set up a cluster with `xparl` and compute in parallel.\n- [Advanced Tutorial](https://parl.readthedocs.io/en/latest/implementations/new_alg.html) : Create customized algorithms.\n- [API documentation](https://parl.readthedocs.io/en/latest/apis/model.html)\n\nFor absolute beginners, we also provide an introductory course on reinforcement learning (RL) : ( [Video](https://www.bilibili.com/video/BV1yv411i7xd) | [Code](examples/tutorials/) )\n\n# Examples\n- [QuickStart](examples/QuickStart/)\n- [DQN](examples/DQN/)\n- [ES](examples/ES/)\n- [DDPG](examples/DDPG/)\n- [A2C](examples/A2C/)\n- [TD3](examples/TD3/)\n- [SAC](examples/SAC/)\n- [QMIX](examples/QMIX/)\n- [MADDPG](examples/MADDPG/)\n- [PPO](examples/PPO/)\n- [CQL](examples/CQL/)\n- [Winning Solution for NIPS2018: AI for Prosthetics Challenge](examples/NeurIPS2018-AI-for-Prosthetics-Challenge/)\n- [Winning Solution for NIPS2019: Learn to Move Challenge](examples/NeurIPS2019-Learn-to-Move-Challenge/)\n- [Winning Solution for NIPS2020: Learning to Run a Power Network Challenge](examples/NeurIPS2020-Learning-to-Run-a-Power-Network-Challenge/)\n\n\n\n", "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/PaddlePaddle/PARL", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "parl", "package_url": "https://pypi.org/project/parl/", "platform": null, "project_url": "https://pypi.org/project/parl/", "project_urls": { "Homepage": "https://github.com/PaddlePaddle/PARL" }, "release_url": "https://pypi.org/project/parl/2.0.4/", "requires_dist": [ "termcolor (>=1.1.0)", "scipy (>=1.0.0)", "tensorboardX (==1.8)", "tb-nightly (==1.15.0a20190801)", "flask (>=1.0.4)", "click", "psutil (>=5.6.2)", "flask-cors", "requests", "grpcio (>=1.27.2)", "protobuf (>=3.14.0)", "cloudpickle (==1.3.0) ; python_version < \"3\"", "pyzmq (==18.1.1) ; python_version < \"3.9\"", "cloudpickle (==1.6.0) ; python_version >= \"3\"", "visualdl (>=2.0.0b) ; python_version >= \"3.8\" and platform_system == \"Linux\"", "pyzmq (==22.3.0) ; python_version >= \"3.9\"" ], "requires_python": "", "summary": "Reinforcement Learning Framework", "version": "2.0.4", "yanked": false, "yanked_reason": null }, "last_serial": 13802654, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "cea7fdbb0ea080ce071decad882583b9", "sha256": "4f0bc3a775edd7e6a8700b9576fb9f4bd19b1b1ebe62cc991c1fb3280c89bb89" }, "downloads": -1, "filename": "parl-1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cea7fdbb0ea080ce071decad882583b9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32625, "upload_time": "2019-01-25T03:01:15", "upload_time_iso_8601": "2019-01-25T03:01:15.593869Z", "url": "https://files.pythonhosted.org/packages/99/6f/f73c5a42225446c641c4a516fd612de807e85081ecba7292d44ebedc6255/parl-1.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "742512b71ea403503c0b51e873844834", "sha256": "6b1ef2048b3aefd07d96d8becc2c8e67a0d3f009e180ccebba7144c2b0ed7065" }, "downloads": -1, "filename": "parl-1.0.tar.gz", "has_sig": false, "md5_digest": "742512b71ea403503c0b51e873844834", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16227, "upload_time": "2019-01-25T03:01:18", "upload_time_iso_8601": "2019-01-25T03:01:18.084933Z", "url": "https://files.pythonhosted.org/packages/a8/af/c872f33e6eea82bb6ba436351ef62ac84aff235421e30a30813f50470849/parl-1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1": [ { "comment_text": "", "digests": { "md5": "5c9b96ee33112d0041dc67ead51352d2", "sha256": "313995204cc47eebadf453a49c7bf6f545aeca0b8447cca433e7595f0c377f03" }, "downloads": -1, "filename": "parl-1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5c9b96ee33112d0041dc67ead51352d2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 59711, "upload_time": "2019-04-19T05:24:40", "upload_time_iso_8601": "2019-04-19T05:24:40.119476Z", "url": "https://files.pythonhosted.org/packages/82/ae/bea34f20a29c87effc2b74545cecb52fc141fdf5e1143ba1f2b47f4a6c14/parl-1.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "19906b3a73d19a80314a3be374a91afd", "sha256": "25bd288c12019231ea3a1531660c8da314755308c8c5cf00f29dbda103b7cccf" }, "downloads": -1, "filename": "parl-1.1.tar.gz", "has_sig": false, "md5_digest": "19906b3a73d19a80314a3be374a91afd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30690, "upload_time": "2019-04-19T05:24:43", "upload_time_iso_8601": "2019-04-19T05:24:43.861111Z", "url": "https://files.pythonhosted.org/packages/d9/c4/fe214967dd501b33fde1d90c619b6a033a4683a3871ca680d5af1d4f5663/parl-1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "30640f91f3dd63f4373ee7b3f3dadda1", "sha256": "684895f2f0cefe24ae99ffb787fbe2f4d5857ac2549c10d74030acffe4f53e39" }, "downloads": -1, "filename": "parl-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "30640f91f3dd63f4373ee7b3f3dadda1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 83371, "upload_time": "2019-08-01T10:01:10", "upload_time_iso_8601": "2019-08-01T10:01:10.839015Z", "url": "https://files.pythonhosted.org/packages/a4/87/b396a367ca4ad6c7359344cd65ea1d72fa115aeed8b1e9a686c079d8c744/parl-1.1.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4fd1c8922133a12520b54a6be2dfc364", "sha256": "4dc8751ae7443691271e5d7f908c3fbc31a6f2ee5a61693c570241a9e741e284" }, "downloads": -1, "filename": "parl-1.1.1.tar.gz", "has_sig": false, "md5_digest": "4fd1c8922133a12520b54a6be2dfc364", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40835, "upload_time": "2019-08-01T10:01:13", "upload_time_iso_8601": "2019-08-01T10:01:13.030525Z", "url": "https://files.pythonhosted.org/packages/67/bb/ae3b33446f060f63ff154eacf677981e7144644e81d9c4058a57210bdc43/parl-1.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "0e7acda431e7cb2c579536ce2f3c2419", "sha256": "d2a3ad19b1888e9ff4fe2d15e9fbf2b39268a76e8d210c55be9aad1c3f6f2515" }, "downloads": -1, "filename": "parl-1.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0e7acda431e7cb2c579536ce2f3c2419", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 95246, "upload_time": "2019-08-03T08:41:06", "upload_time_iso_8601": "2019-08-03T08:41:06.556932Z", "url": "https://files.pythonhosted.org/packages/d2/99/f6649fe417470fba437c8671fc9683c4ef9cda8702773e2b9fe965bebfa9/parl-1.1.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "20a21456583d8f60a8de0009464849bd", "sha256": "469f7b40f9b8ec6897ff9863f37be86bfab3e7b3f5a27ba5a67978ce21db5e60" }, "downloads": -1, "filename": "parl-1.1.2.tar.gz", "has_sig": false, "md5_digest": "20a21456583d8f60a8de0009464849bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47249, "upload_time": "2019-08-03T08:41:09", "upload_time_iso_8601": "2019-08-03T08:41:09.013319Z", "url": "https://files.pythonhosted.org/packages/fc/a4/13d203523d7bf16b7455e3c3ac45737b698aff3973641dcf1aca279e6d79/parl-1.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "1919eb1329149e3fcffa39d04b72a3cd", "sha256": "efb6179bbac7494cd050be47599cf4e22ba99bc453b9c0be642bcba533327716" }, "downloads": -1, "filename": "parl-1.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1919eb1329149e3fcffa39d04b72a3cd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 498716, "upload_time": "2019-08-21T08:57:53", "upload_time_iso_8601": "2019-08-21T08:57:53.537092Z", "url": "https://files.pythonhosted.org/packages/aa/48/cfc50b2f03ea08547220432f2aea3fe4209b43c25b25d6d2ada5eacbd200/parl-1.1.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cace0ff4b32f379e1d4a23d4f31b34a9", "sha256": "e55c81d8a57b28425ff453ca6c455ca159cd5917875eb40ad4f96ad525bf73e8" }, "downloads": -1, "filename": "parl-1.1.3.tar.gz", "has_sig": false, "md5_digest": "cace0ff4b32f379e1d4a23d4f31b34a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 444322, "upload_time": "2019-08-21T08:57:56", "upload_time_iso_8601": "2019-08-21T08:57:56.444734Z", "url": "https://files.pythonhosted.org/packages/97/e5/23438e286f4e98e365144913a77121aaaa1861e4b2e57ca7db323d1d2e68/parl-1.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2": [ { "comment_text": "", "digests": { "md5": "24b2ff3735f9a308aeea350b3e307171", "sha256": "dd63e16ac99323f344765d9f7015fcf0de429e258866701f8bd450cc2b8377c5" }, "downloads": -1, "filename": "parl-1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "24b2ff3735f9a308aeea350b3e307171", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 511042, "upload_time": "2019-10-22T03:15:25", "upload_time_iso_8601": "2019-10-22T03:15:25.842923Z", "url": "https://files.pythonhosted.org/packages/95/db/b5ad09e591c05115c510d35db3455a573543b3dadca720dbfa121f7d5493/parl-1.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e7d337987b065d26d033e21c8e61ce76", "sha256": "82340a523c93c23f3e90933fa244d098bba0992ee23c21e0ab50cad03f8367e6" }, "downloads": -1, "filename": "parl-1.2.tar.gz", "has_sig": false, "md5_digest": "e7d337987b065d26d033e21c8e61ce76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 450446, "upload_time": "2019-10-22T03:15:29", "upload_time_iso_8601": "2019-10-22T03:15:29.598784Z", "url": "https://files.pythonhosted.org/packages/49/2a/4b532b0820b6d3373f1fd2b4ee3a401b113a6b7db1c600a9d782c93a4a3c/parl-1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "6160404101c929bfa341bafc1389a4c3", "sha256": "1b0c30066f0a841a306b3becb9d391fc64fb275bc474707acd9103a0458ad025" }, "downloads": -1, "filename": "parl-1.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6160404101c929bfa341bafc1389a4c3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 517391, "upload_time": "2019-12-16T05:22:42", "upload_time_iso_8601": "2019-12-16T05:22:42.845666Z", "url": "https://files.pythonhosted.org/packages/a4/ac/8be05ab94e90e0f59e58f18bbea27a0a5df270f3507155988b88a2bbcf5c/parl-1.2.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c1b7df0dc6d5c96edf22307235310e27", "sha256": "0b075f4946ffc9362b50dc250505f253458f0ee86e8c28d7e2403819d2f61fec" }, "downloads": -1, "filename": "parl-1.2.1.tar.gz", "has_sig": false, "md5_digest": "c1b7df0dc6d5c96edf22307235310e27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 452750, "upload_time": "2019-12-16T05:22:56", "upload_time_iso_8601": "2019-12-16T05:22:56.534883Z", "url": "https://files.pythonhosted.org/packages/43/a9/7e931423b0502f75a99ff8a88b0c298bb8975dc6de6df2ee8308ba27daf0/parl-1.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "6457b1db4db2eebea0c5be8def136d21", "sha256": "677680609165090db7d6268f2a9b75fa6decdf53ec733eeb98614d6dbc26a46e" }, "downloads": -1, "filename": "parl-1.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6457b1db4db2eebea0c5be8def136d21", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 525004, "upload_time": "2020-03-23T03:07:05", "upload_time_iso_8601": "2020-03-23T03:07:05.685449Z", "url": "https://files.pythonhosted.org/packages/94/29/456ba9db457ec9eb5cc426b6e60ad01125e9763e943aaccb5748938b583b/parl-1.2.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b7e2d9f4c5c51de477de50dbf7cf48a0", "sha256": "59cea62832615e5667d601cfe2c34aba4011c175e9c0563499785931bb7df7a1" }, "downloads": -1, "filename": "parl-1.2.2.tar.gz", "has_sig": false, "md5_digest": "b7e2d9f4c5c51de477de50dbf7cf48a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 455902, "upload_time": "2020-03-23T03:07:09", "upload_time_iso_8601": "2020-03-23T03:07:09.222920Z", "url": "https://files.pythonhosted.org/packages/82/3e/78b497a4929a151c758b93c5a1ea2a7d689a7f4dbac6da8974bb8b35ee14/parl-1.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "bb4b63d8d096a32f528b8e2ebafbc700", "sha256": "618940a2fb2bb8b0cbb7bea0e4f96dc1cee74d9e3cc6103f2d2bdc8a9a7bdd9e" }, "downloads": -1, "filename": "parl-1.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bb4b63d8d096a32f528b8e2ebafbc700", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 524998, "upload_time": "2020-03-30T09:41:45", "upload_time_iso_8601": "2020-03-30T09:41:45.098700Z", "url": "https://files.pythonhosted.org/packages/88/2a/68fe2dda95133c8fa4be0ad72527510067912bf4e6ee5b5c78dfb3a8e296/parl-1.2.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "74d06b2e4607122cc9c4e85c2a9d09a9", "sha256": "115ead6f48f60c447ec1f2277533097f204f5293d54fac34e3b34937fa4f839f" }, "downloads": -1, "filename": "parl-1.2.3.tar.gz", "has_sig": false, "md5_digest": "74d06b2e4607122cc9c4e85c2a9d09a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 455925, "upload_time": "2020-03-30T09:41:47", "upload_time_iso_8601": "2020-03-30T09:41:47.023817Z", "url": "https://files.pythonhosted.org/packages/95/b3/aceafe0dd2d2327ffb2e054587bed4353a5735dd51a8b04da14a57b3494a/parl-1.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2rc0": [ { "comment_text": "", "digests": { "md5": "278b7e6d42f66ff01722348fd1d85b4a", "sha256": "e9be726b0d6f424790953a869e332ab653f922dda82f3551342daf7f15a95361" }, "downloads": -1, "filename": "parl-1.2rc0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "278b7e6d42f66ff01722348fd1d85b4a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 95260, "upload_time": "2019-08-03T08:27:54", "upload_time_iso_8601": "2019-08-03T08:27:54.733382Z", "url": "https://files.pythonhosted.org/packages/21/8a/c7ed908bef32b44fc8185728730b180b14dc033866b76684880edfabc1fb/parl-1.2rc0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "84ffc99b57d2897049824fb9ff8a5baa", "sha256": "04d3b7d1a1c235932b6f8be5b35c72b311982e024dd32ae5dacb2986c7657396" }, "downloads": -1, "filename": "parl-1.2rc0.tar.gz", "has_sig": false, "md5_digest": "84ffc99b57d2897049824fb9ff8a5baa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47237, "upload_time": "2019-08-03T08:27:57", "upload_time_iso_8601": "2019-08-03T08:27:57.173048Z", "url": "https://files.pythonhosted.org/packages/e8/8e/7f593f43fcf1bd201103f0e27230da610cd0de56ed8655e37be38dae4a3e/parl-1.2rc0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3": [ { "comment_text": "", "digests": { "md5": "14935097e27b2b19f19d48ce3ae9a7c3", "sha256": "f249f55d61d23da463f81a446b19317c23bf3842aec4bff9eed9c1bf1bb27276" }, "downloads": -1, "filename": "parl-1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "14935097e27b2b19f19d48ce3ae9a7c3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 517188, "upload_time": "2020-04-28T07:17:33", "upload_time_iso_8601": "2020-04-28T07:17:33.129488Z", "url": "https://files.pythonhosted.org/packages/97/6f/8f8876fbdd7aca4a2f3c5f6f2c2da0f33d25130b74579f1be8d1f3d57276/parl-1.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "22c0d05e84051d2442334e8f7d56bb17", "sha256": "eb9cf1fa57e2b6dc5eadd5d2d3afa004ea3d95e1ec0a8325840d0654e53593e5" }, "downloads": -1, "filename": "parl-1.3.tar.gz", "has_sig": false, "md5_digest": "22c0d05e84051d2442334e8f7d56bb17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 454318, "upload_time": "2020-04-28T07:17:36", "upload_time_iso_8601": "2020-04-28T07:17:36.751105Z", "url": "https://files.pythonhosted.org/packages/a7/f5/e49b14976b2349dfa986281ee08b065b706f08243bbdc0347dda2a87adfb/parl-1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "ae0b16f6042d4b34d11d401b9573c797", "sha256": "a2e72bdebd2d51111ada2a5d13823c1aed2aeb18f0c9015335c55eea51920f84" }, "downloads": -1, "filename": "parl-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ae0b16f6042d4b34d11d401b9573c797", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 521663, "upload_time": "2020-06-11T11:04:20", "upload_time_iso_8601": "2020-06-11T11:04:20.871280Z", "url": "https://files.pythonhosted.org/packages/62/79/590af38a920792c71afb73fad7583967928b4d0ba9fca76250d935c7fda8/parl-1.3.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6078a5c30bb5a647a1cb1c0a010ea2b8", "sha256": "1629be0b5f40ec2b1a5e29d515bb210e12f36241641aafb0bca2170f165d8926" }, "downloads": -1, "filename": "parl-1.3.1.tar.gz", "has_sig": false, "md5_digest": "6078a5c30bb5a647a1cb1c0a010ea2b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 457521, "upload_time": "2020-06-11T11:04:22", "upload_time_iso_8601": "2020-06-11T11:04:22.731106Z", "url": "https://files.pythonhosted.org/packages/59/57/4e9c54c100dba5f463b28876ac87d5cbfc14b45e3d03baa979cd32dff1f0/parl-1.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "0861c38f1542ae6efd0dfd95970020b9", "sha256": "f2d5e5df2b331447a66f99dc95721fed7b0e34ba35a21dbce006a2cdd4c1bd76" }, "downloads": -1, "filename": "parl-1.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0861c38f1542ae6efd0dfd95970020b9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 523168, "upload_time": "2020-07-02T07:31:32", "upload_time_iso_8601": "2020-07-02T07:31:32.931521Z", "url": "https://files.pythonhosted.org/packages/b4/76/429aef910909d4c58cc2bc2f4c9a14a2586367d84b9df00aecec0fe47e81/parl-1.3.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e1c2083290b06cfcacb6492933aca984", "sha256": "9011cc20f8e605c444674efb8acdf5af34f2f72c2417a6f2da2f893eaa67e611" }, "downloads": -1, "filename": "parl-1.3.2.tar.gz", "has_sig": false, "md5_digest": "e1c2083290b06cfcacb6492933aca984", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 458201, "upload_time": "2020-07-02T07:31:36", "upload_time_iso_8601": "2020-07-02T07:31:36.400490Z", "url": "https://files.pythonhosted.org/packages/e7/0f/ce195f140e53eca165c66c95cf69e617fb706f59e6eae45c6cb511132dbb/parl-1.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "6768876ace1cf04357859b0b192e380a", "sha256": "4d14610911ea0e694c1ada8535db27e609a69a1d9acde06bcae7a051cd76a3e5" }, "downloads": -1, "filename": "parl-1.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6768876ace1cf04357859b0b192e380a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 531691, "upload_time": "2020-11-17T12:11:06", "upload_time_iso_8601": "2020-11-17T12:11:06.722337Z", "url": "https://files.pythonhosted.org/packages/05/c9/96b2b1af5d79c033b89f4bd767d19299514ff9c5a1ebabf329177b20a389/parl-1.3.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "439e6c08a9bba9f4eb04d4705467c623", "sha256": "2573b1625748691ca6cef52ace10c80155f5ebd39507251a954f80b87cafb411" }, "downloads": -1, "filename": "parl-1.3.3.tar.gz", "has_sig": false, "md5_digest": "439e6c08a9bba9f4eb04d4705467c623", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 465608, "upload_time": "2020-11-17T12:11:10", "upload_time_iso_8601": "2020-11-17T12:11:10.712069Z", "url": "https://files.pythonhosted.org/packages/f4/ef/daa4b9bb1355174172c05969ebc9c43257dd60f0b1d559eebce6a65b1576/parl-1.3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4": [ { "comment_text": "", "digests": { "md5": "46def43c893712f2c8c8ee7df5a9948e", "sha256": "ffe6322201de7384f4ddcb1fafa3624ec8b56b8be38e3d321d89c1b46117cf0e" }, "downloads": -1, "filename": "parl-1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "46def43c893712f2c8c8ee7df5a9948e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 561857, "upload_time": "2020-12-20T01:07:28", "upload_time_iso_8601": "2020-12-20T01:07:28.056619Z", "url": "https://files.pythonhosted.org/packages/61/c2/51d5d74bbfa472b079cbbb216c348a33b6117e94895728c319f7fcf29ff5/parl-1.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0da7ca81dbd5521665b6545ac5ad0d4c", "sha256": "2b4c2fa084103b658b132d6243c8daa1bafdece72ea3985fce3e6e0df0cba657" }, "downloads": -1, "filename": "parl-1.4.tar.gz", "has_sig": false, "md5_digest": "0da7ca81dbd5521665b6545ac5ad0d4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 480459, "upload_time": "2020-12-20T01:07:29", "upload_time_iso_8601": "2020-12-20T01:07:29.985014Z", "url": "https://files.pythonhosted.org/packages/4d/d7/d73f01401a9de9b04aaaf681c5a9b3cb37a2360d8ace3f8b2ba8df593166/parl-1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "7ab4a847a6584c4be13027e0b210b966", "sha256": "5c3e6589d1de539bed25fb429d6145845dbfc05a25cd6784e03f33993d197561" }, "downloads": -1, "filename": "parl-1.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7ab4a847a6584c4be13027e0b210b966", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 562884, "upload_time": "2021-01-08T08:16:06", "upload_time_iso_8601": "2021-01-08T08:16:06.186972Z", "url": "https://files.pythonhosted.org/packages/9b/38/7d0addb4d4e87a3698fdd8a69cb1ee7dcda6c24cf56bf8afe95d2edca5bf/parl-1.4.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b8c3e860fce8db13241d82b0e3afa697", "sha256": "3de7e932a4a2e8026b8315fd94d3619b5037e87fa46493d01a960127500514a0" }, "downloads": -1, "filename": "parl-1.4.1.tar.gz", "has_sig": false, "md5_digest": "b8c3e860fce8db13241d82b0e3afa697", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 481358, "upload_time": "2021-01-08T08:16:08", "upload_time_iso_8601": "2021-01-08T08:16:08.026370Z", "url": "https://files.pythonhosted.org/packages/38/0d/1871d37439ddffaeda27a3c1134006261134e178a21d3c587a7824849ff5/parl-1.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "d1765573399621ce843d120b0b10396d", "sha256": "9f1388a182cf44abfcb52663f9b69e60748123841fc1b45ffb77480d24845024" }, "downloads": -1, "filename": "parl-1.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d1765573399621ce843d120b0b10396d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 574460, "upload_time": "2021-03-08T02:04:06", "upload_time_iso_8601": "2021-03-08T02:04:06.082272Z", "url": "https://files.pythonhosted.org/packages/e6/33/433a40b96448a9d377b2e93e6fd47cd61841e5ee9dd0cd48834a3763bcba/parl-1.4.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ba651267cd2924bbf49c889543d087b0", "sha256": "d1cec8e13ff77a034ce67ae4e09b021c2d60c5e6d0b94f68dfb8fcbf0c3f69f3" }, "downloads": -1, "filename": "parl-1.4.2.tar.gz", "has_sig": false, "md5_digest": "ba651267cd2924bbf49c889543d087b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 486042, "upload_time": "2021-03-08T02:04:08", "upload_time_iso_8601": "2021-03-08T02:04:08.074149Z", "url": "https://files.pythonhosted.org/packages/0c/3f/e07615cf08e5af3765a18f3fcf83773a34ad3dcdfc78a8fdea54d7ebe45b/parl-1.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "a98a3e8af45513eb2d968f47484edfe0", "sha256": "66334502ac14769c4461a474b5c0c91463d7aa1fc07c2ba7544b44c546bc974c" }, "downloads": -1, "filename": "parl-1.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a98a3e8af45513eb2d968f47484edfe0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 574454, "upload_time": "2021-03-10T06:55:54", "upload_time_iso_8601": "2021-03-10T06:55:54.154839Z", "url": "https://files.pythonhosted.org/packages/90/d9/bae36d063c3ed930dd1871e0facf8a68bcfaf67268ae66e45f36c4bdb5a7/parl-1.4.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "234cd4d64200ec09f1914aaec01f7f3f", "sha256": "4b0b727d930fcb5e52fac89644057f15e074b8c1b7422526ba8ddea5c9a41b4c" }, "downloads": -1, "filename": "parl-1.4.3.tar.gz", "has_sig": false, "md5_digest": "234cd4d64200ec09f1914aaec01f7f3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 486053, "upload_time": "2021-03-10T06:55:57", "upload_time_iso_8601": "2021-03-10T06:55:57.807069Z", "url": "https://files.pythonhosted.org/packages/24/67/9728b4fb19601fc3190350c081f42d597a4f33a0134b0a757e50504746ca/parl-1.4.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "749b75ca74aa82597450e83d3fd62307", "sha256": "50a6d04550e8f1f8e8c050d04365efb6d72ac593b8ed8e8f806f681444447066" }, "downloads": -1, "filename": "parl-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "749b75ca74aa82597450e83d3fd62307", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 585023, "upload_time": "2021-06-03T09:27:53", "upload_time_iso_8601": "2021-06-03T09:27:53.460753Z", "url": "https://files.pythonhosted.org/packages/c6/9e/c2d910be831be6d55c677cd2c47408b61341e0342fd40f350a9833dc9845/parl-2.0.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5ed31136841b5134effb968f134c2998", "sha256": "0571ebc90e70773511ea63dcec45dcdee2944425e921b7dd7ba34f1bfb8324da" }, "downloads": -1, "filename": "parl-2.0.0.tar.gz", "has_sig": false, "md5_digest": "5ed31136841b5134effb968f134c2998", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 490443, "upload_time": "2021-06-03T09:27:57", "upload_time_iso_8601": "2021-06-03T09:27:57.832900Z", "url": "https://files.pythonhosted.org/packages/b5/1d/44d5a8784a2fcca7a94d5f5382eb436efbb4c326effc1764a3d32db7d5c2/parl-2.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.0rc0": [ { "comment_text": "", "digests": { "md5": "ce998e518b3080d5d6ee363134aa2841", "sha256": "82242c692661d221274cbf1f5f5f93f533545ec20395c1032e6f85b9572d873e" }, "downloads": -1, "filename": "parl-2.0.0rc0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ce998e518b3080d5d6ee363134aa2841", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 584696, "upload_time": "2021-05-25T14:44:34", "upload_time_iso_8601": "2021-05-25T14:44:34.885374Z", "url": "https://files.pythonhosted.org/packages/67/cd/f429a19fc3498abe15009a02526f6a3977eb43e140409c0ab1bbbf87a361/parl-2.0.0rc0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cd0d8d6521dd37cd8095b98921c7a3b4", "sha256": "175e3046be14acbc6766b1104e56bac6b805d684b0d45c78b122e6f5167fa0c5" }, "downloads": -1, "filename": "parl-2.0.0rc0.tar.gz", "has_sig": false, "md5_digest": "cd0d8d6521dd37cd8095b98921c7a3b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 489664, "upload_time": "2021-05-25T14:44:37", "upload_time_iso_8601": "2021-05-25T14:44:37.145681Z", "url": "https://files.pythonhosted.org/packages/30/3c/e119e0001eccdac5cc8a9f546ebf2baaa70bf282b6127b36f8688ad5e3b5/parl-2.0.0rc0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "77efc7f66789a671c731bd134e2470a9", "sha256": "e6d7f87b80276681bf4095bc0d729599e26ee86bc397eacf1b3fd61005b4ab8a" }, "downloads": -1, "filename": "parl-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "77efc7f66789a671c731bd134e2470a9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 585320, "upload_time": "2021-06-17T09:28:06", "upload_time_iso_8601": "2021-06-17T09:28:06.333177Z", "url": "https://files.pythonhosted.org/packages/37/5a/4a7abb5daf21216bd26b83895de0826db9d0ce8d3020957fd120938a9490/parl-2.0.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "11637484c17fcb9d2e6e14323a012b40", "sha256": "a496662b05c432dc05ff2e6da9bb3a1398a148b230383c6d4f9d008259788e2a" }, "downloads": -1, "filename": "parl-2.0.1.tar.gz", "has_sig": false, "md5_digest": "11637484c17fcb9d2e6e14323a012b40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 490687, "upload_time": "2021-06-17T09:28:08", "upload_time_iso_8601": "2021-06-17T09:28:08.315001Z", "url": "https://files.pythonhosted.org/packages/36/21/5862eddd7b928dba644365d2dd15fb97603cbd3ee644722341a09733df30/parl-2.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "beaf876842e00866a0b8eb41037220be", "sha256": "5ec3b4e0dbbca7c2d0b0147263fea947eeb569e77781048ffe4c22337f30756b" }, "downloads": -1, "filename": "parl-2.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "beaf876842e00866a0b8eb41037220be", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 599111, "upload_time": "2021-07-08T13:09:56", "upload_time_iso_8601": "2021-07-08T13:09:56.258116Z", "url": "https://files.pythonhosted.org/packages/8c/fe/f467798b110e6d4bf52c94807f56a9059cc56a6a7b657aed5c5475218309/parl-2.0.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0b533eb618f70bec7d63e84a56bd5289", "sha256": "cfc379c6b12013ac81df5cdf566c1b57f425392574bf57a823edf5caf284fabe" }, "downloads": -1, "filename": "parl-2.0.2.tar.gz", "has_sig": false, "md5_digest": "0b533eb618f70bec7d63e84a56bd5289", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 496411, "upload_time": "2021-07-08T13:09:58", "upload_time_iso_8601": "2021-07-08T13:09:58.129505Z", "url": "https://files.pythonhosted.org/packages/6a/74/ba2c6b897e4011d108b98aca6cf07965e889765f1d2d24619740fe7acda0/parl-2.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "578be760be86b3cf6c840d58f64b841f", "sha256": "9f35c870514ae717ff82f3ae9083f49d65d61638b5668bcd6d756baffcc238c5" }, "downloads": -1, "filename": "parl-2.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "578be760be86b3cf6c840d58f64b841f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 607735, "upload_time": "2021-12-30T06:45:32", "upload_time_iso_8601": "2021-12-30T06:45:32.121580Z", "url": "https://files.pythonhosted.org/packages/d7/be/42888c57d322cca37d6f1e985f796c7c6bd3443cb6f572154157dafcbf5b/parl-2.0.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3c53f5033f8fb2f0754fa0e887f1f913", "sha256": "adff4d45cdb220cdf9e9edd6a3724dde20199d957411749ac960a992c3f9dca0" }, "downloads": -1, "filename": "parl-2.0.3.tar.gz", "has_sig": false, "md5_digest": "3c53f5033f8fb2f0754fa0e887f1f913", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 500678, "upload_time": "2021-12-30T06:45:34", "upload_time_iso_8601": "2021-12-30T06:45:34.942885Z", "url": "https://files.pythonhosted.org/packages/b2/e1/1cf7b3454f63514a5fcb2edc3b51c9afce1a9ab64debbe77fcf6947506c6/parl-2.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "79e45464950ba8ebfa3d764dd5c541c6", "sha256": "4ffd2ff056139791311269eeac4670f13569ace7558b55b27a21c5bcb001b6ae" }, "downloads": -1, "filename": "parl-2.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "79e45464950ba8ebfa3d764dd5c541c6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 620026, "upload_time": "2022-05-13T04:46:41", "upload_time_iso_8601": "2022-05-13T04:46:41.593813Z", "url": "https://files.pythonhosted.org/packages/96/bd/171f818891aad3226423bd8721da568137548f61c36e2c20a414ac1354f1/parl-2.0.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bd49ef052f3696a66fdb46416329b39e", "sha256": "b0db4e4f4e425c4f6c74d7c5cec826a4186d4470969504cf274f6a16d49b595e" }, "downloads": -1, "filename": "parl-2.0.4.tar.gz", "has_sig": false, "md5_digest": "bd49ef052f3696a66fdb46416329b39e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 509431, "upload_time": "2022-05-13T04:46:44", "upload_time_iso_8601": "2022-05-13T04:46:44.424556Z", "url": "https://files.pythonhosted.org/packages/4b/fc/d0869bf68f269fce562cb6c292bf3fcee234ea3e026214da253988448fe2/parl-2.0.4.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "79e45464950ba8ebfa3d764dd5c541c6", "sha256": "4ffd2ff056139791311269eeac4670f13569ace7558b55b27a21c5bcb001b6ae" }, "downloads": -1, "filename": "parl-2.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "79e45464950ba8ebfa3d764dd5c541c6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 620026, "upload_time": "2022-05-13T04:46:41", "upload_time_iso_8601": "2022-05-13T04:46:41.593813Z", "url": "https://files.pythonhosted.org/packages/96/bd/171f818891aad3226423bd8721da568137548f61c36e2c20a414ac1354f1/parl-2.0.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bd49ef052f3696a66fdb46416329b39e", "sha256": "b0db4e4f4e425c4f6c74d7c5cec826a4186d4470969504cf274f6a16d49b595e" }, "downloads": -1, "filename": "parl-2.0.4.tar.gz", "has_sig": false, "md5_digest": "bd49ef052f3696a66fdb46416329b39e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 509431, "upload_time": "2022-05-13T04:46:44", "upload_time_iso_8601": "2022-05-13T04:46:44.424556Z", "url": "https://files.pythonhosted.org/packages/4b/fc/d0869bf68f269fce562cb6c292bf3fcee234ea3e026214da253988448fe2/parl-2.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }