{ "info": { "author": "pwwang", "author_email": "pwwang@pwwang.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "# [PyPPL][3] - A [Py](#)thon [P](#)i[P](#)e[L](#)ine framework\n\n[![Pypi][10]][18] [![Github][11]][3] [![PythonVers][14]][18] [![docs][19]][1] [![Travis building][5]][7] [![Codacy][4]][8] [![Codacy coverage][6]][8]\n\n[Documentation][1] | [API][2] | [Change log][9]\n\n\n## Features\n- Process caching.\n- Process reusability.\n- Process error handling.\n- Runner customization.\n- Easy running profile switching.\n- Plugin system.\n\n## Installation\n```bash\npip install PyPPL\n```\n\n## Plugin gallery\n\n(*) shipped with `PyPPL`\n\n- [pyppl_report](https://github.com/pwwang/pyppl_report): Generating reports for PyPPL pipelines\n- [pyppl_flowchart](https://github.com/pwwang/pyppl_flowchart): Generating flowchart for PyPPL\n- [pyppl_export](https://github.com/pwwang/pyppl_export)*: Exporting outputs generated by PyPPL pipeline\n- [pyppl_echo](https://github.com/pwwang/pyppl_echo)*: Echoing script output to PyPPL logs\"\n- [pyppl_rich](https://github.com/pwwang/pyppl_rich)*: Richer information in logs for PyPPL\n- [pyppl_strict](https://github.com/pwwang/pyppl_strict)*: More strict check of job success for PyPPL\n- [pyppl_lock](https://github.com/pwwang/pyppl_lock)*: Preventing running processes from running again for PyPPL\n- [pyppl_annotate](https://github.com/pwwang/pyppl_annotate): Adding long description/annotation for processes\n- [pyppl_require](https://github.com/pwwang/pyppl_require): Checking and installing requirements for processes\n- [pyppl_jobtime](https://github.com/pwwang/pyppl_jobtime): Job running time statistics for PyPPL\n- [pyppl_notify](https://github.com/pwwang/pyppl_notify): Email notifications for PyPPL\n- [pyppl_runcmd](https://github.com/pwwang/pyppl_runcmd): Allowing to run local command before and after each process for PyPPL\n- [pyppl_runners](https://github.com/pwwang/pyppl_runners): Common runners for PyPPL\n\n## Writing pipelines with predefined processes\nLet's say we are implementing the [TCGA DNA-Seq Re-alignment Workflow][16]\n(The very left part of following figure).\nFor demonstration, we will skip the QC and the co-clean parts here.\n\n[![DNA_Seq_Variant_Calling_Pipeline][15]][16]\n\n`demo.py`:\n```python\nfrom pyppl import PyPPL, Channel\n# import predefined processes\nfrom TCGAprocs import pBamToFastq, pAlignment, pBamSort, pBamMerge, pMarkDups\n\n# Load the bam files\npBamToFastq.input = Channel.fromPattern('/path/to/*.bam')\n# Align the reads to reference genome\npAlignment.depends = pBamToFastq\n# Sort bam files\npBamSort.depends = pAlignment\n# Merge bam files\npBamMerge.depends = pBamSort\n# Mark duplicates\npMarkDups.depends = pBamMerge\n# Export the results\npMarkDups.config.export_dir = '/path/to/realigned_Bams'\n# Specify the start process and run the pipeline\nPyPPL().start(pBamToFastq).run()\n```\n\n[![asciicast][20]][21]\n\n## Implementing individual processes\n`TCGAprocs.py`:\n```python\nfrom pyppl import Proc\npBamToFastq = Proc(desc = 'Convert bam files to fastq files.')\npBamToFastq.input = 'infile:file'\npBamToFastq.output = [\n 'fq1:file:{{i.infile | stem}}_1.fq.gz',\n 'fq2:file:{{i.infile | stem}}_2.fq.gz']\npBamToFastq.script = '''\nbamtofastq collate=1 exclude=QCFAIL,SECONDARY,SUPPLEMENTARY \\\n filename= {{i.infile}} gz=1 inputformat=bam level=5 \\\n outputdir= {{job.outdir}} outputperreadgroup=1 tryoq=1 \\\n outputperreadgroupsuffixF=_1.fq.gz \\\n outputperreadgroupsuffixF2=_2.fq.gz \\\n outputperreadgroupsuffixO=_o1.fq.gz \\\n outputperreadgroupsuffixO2=_o2.fq.gz \\\n outputperreadgroupsuffixS=_s.fq.gz\n'''\n\npAlignment = Proc(desc = 'Align reads to reference genome.')\npAlignment.input = 'fq1:file, fq2:file'\n# name_1.fq.gz => name.bam\npAlignment.output = 'bam:file:{{i.fq1 | stem | stem | [:-2]}}.bam'\npAlignment.script = '''\nbwa mem -t 8 -T 0 -R {{i.fq1}} {{i.fq2}} | \\\n samtools view -Shb -o {{o.bam}} -\n'''\n\npBamSort = Proc(desc = 'Sort bam files.')\npBamSort.input = 'inbam:file'\npBamSort.output = 'outbam:file:{{i.inbam | basename}}'\npBamSort.script = '''\njava -jar picard.jar SortSam CREATE_INDEX=true INPUT={{i.inbam}} \\\n OUTPUT={{o.outbam}} SORT_ORDER=coordinate VALIDATION_STRINGENCY=STRICT\n'''\n\npBamMerge = Proc(desc = 'Merge bam files.')\npBamMerge.input = 'inbam:file'\npBamMerge.output = 'outbam:file:{{i.inbam | basename}}'\npBamMerge.script = '''\njava -jar picard.jar MergeSamFiles ASSUME_SORTED=false CREATE_INDEX=true \\\n INPUT={{i.inbam}} MERGE_SEQUENCE_DICTIONARIES=false OUTPUT={{o.outbam}} \\\n SORT_ORDER=coordinate USE_THREADING=true VALIDATION_STRINGENCY=STRICT\n'''\n\npMarkDups = Proc(desc = 'Mark duplicates.')\npMarkDups.input = 'inbam:file'\npMarkDups.output = 'outbam:file:{{i.inbam | basename}}'\npMarkDups.script = '''\njava -jar picard.jar MarkDuplicates CREATE_INDEX=true INPUT={{i.inbam}} \\\n OUTPUT={{o.outbam}} VALIDATION_STRINGENCY=STRICT\n'''\n```\n\nEach process is indenpendent so that you may also reuse the processes in other pipelines.\n\n## Pipeline flowchart\n```python\n# When try to run your pipline, instead of:\n# PyPPL().start(pBamToFastq).run()\n# do:\nPyPPL().start(pBamToFastq).flowchart().run()\n```\nThen an SVG file endswith `.pyppl.svg` will be generated under current directory.\nNote that this function requires [Graphviz][13] and [graphviz for python][12].\n\nSee plugin [details][22].\n\n![flowchart][17]\n\n## Pipeline report\nSee plugin [details][23]\n\n````python\npPyClone.report = \"\"\"\n## {{title}}\n\nPyClone[1] is a tool using Probabilistic model for inferring clonal population structure from deep NGS sequencing.\n\n![Similarity matrix]({{path.join(job.o.outdir, \"plots/loci/similarity_matrix.svg\")}})\n\n```table\ncaption: Clusters\nfile: \"{{path.join(job.o.outdir, \"tables/cluster.tsv\")}}\"\nrows: 10\n```\n\n[1]: Roth, Andrew, et al. \"PyClone: statistical inference of clonal population structure in cancer.\" Nature methods 11.4 (2014): 396.\n\"\"\"\n\n# or use a template file\n\npPyClone.report = \"file:/path/to/template.md\"\n````\n\n```python\nPyPPL().start(pPyClone).run().report('/path/to/report', title = 'Clonality analysis using PyClone')\n```\n\n![report][24]\n\n## Full documentation\n[ReadTheDocs][1]\n\n\n[1]: https://pyppl.readthedocs.io/en/latest/\n[2]: https://pyppl.readthedocs.io/en/latest/api/\n[3]: https://github.com/pwwang/pyppl/\n[4]: https://img.shields.io/codacy/grade/30db7165ed6c4d7aa3261cd1f5530813.svg?style=flat-square\n[5]: https://img.shields.io/travis/pwwang/PyPPL.svg?style=flat-square\n[6]: https://img.shields.io/codacy/coverage/30db7165ed6c4d7aa3261cd1f5530813.svg?style=flat-square\n[7]: https://travis-ci.org/pwwang/PyPPL\n[8]: https://app.codacy.com/project/pwwang/PyPPL/dashboard\n[9]: https://pyppl.readthedocs.io/en/latest/CHANGELOG/\n[10]: https://img.shields.io/pypi/v/pyppl.svg?style=flat-square\n[11]: https://img.shields.io/github/tag/pwwang/PyPPL.svg?style=flat-square\n[12]: https://github.com/xflr6/graphviz\n[13]: https://www.graphviz.org/\n[14]: https://img.shields.io/pypi/pyversions/PyPPL.svg?style=flat-square\n[15]: https://docs.gdc.cancer.gov/Data/Bioinformatics_Pipelines/images/dna-alignment-pipeline_0.png\n[16]: https://docs.gdc.cancer.gov/Data/Bioinformatics_Pipelines/DNA_Seq_Variant_Calling_Pipeline/\n[17]: https://raw.githubusercontent.com/pwwang/PyPPL/development/examples/demo/demo.pyppl.svg?sanitize=true\n[18]: https://pypi.org/project/PyPPL/\n[19]: https://img.shields.io/readthedocs/pyppl.svg?style=flat-square\n[20]: https://asciinema.org/a/Uiz6Wdo1buGCGPFd89bWiZzwn.svg?sanitize=true\n[21]: https://asciinema.org/a/Uiz6Wdo1buGCGPFd89bWiZzwn\n[22]: https://github.com/pwwang/pyppl_flowchart\n[23]: https://github.com/pwwang/pyppl_report\n[24]: https://pyppl_report.readthedocs.io/en/latest/snapshot.png\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/pwwang/PyPPL", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyppl", "package_url": "https://pypi.org/project/pyppl/", "platform": "", "project_url": "https://pypi.org/project/pyppl/", "project_urls": { "Homepage": "https://github.com/pwwang/PyPPL", "Repository": "https://github.com/pwwang/PyPPL" }, "release_url": "https://pypi.org/project/pyppl/3.2.2/", "requires_dist": [ "liquidpy", "pyparam", "filelock (>=3.0.0,<4.0.0)", "python-simpleconf", "cmdy", "pluggy (<1.0.0)", "colorama (>=0.4.1,<0.5.0)", "psutil (>=5.6,<6.0)", "transitions (>=0.7,<0.8)", "diot", "attrs (>=19.3,<20.0)", "attr_property", "python-varname", "pyppl_export", "pyppl_echo", "pyppl_rich", "pyppl_strict", "pyppl_lock", "pyppl_runners", "toml (>=0.10,<0.11)" ], "requires_python": ">=3.6,<4.0", "summary": "A Python PiPeLine framework", "version": "3.2.2", "yanked": false, "yanked_reason": null }, "last_serial": 7409123, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "368129cbfa73c5fe8be266326463474d", "sha256": "3cab5345470286db363c196e5b976de329e5930bcc77f71c7504a750d477766c" }, "downloads": -1, "filename": "PyPPL-0.9.0.tar.gz", "has_sig": false, "md5_digest": "368129cbfa73c5fe8be266326463474d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51241, "upload_time": "2017-09-22T18:30:26", "upload_time_iso_8601": "2017-09-22T18:30:26.952428Z", "url": "https://files.pythonhosted.org/packages/a5/7b/8c00fa8e2efb75a5a6b70c8450edc3865a19c411f7e400b3b15616377a49/PyPPL-0.9.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.0b1": [ { "comment_text": "", "digests": { "md5": "96e2990c85bbc54dabd3fdca066bd2d1", "sha256": "ad39783e68e46d3a98abb9c145bdc0ede2eb8a9bdad1489c9156f5edbaf8a202" }, "downloads": -1, "filename": "PyPPL-0.9.0b1.tar.gz", "has_sig": false, "md5_digest": "96e2990c85bbc54dabd3fdca066bd2d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47257, "upload_time": "2017-09-22T17:02:26", "upload_time_iso_8601": "2017-09-22T17:02:26.861131Z", "url": "https://files.pythonhosted.org/packages/9b/3b/d0d8026200cad88fbf36dcc7bb8278ae878f74567f80b0fdceb4a2835d39/PyPPL-0.9.0b1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.0b2": [ { "comment_text": "", "digests": { "md5": "86498ecd6a9dc6e950dcf735cdae2e35", "sha256": "37a128e09cbce548d747a0932c2c743e0a3a98dc3683a7183d83157321c6ea7f" }, "downloads": -1, "filename": "PyPPL-0.9.0b2.tar.gz", "has_sig": false, "md5_digest": "86498ecd6a9dc6e950dcf735cdae2e35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47237, "upload_time": "2017-09-22T17:07:20", "upload_time_iso_8601": "2017-09-22T17:07:20.926758Z", "url": "https://files.pythonhosted.org/packages/d2/16/afbbf32554f07b278895ad8883be0ca123db6ab3afbb61bc31a65c55f221/PyPPL-0.9.0b2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.0b3": [ { "comment_text": "", "digests": { "md5": "b6966122ec71149d9d3d54a60af15596", "sha256": "856848befde1cf90c045c9e64eb2520c73add08177aa12880bc73485be22818e" }, "downloads": -1, "filename": "PyPPL-0.9.0b3.tar.gz", "has_sig": false, "md5_digest": "b6966122ec71149d9d3d54a60af15596", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51380, "upload_time": "2017-09-22T17:26:37", "upload_time_iso_8601": "2017-09-22T17:26:37.949736Z", "url": "https://files.pythonhosted.org/packages/65/c0/cf01152c3faa461464489d281dd5b01798aded8c6e90e7bd8fe02754f0e2/PyPPL-0.9.0b3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "f119700edb45f2bebb978a61c33f30e5", "sha256": "d7ac9bc7bb481ee3c7fe85c39a0b79214c4a62d421e9928124477d9521826788" }, "downloads": -1, "filename": "PyPPL-0.9.1.tar.gz", "has_sig": false, "md5_digest": "f119700edb45f2bebb978a61c33f30e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52190, "upload_time": "2017-10-06T20:55:06", "upload_time_iso_8601": "2017-10-06T20:55:06.368805Z", "url": "https://files.pythonhosted.org/packages/eb/70/6aaefc5389d2d63502012e8eb04bf69e875540195e2f0ad99a3c322d2377/PyPPL-0.9.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "2ae5d6dc95f8623c18105961a7937df6", "sha256": "f6472ab5822a7c6962d32e935ba5552df4dfc723a98943f2b139dfc3fb471224" }, "downloads": -1, "filename": "PyPPL-0.9.2.tar.gz", "has_sig": false, "md5_digest": "2ae5d6dc95f8623c18105961a7937df6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54046, "upload_time": "2017-10-23T18:06:10", "upload_time_iso_8601": "2017-10-23T18:06:10.048472Z", "url": "https://files.pythonhosted.org/packages/80/e9/84dd6c86aa606810415200d2b6807dccbaa61797615922c7051a7486f754/PyPPL-0.9.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "a3983310594871c18cdaf95c4de0273c", "sha256": "27e67757a9943d84b28fb00e869aab767a6eb9dd82682298aacf96fb845fc221" }, "downloads": -1, "filename": "PyPPL-0.9.3.tar.gz", "has_sig": false, "md5_digest": "a3983310594871c18cdaf95c4de0273c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56294, "upload_time": "2017-11-20T18:24:37", "upload_time_iso_8601": "2017-11-20T18:24:37.814304Z", "url": "https://files.pythonhosted.org/packages/a5/79/989141d3bf3dcca4315e32a82a935dc73bf9bac5c99e9f6460b975fefbb7/PyPPL-0.9.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "b2c5977ea4eb3371800120b77d32b0ad", "sha256": "5741c95e9ff980e892600f79f80afa300fadf01f68333f79452a7f9d7d8d58fd" }, "downloads": -1, "filename": "PyPPL-0.9.4.tar.gz", "has_sig": false, "md5_digest": "b2c5977ea4eb3371800120b77d32b0ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57559, "upload_time": "2017-12-27T21:26:23", "upload_time_iso_8601": "2017-12-27T21:26:23.609345Z", "url": "https://files.pythonhosted.org/packages/84/cb/55727d59c52924cc2ffa03765f8d0a7641bc099ddc80f9c47843a2ecc69b/PyPPL-0.9.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "93834d21b56a3ddbd3e5d41b419f5c08", "sha256": "fe2162ee9245552aff77175fb09c5ebfee0d8428989454ebb5cbce733967c2d1" }, "downloads": -1, "filename": "PyPPL-0.9.5.tar.gz", "has_sig": false, "md5_digest": "93834d21b56a3ddbd3e5d41b419f5c08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62647, "upload_time": "2018-03-06T21:19:41", "upload_time_iso_8601": "2018-03-06T21:19:41.142489Z", "url": "https://files.pythonhosted.org/packages/51/73/fecd22ccc4eb34db367db14f76aa15e6ec597052ce491b5db605fdb0772d/PyPPL-0.9.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "6af257eac902cabb5038817f97c0cb33", "sha256": "8ff642a2e2a83f91de622ef8221507f8afc7f36eed8394af0fc7300c02e57dbb" }, "downloads": -1, "filename": "PyPPL-0.9.6.tar.gz", "has_sig": false, "md5_digest": "6af257eac902cabb5038817f97c0cb33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62898, "upload_time": "2018-06-08T20:13:46", "upload_time_iso_8601": "2018-06-08T20:13:46.654334Z", "url": "https://files.pythonhosted.org/packages/f3/fb/e9fa0ea1b23efafbbdcb75a7372b78b9a35ad2fdbd394abea89f27b71aee/PyPPL-0.9.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "4fbf1a3c40826917b95e9cf1d3e8cd61", "sha256": "0a949e36c110816ed4d6f8fab0df37e13d1842e62ae0c64eb3c56d42d032ccfa" }, "downloads": -1, "filename": "PyPPL-1.0.0.tar.gz", "has_sig": false, "md5_digest": "4fbf1a3c40826917b95e9cf1d3e8cd61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66411, "upload_time": "2018-07-10T17:46:12", "upload_time_iso_8601": "2018-07-10T17:46:12.508946Z", "url": "https://files.pythonhosted.org/packages/10/f6/6beb44ef4d85f935d0258fd1103b48a3a4c160154de7d9a1cecf66c52a62/PyPPL-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "84ead13c655fb80e3efd7327c164844d", "sha256": "508b455bda7aa02052c8ed849007cf49c856098d30ad354473996aa96c0723f8" }, "downloads": -1, "filename": "PyPPL-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "84ead13c655fb80e3efd7327c164844d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 69707, "upload_time": "2018-07-31T20:22:18", "upload_time_iso_8601": "2018-07-31T20:22:18.114621Z", "url": "https://files.pythonhosted.org/packages/04/ae/fd45b4844bd1999d85d6e282dca5f6652c394a222bb6d9d20425f48a59c3/PyPPL-1.0.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "57ccbc4b5095ae19989e17def746ae96", "sha256": "2b8daf76abcfbe5b5434d6461e99f3fa881bf37846c47c6efff4fe49956a361e" }, "downloads": -1, "filename": "PyPPL-1.0.1.tar.gz", "has_sig": false, "md5_digest": "57ccbc4b5095ae19989e17def746ae96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65518, "upload_time": "2018-07-31T20:26:56", "upload_time_iso_8601": "2018-07-31T20:26:56.424043Z", "url": "https://files.pythonhosted.org/packages/bf/48/b139736e051f517be93933597a526806d2a762f88a48b490fb16c7f8d60e/PyPPL-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "6e1524c6f8781c51b678f9cc5414c456", "sha256": "810ffb62fc73b74a51b1cb1693e5f76b94ba88bba5146dc3fccceeda6ab8d161" }, "downloads": -1, "filename": "PyPPL-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6e1524c6f8781c51b678f9cc5414c456", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 83710, "upload_time": "2018-08-20T16:06:17", "upload_time_iso_8601": "2018-08-20T16:06:17.362911Z", "url": "https://files.pythonhosted.org/packages/1c/fc/68219e194101a160492363debfbfd80148ae4bc49d42afde1bcc7a5ff922/PyPPL-1.1.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "16c8c846fb786d56a63b4a2fb3454fd8", "sha256": "ac36fa6e677f3c7bbfaf38c30b51577b35301645fc54ec37f066269efa076333" }, "downloads": -1, "filename": "PyPPL-1.1.0.tar.gz", "has_sig": false, "md5_digest": "16c8c846fb786d56a63b4a2fb3454fd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71855, "upload_time": "2018-08-20T16:06:18", "upload_time_iso_8601": "2018-08-20T16:06:18.867532Z", "url": "https://files.pythonhosted.org/packages/06/4f/65447bc2480403f75fc2ad0094d49ddf1feabaee13b7b77cfe74420edf9b/PyPPL-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "233bb8a365c1445889cdd18acd794d96", "sha256": "a5b71010a8d20c6027b32ccc682da393147fd8eb030e7eef4ff9425dc5f09f20" }, "downloads": -1, "filename": "PyPPL-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "233bb8a365c1445889cdd18acd794d96", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 84413, "upload_time": "2018-08-30T22:34:18", "upload_time_iso_8601": "2018-08-30T22:34:18.383916Z", "url": "https://files.pythonhosted.org/packages/34/f6/f5154bd1b6ec651b0d974d631b4b8734d815ff0c228d778e97450e6ca9a9/PyPPL-1.1.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "91a487b168cbf6975719acb02e0833b9", "sha256": "8fbf1050456b83e1948c7309c302ae50b943ee4ea28cb7cb37b267d4a23eb0a6" }, "downloads": -1, "filename": "PyPPL-1.1.1.tar.gz", "has_sig": false, "md5_digest": "91a487b168cbf6975719acb02e0833b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 72581, "upload_time": "2018-08-30T22:34:19", "upload_time_iso_8601": "2018-08-30T22:34:19.841668Z", "url": "https://files.pythonhosted.org/packages/14/cc/1c04fb874409ed71a411d9a05541f84dd4d278c0c5cf44f9509fb1588556/PyPPL-1.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "813a07b859ba4988cf9925738ab7c89c", "sha256": "e78c4d93e2844302e225999a8378c90697ff5e17592abb7a60b09e3347acac12" }, "downloads": -1, "filename": "PyPPL-1.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "813a07b859ba4988cf9925738ab7c89c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 88466, "upload_time": "2018-09-13T19:46:15", "upload_time_iso_8601": "2018-09-13T19:46:15.830924Z", "url": "https://files.pythonhosted.org/packages/5b/e1/29221dace2b301ce00c6718fb75a3ce870095fdb86bf40a4461312d39ffe/PyPPL-1.1.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "959843903ebf9f95352a0345da4b0b9e", "sha256": "0643c5da99cd1ebee935cd5c1eb6a785d942b9d202752d8b6279b662871227b8" }, "downloads": -1, "filename": "PyPPL-1.1.2.tar.gz", "has_sig": false, "md5_digest": "959843903ebf9f95352a0345da4b0b9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76434, "upload_time": "2018-09-13T19:46:17", "upload_time_iso_8601": "2018-09-13T19:46:17.535878Z", "url": "https://files.pythonhosted.org/packages/fb/c8/340e6df6b737ae8161db36bbb82701b96834e6b5daee7a0a8999114057ab/PyPPL-1.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "1a4dfffdd42bad5e9452c1f3a00ce04f", "sha256": "9d77d2c2aef037113a5b4b1dbcec73ea6bdd72e634778aafbabdecd172ec2cdf" }, "downloads": -1, "filename": "PyPPL-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1a4dfffdd42bad5e9452c1f3a00ce04f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 90062, "upload_time": "2018-09-28T18:07:56", "upload_time_iso_8601": "2018-09-28T18:07:56.283500Z", "url": "https://files.pythonhosted.org/packages/be/a0/ca3dccee71d328c8696828cfad73c2636294ad98c0ace471c48ca02d906d/PyPPL-1.2.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b312d8c4d7e74ba7bd811f53e32eb6dc", "sha256": "b24295d3e34eef72f88aac5e41b2927f8f18f320aab41651affd12a5e9178ce6" }, "downloads": -1, "filename": "PyPPL-1.2.0.tar.gz", "has_sig": false, "md5_digest": "b312d8c4d7e74ba7bd811f53e32eb6dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71946, "upload_time": "2018-09-28T18:07:58", "upload_time_iso_8601": "2018-09-28T18:07:58.126439Z", "url": "https://files.pythonhosted.org/packages/ab/76/051de8f37ffba2273bf60d55b66417c290c4edf5565c349c4b2c458bdab4/PyPPL-1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "92acdd0c99f45096ac84ed38957ccefe", "sha256": "f5abeda7b5ee8d53784bcaf1290d885eb63c3e2e11de062046f6a82ceef6f7f9" }, "downloads": -1, "filename": "PyPPL-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "92acdd0c99f45096ac84ed38957ccefe", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 79938, "upload_time": "2018-11-02T23:07:39", "upload_time_iso_8601": "2018-11-02T23:07:39.386276Z", "url": "https://files.pythonhosted.org/packages/eb/45/de320b1421c329b4d957802dc5553970d039a795fd6b341e752b1639e2a0/PyPPL-1.3.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5c74251168ca4ef7107b33e074a56f9e", "sha256": "0925bb75eb33884e1dec9daf33ca582f38a21a97ba2592b0a6607f31aaa52143" }, "downloads": -1, "filename": "PyPPL-1.3.0.tar.gz", "has_sig": false, "md5_digest": "5c74251168ca4ef7107b33e074a56f9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73153, "upload_time": "2018-11-02T23:07:40", "upload_time_iso_8601": "2018-11-02T23:07:40.922806Z", "url": "https://files.pythonhosted.org/packages/5b/c6/8b3a0dead88d57acf578d2559b0d06eb1adf38c619410d91102f1b789b17/PyPPL-1.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "51df0a6c920f48139621cb6a533b6a8a", "sha256": "212e61bc730f84acce01290078dd3032aaf95725a0d3a0a6aadcb573dbac15ea" }, "downloads": -1, "filename": "PyPPL-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "51df0a6c920f48139621cb6a533b6a8a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 79969, "upload_time": "2018-11-08T22:52:24", "upload_time_iso_8601": "2018-11-08T22:52:24.905313Z", "url": "https://files.pythonhosted.org/packages/ad/5a/7586f4b4247c8715b1bfe99a6add346adfe369392f203e1fffb4e504e1c5/PyPPL-1.3.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f83d1e24253a0c03934e7ada150c5a53", "sha256": "8d2e1f030f5c306848b851aa9e9f292118fd5bb6628b2cdc763102a1ce060af0" }, "downloads": -1, "filename": "PyPPL-1.3.1.tar.gz", "has_sig": false, "md5_digest": "f83d1e24253a0c03934e7ada150c5a53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73214, "upload_time": "2018-11-08T22:52:26", "upload_time_iso_8601": "2018-11-08T22:52:26.709817Z", "url": "https://files.pythonhosted.org/packages/d0/a3/f3024b1cc3b59c3cb3ac5d987d1e45f5225c91eb8cf87683691383ac371b/PyPPL-1.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "c89861e65c184afb868324b2400b972f", "sha256": "d1f6d758fdf7e6072769444d8cdf0daa49e8759e0dc3c14fab74cfa29bcb124c" }, "downloads": -1, "filename": "PyPPL-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c89861e65c184afb868324b2400b972f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 97396, "upload_time": "2018-12-20T22:30:27", "upload_time_iso_8601": "2018-12-20T22:30:27.380362Z", "url": "https://files.pythonhosted.org/packages/9f/f9/3768ce639ba1e4a6ecb4f029d1cdf7a9ba6f13b8d9ec5d07a8014b1f5131/PyPPL-1.4.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "fce5ad6fb2719d12b456944cd847eea6", "sha256": "ab2b4abfb1895056c9b136aff8ae9a2f4010a8858e78f978208f440d0d81ee6b" }, "downloads": -1, "filename": "PyPPL-1.4.0.tar.gz", "has_sig": false, "md5_digest": "fce5ad6fb2719d12b456944cd847eea6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74139, "upload_time": "2018-12-20T22:30:29", "upload_time_iso_8601": "2018-12-20T22:30:29.251600Z", "url": "https://files.pythonhosted.org/packages/44/b4/b04058b0fd1bd199c10753f2a59089db21c7b24a1395bcd02aad00618410/PyPPL-1.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "1e4da3e8da28e0b73ee99fc0de4bb9f7", "sha256": "fcb2802ab0cd2db9fd1324310014606574d771dccb30ce7c345bd15485eebe36" }, "downloads": -1, "filename": "PyPPL-1.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1e4da3e8da28e0b73ee99fc0de4bb9f7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 98413, "upload_time": "2019-01-09T20:00:19", "upload_time_iso_8601": "2019-01-09T20:00:19.498961Z", "url": "https://files.pythonhosted.org/packages/1a/32/3650ee7141c9229404107344ea3181c4d07013205bf4628d43125d18d76c/PyPPL-1.4.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3e496ccd0ddbb2605aeb973fd31b0cbf", "sha256": "626b21b0cb11988dceb497c3e02fee91e63907ad9898911a79c5b501c0c32275" }, "downloads": -1, "filename": "PyPPL-1.4.1.tar.gz", "has_sig": false, "md5_digest": "3e496ccd0ddbb2605aeb973fd31b0cbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75150, "upload_time": "2019-01-09T20:00:21", "upload_time_iso_8601": "2019-01-09T20:00:21.734354Z", "url": "https://files.pythonhosted.org/packages/9e/6e/5f3ba0509fa6458a009205878717f51550115d597efc89694838779e4fac/PyPPL-1.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "d9b5ea9b399b2bbd64b29bcf6a318c25", "sha256": "b026bfecbf5445a08b6e0e5a18a522df5036d2d8587949acfe096802fa012ff2" }, "downloads": -1, "filename": "PyPPL-1.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d9b5ea9b399b2bbd64b29bcf6a318c25", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 99321, "upload_time": "2019-01-23T19:21:39", "upload_time_iso_8601": "2019-01-23T19:21:39.247162Z", "url": "https://files.pythonhosted.org/packages/c6/6d/35030d5c4a48411fdc1f705c87190bdb55b7bfc24baaa3932a1c8acd2a4a/PyPPL-1.4.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d843ffb2ed1aa7b8688f44b00415711f", "sha256": "76246c31503700317469e2c1b3313badc1ecd7ddd5ca5b1a56e56f58d8f256ae" }, "downloads": -1, "filename": "PyPPL-1.4.2.tar.gz", "has_sig": false, "md5_digest": "d843ffb2ed1aa7b8688f44b00415711f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75922, "upload_time": "2019-01-23T19:21:41", "upload_time_iso_8601": "2019-01-23T19:21:41.905802Z", "url": "https://files.pythonhosted.org/packages/4a/31/f9d8da2a69d2aeb7a26c32d0e8fd944740292f1e9d3a16d5f631fb66c302/PyPPL-1.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "0f9edd1a88b981055c15bb71031ec42c", "sha256": "2b9ddd04d62cb6a88266d5e2c2ebda21122023024dcd5ea287b56c84bdb995a8" }, "downloads": -1, "filename": "PyPPL-1.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0f9edd1a88b981055c15bb71031ec42c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 99080, "upload_time": "2019-01-28T23:26:13", "upload_time_iso_8601": "2019-01-28T23:26:13.884432Z", "url": "https://files.pythonhosted.org/packages/17/43/7129e34a0b9097ff19171e4e43c4d4d4fc37a2105ffc27e201049ad61ca9/PyPPL-1.4.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f71c9c13a5a9582031f31496b187639f", "sha256": "e441f4623110fb30e623fdd8f81fda08808ff4defcfb7c5a0229acf40838aeb7" }, "downloads": -1, "filename": "PyPPL-1.4.3.tar.gz", "has_sig": false, "md5_digest": "f71c9c13a5a9582031f31496b187639f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75731, "upload_time": "2019-01-28T23:26:16", "upload_time_iso_8601": "2019-01-28T23:26:16.145741Z", "url": "https://files.pythonhosted.org/packages/a3/08/985526ba142fae633cb192de9f88f3c731c6592bfcfa46c33ee291cfa895/PyPPL-1.4.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "ed775a23a9fb7572cb11019e7899608f", "sha256": "c9a5b76f062734d645fec4e232dcb169f9676962bc98cd02b0530d21ada4dbb1" }, "downloads": -1, "filename": "PyPPL-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ed775a23a9fb7572cb11019e7899608f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 70869, "upload_time": "2019-06-29T00:04:26", "upload_time_iso_8601": "2019-06-29T00:04:26.809000Z", "url": "https://files.pythonhosted.org/packages/70/06/dd4682cdff81042d6ea03d53d135df766eb183341ef90752532d78df1d1c/PyPPL-2.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2aedb2d933290af38f5987b41a23b405", "sha256": "eaa499fc1f26b09d846585493fbd9b773c3249cc582a40eb884532247a509158" }, "downloads": -1, "filename": "PyPPL-2.0.0.tar.gz", "has_sig": false, "md5_digest": "2aedb2d933290af38f5987b41a23b405", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 67505, "upload_time": "2019-06-29T00:04:28", "upload_time_iso_8601": "2019-06-29T00:04:28.432283Z", "url": "https://files.pythonhosted.org/packages/bc/e6/743f505e44c782bc7d4b1c71833cb683862a5299ff355478db691b8e290f/PyPPL-2.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "3c9de9bc8825bb63c0f82ab883b55626", "sha256": "d8422aa3c7763fdd7927742810976c23a90fe0fd7391f4a6fc6331f2b1807349" }, "downloads": -1, "filename": "PyPPL-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3c9de9bc8825bb63c0f82ab883b55626", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 70418, "upload_time": "2019-08-06T00:09:08", "upload_time_iso_8601": "2019-08-06T00:09:08.217585Z", "url": "https://files.pythonhosted.org/packages/96/04/a23ea6866142a4ebae915edcb3013becc32903486b56c8e76aa108d3250c/PyPPL-2.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f3c17f8a594786e0da52b25c0cab7bec", "sha256": "706eea0c5c676d20146d8af1d39fd87864dffd9b87ae36d04398f3675c551877" }, "downloads": -1, "filename": "PyPPL-2.1.0.tar.gz", "has_sig": false, "md5_digest": "f3c17f8a594786e0da52b25c0cab7bec", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 67114, "upload_time": "2019-08-06T00:09:10", "upload_time_iso_8601": "2019-08-06T00:09:10.036817Z", "url": "https://files.pythonhosted.org/packages/8e/6c/c4cd4ac4b86f124b4d4afc963725aa18bc44e3af07daca607659d63e0835/PyPPL-2.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.1.post0": [ { "comment_text": "", "digests": { "md5": "d4839c6fb18e053e60c5b5a4aa256f4a", "sha256": "85ad685004ebfd3e9f5a7929888ee99aec9fd1536dbeb34e5742a946f7763cf4" }, "downloads": -1, "filename": "PyPPL-2.1.1.post0-py3-none-any.whl", "has_sig": false, "md5_digest": "d4839c6fb18e053e60c5b5a4aa256f4a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 70890, "upload_time": "2019-08-08T23:49:50", "upload_time_iso_8601": "2019-08-08T23:49:50.746705Z", "url": "https://files.pythonhosted.org/packages/62/37/51e572391a8ba3179e1a76d63d0ec93c89247dbefa908acf1d0ce6166c86/PyPPL-2.1.1.post0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5db12cbbcf06c9f7d2dbe4121f72f6bd", "sha256": "06edfb4b6bc927d967a98608bab49b9974fba1b8acedc5e77eb5015963169a35" }, "downloads": -1, "filename": "PyPPL-2.1.1.post0.tar.gz", "has_sig": false, "md5_digest": "5db12cbbcf06c9f7d2dbe4121f72f6bd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 68256, "upload_time": "2019-08-08T23:49:52", "upload_time_iso_8601": "2019-08-08T23:49:52.344380Z", "url": "https://files.pythonhosted.org/packages/6f/5e/97bf0a1b946e9ebf03c54981539728c25f4751f035517477db49c41eee20/PyPPL-2.1.1.post0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "495b051e9bdfb0f29d5976989ea5de2e", "sha256": "6a32a00c0b0762989477dab88d0b222a7e0e383eae752d3ad60edba8ce80f7de" }, "downloads": -1, "filename": "PyPPL-2.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "495b051e9bdfb0f29d5976989ea5de2e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 70841, "upload_time": "2019-08-19T16:33:46", "upload_time_iso_8601": "2019-08-19T16:33:46.450195Z", "url": "https://files.pythonhosted.org/packages/b2/2b/92ff0f22d743c7eb7cc2f741aabeffe0b05de9afdaa0a4ee0bee3e4c7167/PyPPL-2.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "83cb141271944348cdb7dcc9f24edeff", "sha256": "8e67bf1208597625fb293087a0ad735a8ca39dff39d18f6d8960c8710eebe8df" }, "downloads": -1, "filename": "PyPPL-2.1.2.tar.gz", "has_sig": false, "md5_digest": "83cb141271944348cdb7dcc9f24edeff", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 68066, "upload_time": "2019-08-19T16:33:48", "upload_time_iso_8601": "2019-08-19T16:33:48.218964Z", "url": "https://files.pythonhosted.org/packages/a3/dd/2010b43435941301b648387354b1c9e4aab0687e6c41b9b25002f39d91c4/PyPPL-2.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.2.post0": [ { "comment_text": "", "digests": { "md5": "f36168b807dd871461541da24f144e6f", "sha256": "5e42c75719a86b6fdc54f0e10fabfb6c548ed8078a7ff67f3c3e1bda11b603d8" }, "downloads": -1, "filename": "PyPPL-2.1.2.post0-py3-none-any.whl", "has_sig": false, "md5_digest": "f36168b807dd871461541da24f144e6f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 70905, "upload_time": "2019-08-21T21:54:46", "upload_time_iso_8601": "2019-08-21T21:54:46.455031Z", "url": "https://files.pythonhosted.org/packages/bf/0d/f279316afd43d6faf015b6c347e5925d0e773c8c22d20fcf02a9c4e06086/PyPPL-2.1.2.post0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7d0c5b26bee9af7be4d409d330893875", "sha256": "f5c2604dbe0b1aeaf75611a910199db48d3b096e577f21891d1c64c60e392631" }, "downloads": -1, "filename": "PyPPL-2.1.2.post0.tar.gz", "has_sig": false, "md5_digest": "7d0c5b26bee9af7be4d409d330893875", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 68267, "upload_time": "2019-08-21T21:54:48", "upload_time_iso_8601": "2019-08-21T21:54:48.547582Z", "url": "https://files.pythonhosted.org/packages/26/3f/27dffb5f465492c2ad38cbc690332fd3a3cb0ce01a0962e6cca1e8b95f68/PyPPL-2.1.2.post0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "3d0758eb57115a14c0f48696ba868450", "sha256": "2bf4e03164ebb368a545d34c9dc31913fa2e9252070a22bb5362374bbbb99863" }, "downloads": -1, "filename": "PyPPL-2.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3d0758eb57115a14c0f48696ba868450", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 70833, "upload_time": "2019-08-21T22:12:21", "upload_time_iso_8601": "2019-08-21T22:12:21.731340Z", "url": "https://files.pythonhosted.org/packages/ed/23/90a34a30546939c0ecb6597ae4370024792cd958ed6bb82e261f80dd4617/PyPPL-2.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a6b57766c154759f46b618f44acee3ac", "sha256": "7534de0ddcbef1d3039e0508e2a39e92db2600bcdb4b10f77987564b8fb6bb1a" }, "downloads": -1, "filename": "PyPPL-2.1.3.tar.gz", "has_sig": false, "md5_digest": "a6b57766c154759f46b618f44acee3ac", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 68072, "upload_time": "2019-08-21T22:12:23", "upload_time_iso_8601": "2019-08-21T22:12:23.139281Z", "url": "https://files.pythonhosted.org/packages/a5/ab/e37ef11291941b89108700af0a3ba6e8c49ff9cee15d5ff68f21fa1c4dc9/PyPPL-2.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.4": [ { "comment_text": "", "digests": { "md5": "a3b0e46df83d029aadfb0ecb77072f3c", "sha256": "d53df67036e18b969f07dbfde00f8d92d40765f65aa40c78402f81cbe1957845" }, "downloads": -1, "filename": "PyPPL-2.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a3b0e46df83d029aadfb0ecb77072f3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 70836, "upload_time": "2019-10-11T23:34:19", "upload_time_iso_8601": "2019-10-11T23:34:19.227581Z", "url": "https://files.pythonhosted.org/packages/85/7b/e641a0d5a0add24680e48068d87ce1f07dc989bea2e534221833f668cade/PyPPL-2.1.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "489eea2b2581768e67135c3ba5c893b5", "sha256": "ed36ee8f9b14fd559fbd04cf1eccb76ca6e6322dbf2a2efbde0c285c8d4c60ff" }, "downloads": -1, "filename": "PyPPL-2.1.4.tar.gz", "has_sig": false, "md5_digest": "489eea2b2581768e67135c3ba5c893b5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 67926, "upload_time": "2019-10-11T23:34:21", "upload_time_iso_8601": "2019-10-11T23:34:21.094801Z", "url": "https://files.pythonhosted.org/packages/b7/da/97f47709c98830cf0469f3665e1ac5d3b0d4ece819dc7ad5a87ea133ee83/PyPPL-2.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "86ffa1a414768adb89f624b16f712057", "sha256": "2f746f5aa6cda3011b9ed30ce36de77138284ad4c7c6059249df4aee2fb13f3b" }, "downloads": -1, "filename": "PyPPL-2.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "86ffa1a414768adb89f624b16f712057", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 71313, "upload_time": "2019-10-23T16:40:35", "upload_time_iso_8601": "2019-10-23T16:40:35.464565Z", "url": "https://files.pythonhosted.org/packages/98/7a/99108bb9bbe3581dafb0e384dc9cee9bb24db4f28792c29c260f9d7f0eab/PyPPL-2.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cdbf6db981d268fae36439b906609d49", "sha256": "f6a177bc25243582ae11b822375593864370d40dc4df26eb9d2c583a85278b9e" }, "downloads": -1, "filename": "PyPPL-2.2.0.tar.gz", "has_sig": false, "md5_digest": "cdbf6db981d268fae36439b906609d49", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 68342, "upload_time": "2019-10-23T16:40:37", "upload_time_iso_8601": "2019-10-23T16:40:37.160391Z", "url": "https://files.pythonhosted.org/packages/15/bd/d79fc1b5a7262587200ca456e4cda3ef20669847b4cecc16b1b3ad89a646/PyPPL-2.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "d981d2169526d3dca7c91eef7bfea263", "sha256": "e61391df411e1b2fc992d71527d5a8da6481760fead1778a3c61769b095edaf7" }, "downloads": -1, "filename": "PyPPL-2.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d981d2169526d3dca7c91eef7bfea263", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 69736, "upload_time": "2019-11-19T06:30:07", "upload_time_iso_8601": "2019-11-19T06:30:07.084328Z", "url": "https://files.pythonhosted.org/packages/73/b2/4b0e264714d46d581292e45945f37c72a0b48cba49199dc0046e98ffc4e0/PyPPL-2.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ccf8b81c408557ca6628edd2a0dc684e", "sha256": "691a9719d3bd497380c7b33aa127510a26c1dde8c672de89e9a0d6536d7a5e1f" }, "downloads": -1, "filename": "PyPPL-2.3.0.tar.gz", "has_sig": false, "md5_digest": "ccf8b81c408557ca6628edd2a0dc684e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 66856, "upload_time": "2019-11-19T06:30:09", "upload_time_iso_8601": "2019-11-19T06:30:09.261213Z", "url": "https://files.pythonhosted.org/packages/4e/03/6b1c6bc60c506eef8d097d2f0321d8545feb0150f1a40a0a38d9b12c1d05/PyPPL-2.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "5abeb3390abe138d4d1db39230e6fd58", "sha256": "c468ac4329cfde1a3ad6e0bc719b0278da3b2b06672cca495726158d753fafc6" }, "downloads": -1, "filename": "PyPPL-2.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5abeb3390abe138d4d1db39230e6fd58", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 70316, "upload_time": "2019-11-29T15:50:00", "upload_time_iso_8601": "2019-11-29T15:50:00.484960Z", "url": "https://files.pythonhosted.org/packages/23/af/ec84be7e8ee5bb4c99f5aedb8b5046a64c8fefc6717615221ddc370fb45f/PyPPL-2.3.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7499a04a880a874ab7f078cb54f43ab9", "sha256": "7009c18022a05c6cd7c0f9278ec9784666d3e82f08d58e255bddbafde4374665" }, "downloads": -1, "filename": "PyPPL-2.3.1.tar.gz", "has_sig": false, "md5_digest": "7499a04a880a874ab7f078cb54f43ab9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 67424, "upload_time": "2019-11-29T15:50:01", "upload_time_iso_8601": "2019-11-29T15:50:01.943012Z", "url": "https://files.pythonhosted.org/packages/e8/2c/ca72fe9bf77038511ee4cf8a3031fadc9d1a4318b342caa2b294f6a67dbe/PyPPL-2.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.2": [ { "comment_text": "", "digests": { "md5": "d49d375ed44fe00e562ecea84b9570db", "sha256": "ba8412c5b291acd8da9cd0d9c949e06c91280aa81ca45185c798feb6b3170c48" }, "downloads": -1, "filename": "PyPPL-2.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d49d375ed44fe00e562ecea84b9570db", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 70613, "upload_time": "2019-12-05T19:22:50", "upload_time_iso_8601": "2019-12-05T19:22:50.452883Z", "url": "https://files.pythonhosted.org/packages/8f/c6/934ec33440bf01cfa6fc2e8ff5cafee3ca73d3f1705a21f9b8578ab1fc71/PyPPL-2.3.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "19ead1c192b85ebbb731c12fb8c6dc66", "sha256": "3b990311d2de5143a22f2eb1daad41e139d0acbb83aa99ce52f1b017ab66a806" }, "downloads": -1, "filename": "PyPPL-2.3.2.tar.gz", "has_sig": false, "md5_digest": "19ead1c192b85ebbb731c12fb8c6dc66", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 67926, "upload_time": "2019-12-05T19:22:52", "upload_time_iso_8601": "2019-12-05T19:22:52.369257Z", "url": "https://files.pythonhosted.org/packages/ba/d5/eb9431813b59f8bf4e4ca1a99030aa44c65b9c95ef493888fdb1837d3072/PyPPL-2.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.2.post0": [ { "comment_text": "", "digests": { "md5": "b7f663c666fddbc9c80d7cc3443067a2", "sha256": "46f921a2a24a0a7327096007d57cb6922753c644fde3a6d48eaa1f0240bbbfb0" }, "downloads": -1, "filename": "PyPPL-2.3.2.post0-py3-none-any.whl", "has_sig": false, "md5_digest": "b7f663c666fddbc9c80d7cc3443067a2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 70679, "upload_time": "2019-12-06T16:11:42", "upload_time_iso_8601": "2019-12-06T16:11:42.513392Z", "url": "https://files.pythonhosted.org/packages/73/7e/a410ed5d7630f451851c7f6c5cd26c362132e8eeffca8bc027b15a77ad34/PyPPL-2.3.2.post0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6b985f97bd8b8974c6c3b374cd5862f0", "sha256": "0e5c09aab3efc5f91e6e4f82894230d55ea283d2592336294aa2616dea6d7dcf" }, "downloads": -1, "filename": "PyPPL-2.3.2.post0.tar.gz", "has_sig": false, "md5_digest": "6b985f97bd8b8974c6c3b374cd5862f0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 67954, "upload_time": "2019-12-06T16:11:44", "upload_time_iso_8601": "2019-12-06T16:11:44.378210Z", "url": "https://files.pythonhosted.org/packages/24/c5/6321655c545c4959cf5c381cd422ca47a6249dff8d0a015f913d4aec5e94/PyPPL-2.3.2.post0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "78c8465547d0a3abae76b75bdc699951", "sha256": "ffe246b113586ce3a0f1f8f2abdaf7e672fda0267b5b693d21e30b6742ec69f5" }, "downloads": -1, "filename": "PyPPL-3.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "78c8465547d0a3abae76b75bdc699951", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 62573, "upload_time": "2019-12-27T23:55:39", "upload_time_iso_8601": "2019-12-27T23:55:39.562112Z", "url": "https://files.pythonhosted.org/packages/ac/6a/7b0f29b81b40012ac97ff9cf817170bec531e51d431bf66fd5ecf6a5928f/PyPPL-3.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9ad3b0fa91b88c918228949c738a652e", "sha256": "8daa3526c8bbf5fb4eb8a3960d82f0818f3bda6052f672b62234b32b44ff51cf" }, "downloads": -1, "filename": "PyPPL-3.0.0.tar.gz", "has_sig": false, "md5_digest": "9ad3b0fa91b88c918228949c738a652e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 56754, "upload_time": "2019-12-27T23:55:41", "upload_time_iso_8601": "2019-12-27T23:55:41.511790Z", "url": "https://files.pythonhosted.org/packages/db/63/32b82e522b3468f6ba56f7643492f616522e39fbefc7d47a5b7f87d6068f/PyPPL-3.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.0rc0": [ { "comment_text": "", "digests": { "md5": "7161525967e74684d5c96d46451ab70e", "sha256": "c535cf642e89ec8274c1c1f7db91e88a4376f45c2a83d569dec46cdf1e54b8e3" }, "downloads": -1, "filename": "PyPPL-3.0.0rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "7161525967e74684d5c96d46451ab70e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 55379, "upload_time": "2019-12-24T18:54:36", "upload_time_iso_8601": "2019-12-24T18:54:36.907320Z", "url": "https://files.pythonhosted.org/packages/4b/56/336fcbc5c95fcd4dc2c7fd969e442310c5b9df72ffb22f4a95b4bd8b326b/PyPPL-3.0.0rc0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "718108d64ab418be0edc3c235ac3e043", "sha256": "e83b1522bf62d8fa4e2c9a25d21747970a98c1fb8e0c741dcb15ed204eccc010" }, "downloads": -1, "filename": "PyPPL-3.0.0rc0.tar.gz", "has_sig": false, "md5_digest": "718108d64ab418be0edc3c235ac3e043", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 52007, "upload_time": "2019-12-24T18:54:38", "upload_time_iso_8601": "2019-12-24T18:54:38.423098Z", "url": "https://files.pythonhosted.org/packages/f9/67/0b9cf64414111fa0619911137dd9fce14798aa67b1f141e83f7f9d363e48/PyPPL-3.0.0rc0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.0rc1": [ { "comment_text": "", "digests": { "md5": "49d20a585cb1c8cc7a7aa8623513d209", "sha256": "32ff72eb64e5c64b6d4be97ccfeffe8e2c386d8241aa7731321bd0c1b26631f7" }, "downloads": -1, "filename": "PyPPL-3.0.0rc1-py3-none-any.whl", "has_sig": false, "md5_digest": "49d20a585cb1c8cc7a7aa8623513d209", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 61555, "upload_time": "2019-12-25T07:42:03", "upload_time_iso_8601": "2019-12-25T07:42:03.544948Z", "url": "https://files.pythonhosted.org/packages/f0/c9/dedbe5aa02795cede391366c3029caacb1fe9efa1209d3f966d00c135dd9/PyPPL-3.0.0rc1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "73896b67b7d9bceaa47a6bb8e5d7e94a", "sha256": "4e5d326c31908f9df1b34b18b929d695caadcfcfe8add942b66ed0cca08f2641" }, "downloads": -1, "filename": "PyPPL-3.0.0rc1.tar.gz", "has_sig": false, "md5_digest": "73896b67b7d9bceaa47a6bb8e5d7e94a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 55969, "upload_time": "2019-12-25T07:42:05", "upload_time_iso_8601": "2019-12-25T07:42:05.540398Z", "url": "https://files.pythonhosted.org/packages/79/47/364d8c827bc74ff3782b949f7e941890eb470d4499a5913f30a074d09dea/PyPPL-3.0.0rc1.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.0rc2": [ { "comment_text": "", "digests": { "md5": "7f52f4db02c54e6901667abd32deb429", "sha256": "12ab624468058c3267b1d404a47b17d51ee7abfbeefed88c4b151e2fa3332669" }, "downloads": -1, "filename": "PyPPL-3.0.0rc2-py3-none-any.whl", "has_sig": false, "md5_digest": "7f52f4db02c54e6901667abd32deb429", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 61714, "upload_time": "2019-12-25T16:43:19", "upload_time_iso_8601": "2019-12-25T16:43:19.716958Z", "url": "https://files.pythonhosted.org/packages/f2/b2/6e8d8c398f57bc5ec7a9a974ca15e8c48d91fad81b14cded15492d5e7300/PyPPL-3.0.0rc2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "73f1a69e7e46b8b4e6df1094a8e1da5b", "sha256": "1ba5e74b1c8e0e7f825f1146b8e0d355fe45f28e5f8ba8b6c1b616c4e08457f8" }, "downloads": -1, "filename": "PyPPL-3.0.0rc2.tar.gz", "has_sig": false, "md5_digest": "73f1a69e7e46b8b4e6df1094a8e1da5b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 56205, "upload_time": "2019-12-25T16:43:21", "upload_time_iso_8601": "2019-12-25T16:43:21.641229Z", "url": "https://files.pythonhosted.org/packages/3f/41/f06fd542a8a7410f50e153456f61d880e22fc493b22ddb735535ec0ba466/PyPPL-3.0.0rc2.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.0rc3": [ { "comment_text": "", "digests": { "md5": "6b1bec0f3e6ec9699597a9a49d0b801a", "sha256": "c8535093c495304dccc3ac419309a084522249baf28a0dd437a9cbbf42165efb" }, "downloads": -1, "filename": "PyPPL-3.0.0rc3-py3-none-any.whl", "has_sig": false, "md5_digest": "6b1bec0f3e6ec9699597a9a49d0b801a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 61776, "upload_time": "2019-12-25T16:55:38", "upload_time_iso_8601": "2019-12-25T16:55:38.591866Z", "url": "https://files.pythonhosted.org/packages/92/5e/9dc702682faa9855be781ed7054759337674fc3cec44ee809fa31c773aab/PyPPL-3.0.0rc3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "12276635d9a7180a1a0cf97d561a8ba5", "sha256": "b0241f378e5876c283ebc233a90c4ddd8002078988d373d6060dd410da423fdb" }, "downloads": -1, "filename": "PyPPL-3.0.0rc3.tar.gz", "has_sig": false, "md5_digest": "12276635d9a7180a1a0cf97d561a8ba5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 56256, "upload_time": "2019-12-25T16:55:40", "upload_time_iso_8601": "2019-12-25T16:55:40.588568Z", "url": "https://files.pythonhosted.org/packages/29/ab/dac9b4f714ffdf9147b165d581852638f23d7af004fd0eedcb5a2028923d/PyPPL-3.0.0rc3.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "85d0972bec24fa3ac5f54d515a326e10", "sha256": "e58627393b4c22129e5a6b985ab30348632d7cc49ca0d6a16a4d5cb0920b158d" }, "downloads": -1, "filename": "PyPPL-3.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "85d0972bec24fa3ac5f54d515a326e10", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 62746, "upload_time": "2019-12-31T15:39:33", "upload_time_iso_8601": "2019-12-31T15:39:33.310895Z", "url": "https://files.pythonhosted.org/packages/0f/67/93f67d9af8b6e4efec1ecfc9a8f314b78883b731947a19bc5885539f07b7/PyPPL-3.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5b798677f2de1d01ed4204c39a0cab39", "sha256": "cff9d798746a2729bbf5c655474b1863b2c6634d2dc516a006483afb8853e7bf" }, "downloads": -1, "filename": "PyPPL-3.0.1.tar.gz", "has_sig": false, "md5_digest": "5b798677f2de1d01ed4204c39a0cab39", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 56958, "upload_time": "2019-12-31T15:39:34", "upload_time_iso_8601": "2019-12-31T15:39:34.825634Z", "url": "https://files.pythonhosted.org/packages/96/16/1f247e4801cb9fdf8e1bfd49c0b8b6e7b28832e0335a4e658af8fb887b03/PyPPL-3.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.2": [ { "comment_text": "", "digests": { "md5": "65bb703791be596abaf01353b6a21a11", "sha256": "bb420ca4b53180da510bdfe414a064e1d8458fa0d83f0b17283dbf50d2b4b1a1" }, "downloads": -1, "filename": "PyPPL-3.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "65bb703791be596abaf01353b6a21a11", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 65300, "upload_time": "2020-01-15T22:28:21", "upload_time_iso_8601": "2020-01-15T22:28:21.494635Z", "url": "https://files.pythonhosted.org/packages/29/e2/9b8fa91f171702b8909c375fe784407787c7dbdfd5cc6b9a05ff7f0434c3/PyPPL-3.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3b0bc33304e78e10588469490f8a4dea", "sha256": "c2a81d5b522e505d4efcbcd50511d97b655c743aa89a6a67db7660bc31d02a7e" }, "downloads": -1, "filename": "PyPPL-3.0.2.tar.gz", "has_sig": false, "md5_digest": "3b0bc33304e78e10588469490f8a4dea", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 59608, "upload_time": "2020-01-15T22:28:23", "upload_time_iso_8601": "2020-01-15T22:28:23.182957Z", "url": "https://files.pythonhosted.org/packages/d2/fb/fbb6bbf5154ef1bd5a6b188f217ea25ec8181f64a0dded73a637b364f31c/PyPPL-3.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.3": [ { "comment_text": "", "digests": { "md5": "b27b3bc3d748b16ea74d25898ac65ee1", "sha256": "e4f0f3cab2202f1f09df1a40fbb2eaf75a11dab73e2d64eb84b1b81be28a0e58" }, "downloads": -1, "filename": "PyPPL-3.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b27b3bc3d748b16ea74d25898ac65ee1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 65905, "upload_time": "2020-01-22T17:12:04", "upload_time_iso_8601": "2020-01-22T17:12:04.390168Z", "url": "https://files.pythonhosted.org/packages/50/18/3150f4847ae146ed8743e0d834ce8d1ee0cec4edb52ddc7cceb5152e1cac/PyPPL-3.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f190e088dd63933f4bcc9253c30b5935", "sha256": "aca8760b78e067f97d6f9639c8c18f2432e53ff60f78a2d8368d8930fbbf2065" }, "downloads": -1, "filename": "PyPPL-3.0.3.tar.gz", "has_sig": false, "md5_digest": "f190e088dd63933f4bcc9253c30b5935", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 60157, "upload_time": "2020-01-22T17:12:05", "upload_time_iso_8601": "2020-01-22T17:12:05.922895Z", "url": "https://files.pythonhosted.org/packages/40/9a/338180b6016681d56d4292b4de3ff4ed2db1957298b70cddaf931ae60ede/PyPPL-3.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "a42f34ab4a62c2f116ecd5be6955e7ee", "sha256": "65bd318fc4aa907ada720419e06da91c7fb4573fb91f6d653e2d209dc07015c2" }, "downloads": -1, "filename": "PyPPL-3.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a42f34ab4a62c2f116ecd5be6955e7ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 66376, "upload_time": "2020-04-22T19:58:58", "upload_time_iso_8601": "2020-04-22T19:58:58.832349Z", "url": "https://files.pythonhosted.org/packages/7f/4d/102e317cfe53ae8321f8dc52941cb3eb41c9a7271da5fa3e517937ea15e5/PyPPL-3.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c2bc93e15eeee5afaf49be70ac335b7b", "sha256": "bd641ada48cfa35f7b1d1b7cdd64f05a197ef56c86f7b86e1c93159477d9afc5" }, "downloads": -1, "filename": "PyPPL-3.1.0.tar.gz", "has_sig": false, "md5_digest": "c2bc93e15eeee5afaf49be70ac335b7b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 60653, "upload_time": "2020-04-22T19:59:00", "upload_time_iso_8601": "2020-04-22T19:59:00.537744Z", "url": "https://files.pythonhosted.org/packages/c3/71/801e5e50c07806077a7a165a60e2e172be0341ff1791513d4447d7e11ab3/PyPPL-3.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.1.1": [ { "comment_text": "", "digests": { "md5": "4ef8a37444030e5c60fa9824091a19d9", "sha256": "6951972c9edb83ff5da901e954df3273ab2fca364c380a77aac82cee3532acf1" }, "downloads": -1, "filename": "PyPPL-3.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4ef8a37444030e5c60fa9824091a19d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 66377, "upload_time": "2020-05-11T06:08:05", "upload_time_iso_8601": "2020-05-11T06:08:05.305427Z", "url": "https://files.pythonhosted.org/packages/00/59/5c0902a848b9942c278db393c4b349d603416a7bb5f1cf31b325b8d684d0/PyPPL-3.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ba3e24d99acd648aa64fafc7609a7d53", "sha256": "87109d1c7fff435564978f7649498639e092d5781c656ba252f7b57a2ab14c3b" }, "downloads": -1, "filename": "PyPPL-3.1.1.tar.gz", "has_sig": false, "md5_digest": "ba3e24d99acd648aa64fafc7609a7d53", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 60658, "upload_time": "2020-05-11T06:08:06", "upload_time_iso_8601": "2020-05-11T06:08:06.521837Z", "url": "https://files.pythonhosted.org/packages/16/1e/2c92174398dfa563fa25d81a77b7b7cff0f054a6caf485e7a0d44c6231e0/PyPPL-3.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "3.2.0": [ { "comment_text": "", "digests": { "md5": "5db76a79a301c9183536da1fd26f4ef4", "sha256": "bd7e71265a7efdb8a6c3c3e7746c2e7c4503e1381fc6cfb8587122735c87299a" }, "downloads": -1, "filename": "PyPPL-3.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5db76a79a301c9183536da1fd26f4ef4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 66498, "upload_time": "2020-05-11T21:34:31", "upload_time_iso_8601": "2020-05-11T21:34:31.905413Z", "url": "https://files.pythonhosted.org/packages/5d/8c/a19c331290c578dfdf7bb2ae3c167bd2d1ec5b58a853331fd417de11d6ad/PyPPL-3.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0dbadef1eabc6dc6468b6517bb30d9c9", "sha256": "595435f8312b36fbcb4e16f0593f61aaa14fb6264e32de7f2a7e6208b95b26b5" }, "downloads": -1, "filename": "PyPPL-3.2.0.tar.gz", "has_sig": false, "md5_digest": "0dbadef1eabc6dc6468b6517bb30d9c9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 60741, "upload_time": "2020-05-11T21:34:33", "upload_time_iso_8601": "2020-05-11T21:34:33.387657Z", "url": "https://files.pythonhosted.org/packages/bc/13/d3da6ceca8e5dee371abdee608b88424e26309929742a12f868925ef4116/PyPPL-3.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.2.1": [ { "comment_text": "", "digests": { "md5": "b1a90137c2348cff2569d661ecaf599a", "sha256": "e146247ccc33105cb84682bcade1d3b465ec4224ad4c2382f72917879417573b" }, "downloads": -1, "filename": "PyPPL-3.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b1a90137c2348cff2569d661ecaf599a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 67814, "upload_time": "2020-05-28T15:36:42", "upload_time_iso_8601": "2020-05-28T15:36:42.158763Z", "url": "https://files.pythonhosted.org/packages/a7/85/b1ae73e70c9ef02f30141495c1cdb87388a745e13ae3a427282cbf686537/PyPPL-3.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cc5d79cdec0b1bb80a93164a43413cd7", "sha256": "accc3e9debba7253bf1f1d23551ccbd2594297bc7d97b9362245a8aa7e663f10" }, "downloads": -1, "filename": "PyPPL-3.2.1.tar.gz", "has_sig": false, "md5_digest": "cc5d79cdec0b1bb80a93164a43413cd7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 61970, "upload_time": "2020-05-28T15:36:43", "upload_time_iso_8601": "2020-05-28T15:36:43.436453Z", "url": "https://files.pythonhosted.org/packages/e4/e3/679ef9f8087211eee70697c6c4b651fa2c42f628bd0d59e4b65bd3ca25b7/PyPPL-3.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "3.2.2": [ { "comment_text": "", "digests": { "md5": "41cbc2e07346a912187e1185fe2c603c", "sha256": "40a2a79c6dfcfd5848520e9909723c3b1f3a534ac047c55554dde2b920ee8787" }, "downloads": -1, "filename": "PyPPL-3.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "41cbc2e07346a912187e1185fe2c603c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 67734, "upload_time": "2020-06-06T04:22:10", "upload_time_iso_8601": "2020-06-06T04:22:10.172317Z", "url": "https://files.pythonhosted.org/packages/22/0f/c5475ddc0bc5d6e959a4182c875a1864204cf4883960456dc8b34f43cf7e/PyPPL-3.2.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f77e77c4b17941472dac5be30797fffa", "sha256": "8a37c56f0aeed8aa72028a6ff29689edd299021427f7e9e87bdae6984b9d6485" }, "downloads": -1, "filename": "PyPPL-3.2.2.tar.gz", "has_sig": false, "md5_digest": "f77e77c4b17941472dac5be30797fffa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 62296, "upload_time": "2020-06-06T04:22:11", "upload_time_iso_8601": "2020-06-06T04:22:11.454785Z", "url": "https://files.pythonhosted.org/packages/31/ca/ef68bb56d23cdf3e961bf1f3edcc49c83f7ea098fff25380aeabdd0bf912/PyPPL-3.2.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "41cbc2e07346a912187e1185fe2c603c", "sha256": "40a2a79c6dfcfd5848520e9909723c3b1f3a534ac047c55554dde2b920ee8787" }, "downloads": -1, "filename": "PyPPL-3.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "41cbc2e07346a912187e1185fe2c603c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 67734, "upload_time": "2020-06-06T04:22:10", "upload_time_iso_8601": "2020-06-06T04:22:10.172317Z", "url": "https://files.pythonhosted.org/packages/22/0f/c5475ddc0bc5d6e959a4182c875a1864204cf4883960456dc8b34f43cf7e/PyPPL-3.2.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f77e77c4b17941472dac5be30797fffa", "sha256": "8a37c56f0aeed8aa72028a6ff29689edd299021427f7e9e87bdae6984b9d6485" }, "downloads": -1, "filename": "PyPPL-3.2.2.tar.gz", "has_sig": false, "md5_digest": "f77e77c4b17941472dac5be30797fffa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 62296, "upload_time": "2020-06-06T04:22:11", "upload_time_iso_8601": "2020-06-06T04:22:11.454785Z", "url": "https://files.pythonhosted.org/packages/31/ca/ef68bb56d23cdf3e961bf1f3edcc49c83f7ea098fff25380aeabdd0bf912/PyPPL-3.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }