{ "info": { "author": "Dennis Muth", "author_email": "d.muth@gmx.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Topic :: Home Automation" ], "description": "# Pull 'n' Push\n\n[![Python](https://img.shields.io/badge/Python-3.6%20%7C%203.7%20%7C%203.8-green.svg)](https://www.python.org/)\n[![PyPI version](https://badge.fury.io/py/pnp.svg)](https://badge.fury.io/py/pnp)\n[![Docs](https://readthedocs.org/projects/pnp/badge/?version=stable)](https://pnp.readthedocs.io/en/stable/?badge=stable)\n[![GitHub Activity](https://img.shields.io/github/commit-activity/y/HazardDede/pnp.svg)](https://github.com/HazardDede/pnp/commits/master)\n[![Build Status](https://travis-ci.org/HazardDede/pnp.svg?branch=master)](https://travis-ci.org/HazardDede/pnp)\n[![Coverage Status](https://coveralls.io/repos/github/HazardDede/pnp/badge.svg?branch=master)](https://coveralls.io/github/HazardDede/pnp?branch=master)\n[![Docker: hub](https://img.shields.io/badge/docker-hub-brightgreen.svg)](https://cloud.docker.com/u/hazard/repository/docker/hazard/pnp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n![Project Maintenance](https://img.shields.io/badge/maintainer-Dennis%20Muth%20%40HazardDede-blue.svg)\n\n> Pulls data from sources and pushes it to sinks with optional transformations in between.\n\n## Installation\n\n pip install pnp\n\nInstallation with extras:\n \n pip install pnp[fswatcher,faceR]\n\nPlease consult the [component documentation](https://pnp.readthedocs.io/en/stable/plugins/index.html) to see if a\ncomponent requires an extra or not.\n\n## Getting started\n\nDefine `pulls` to fetch / pull data from source systems.\nDefine one `push` or multiple `pushes` per pull to transfer the pulled data anywhere else (you only need a plugin that \nknows how to handle the target). You configure your pipeline in `yaml`:\n\n```yaml\ntasks:\n - name: hello-world\n pull:\n plugin: pnp.plugins.pull.simple.Repeat\n args:\n interval: 1s\n repeat: \"Hello World\"\n push:\n - plugin: pnp.plugins.push.simple.Echo\n```\n \nCopy this configuration and create the file `helloworld.yaml`. Run it:\n\n pnp helloworld.yaml\n\nThis example yields the string `Hello World` every second.\n\n**Hint**: You can validate your config without actually executing it with\n\n```bash\n pnp --check helloworld.yaml\n```\n\nIf you want to learn more please see the documentation at [Read the Docs](https://pnp.readthedocs.io/en/stable/).\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pnp.readthedocs.io/", "keywords": "push,pull,data,pipeline", "license": "MIT", "maintainer": "Dennis Muth", "maintainer_email": "d.muth@gmx.net", "name": "pnp", "package_url": "https://pypi.org/project/pnp/", "platform": "", "project_url": "https://pypi.org/project/pnp/", "project_urls": { "Documentation": "https://pnp.readthedocs.io/", "Homepage": "https://pnp.readthedocs.io/", "Repository": "https://github.com/HazardDede/pnp" }, "release_url": "https://pypi.org/project/pnp/0.28.0/", "requires_dist": [ "Adafruit_DHT (>=1.3.2,<2.0.0); extra == \"dht\"", "dropbox (>=9.0.0,<10.0.0); extra == \"dropbox\"", "face-recognition (>=1.2.2,<2.0.0); extra == \"faceR\"", "fitbit (>=0.3.0,<0.4.0); extra == \"fitbit\"", "fritzconnection (>=1.2.0,<2.0.0); (python_version >= \"3.6\" and python_version < \"4.0\") and (extra == \"fritz\")", "image (>=1.5.24,<2.0.0); extra == \"faceR\"", "miflora (>=0.4.0,<0.5.0); extra == \"miflora\"", "numpy (>=1.16.0,<2.0.0); extra == \"sound\"", "PyAudio (>=0.2.11,<0.3.0); extra == \"sound\"", "pyftpdlib (>=1.5.0,<2.0.0); extra == \"ftp\"", "RPi.GPIO (>=0.6.5,<0.7.0); extra == \"gpio\"", "scipy (>=1.2.0,<2.0.0); extra == \"sound\"", "speedtest-cli (>=2.1.3,<3.0.0); extra == \"speedtest\"", "urllib3 (>=1.20,<2.0); extra == \"dropbox\"", "watchdog (>=0.8.3,<0.9.0); extra == \"fswatcher\"", "asyncio (>=3.4.3,<4.0.0)", "asyncws (>=0.1,<0.2)", "binaryornot (>=0.4.4,<0.5.0)", "cachetools (>=4.1.0,<5.0.0)", "cronex (>=0.1.3,<0.2.0)", "dictmentor (>=0.2.2,<0.3.0)", "glom (>=19.10.0,<20.0.0)", "Jinja2 (>=2.11.2,<3.0.0)", "psutil (>=5.7.0,<6.0.0)", "python-box (<=3.4.6)", "pytz (>=2020.1,<2021.0)", "influxdb (>=5.3.0,<6.0.0)", "paho-mqtt (>=1.5.0,<2.0.0)", "pathspec (>=0.8.0,<0.9.0)", "requests (>=2.23.0,<3.0.0)", "schedule (>=0.6.0,<0.7.0)", "schema (>=0.7.2,<0.8.0)", "slacker (>=0.14.0,<0.15.0)", "syncasync (>=20180812,<20180813)", "typing-extensions (>=3.7.4,<4.0.0)", "tzlocal (>=2.0.0,<3.0.0)", "aiohttp (>=3.6.2,<4.0.0)", "typeguard (>=2.7.1,<3.0.0)", "async_generator (>=1.10,<2.0)", "click (>=7.1.2,<8.0.0)", "sty (>=1.0.0-beta.12,<2.0.0)", "coloredlogs (>=14.0,<15.0)", "fastapi (>=0.61.2,<0.62.0)", "uvicorn (>=0.12.2,<0.13.0)", "starlette_exporter (>=0.6.0,<0.7.0)", "pytest-mock (>=3.3.1,<4.0.0)", "fastcore (>=1.3.13,<2.0.0)", "pyyaml-include (>=1.2.post2,<2.0)" ], "requires_python": ">=3.6,<4.0", "summary": "Pull 'n' Push", "version": "0.28.0", "yanked": false, "yanked_reason": null }, "last_serial": 10165457, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "6ef7c52dc6177518c0791dd951a795ee", "sha256": "3d3b52b1fdcacb35a64534d9ba4b9b8760755b8935f34738b1b0436b47dbec83" }, "downloads": -1, "filename": "pnp-0.10.0.tar.gz", "has_sig": false, "md5_digest": "6ef7c52dc6177518c0791dd951a795ee", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 79049, "upload_time": "2018-09-12T17:16:36", "upload_time_iso_8601": "2018-09-12T17:16:36.981125Z", "url": "https://files.pythonhosted.org/packages/8f/fd/7e6047cfcc6581b4c7d7f617fc2611f410c0ed3796f39b1f0dd7e8eeb01a/pnp-0.10.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "ddd301fbb97a21d6b64d484ba880ade2", "sha256": "2255f46e340f251e1b016623a2c5e6e4217a282523281dae0c6b1c6e04007983" }, "downloads": -1, "filename": "pnp-0.11.1.tar.gz", "has_sig": false, "md5_digest": "ddd301fbb97a21d6b64d484ba880ade2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 94864, "upload_time": "2018-10-16T19:25:39", "upload_time_iso_8601": "2018-10-16T19:25:39.636481Z", "url": "https://files.pythonhosted.org/packages/03/0a/ab844182fe2145ccba7b3139e50ad078799544161e2f04d9c16c3f75131a/pnp-0.11.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.11.2": [ { "comment_text": "", "digests": { "md5": "7fcfe0c56b3d59a34a043aafca8bf988", "sha256": "fe4ddc32121ba0930a96125bef3a4f74b206d53514175f8429d214543cc7a1b0" }, "downloads": -1, "filename": "pnp-0.11.2.tar.gz", "has_sig": false, "md5_digest": "7fcfe0c56b3d59a34a043aafca8bf988", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 94868, "upload_time": "2018-10-31T10:17:23", "upload_time_iso_8601": "2018-10-31T10:17:23.399875Z", "url": "https://files.pythonhosted.org/packages/e8/75/af666fde974adeddccde1fcdea04e020fb1e0476095642baa9ef17d82847/pnp-0.11.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.11.3": [ { "comment_text": "", "digests": { "md5": "244cec52e3af5bed85f65ea8671545f4", "sha256": "67748fd928038e9f71314358770b291705467bc6b78b4cdc2fe8b525dc986290" }, "downloads": -1, "filename": "pnp-0.11.3.tar.gz", "has_sig": false, "md5_digest": "244cec52e3af5bed85f65ea8671545f4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 98134, "upload_time": "2018-11-08T19:13:29", "upload_time_iso_8601": "2018-11-08T19:13:29.450491Z", "url": "https://files.pythonhosted.org/packages/ee/a4/ef9046d6181f094cfdbed999935955b056f22da03045e806013a03cbe361/pnp-0.11.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "e10a89f84ccac09d9c0e74edf8ff615a", "sha256": "8c193ec164ec2cc48f2d172837902bc18cfad226287c5e085f9417a9c415c0d3" }, "downloads": -1, "filename": "pnp-0.12.0.tar.gz", "has_sig": false, "md5_digest": "e10a89f84ccac09d9c0e74edf8ff615a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 116215, "upload_time": "2018-12-30T15:37:46", "upload_time_iso_8601": "2018-12-30T15:37:46.093971Z", "url": "https://files.pythonhosted.org/packages/a0/c2/1e9abc92b97a17fc6f3ba94008402279befc49a60a8cd7f9baa89ffb7949/pnp-0.12.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "b919e95575d0fa8da7ce68c188f1c093", "sha256": "06478d694fdeb14d07d30cd04b4a76f7b24ec73433feecfa443413743be5ad21" }, "downloads": -1, "filename": "pnp-0.13.0.tar.gz", "has_sig": false, "md5_digest": "b919e95575d0fa8da7ce68c188f1c093", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 136043, "upload_time": "2019-01-08T07:00:14", "upload_time_iso_8601": "2019-01-08T07:00:14.487536Z", "url": "https://files.pythonhosted.org/packages/07/bd/3458e95805095bd4d180fe9ff8035f49d8c5ddf98a67adcbaa4ceb681074/pnp-0.13.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "35c310fd784009fcde296c1ac13ea846", "sha256": "6ab213eeb7247b2464a39fe6c731eba6a6a244a671ffc69bb16d9ccc10f55748" }, "downloads": -1, "filename": "pnp-0.14.0.tar.gz", "has_sig": false, "md5_digest": "35c310fd784009fcde296c1ac13ea846", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 149106, "upload_time": "2019-01-17T20:02:39", "upload_time_iso_8601": "2019-01-17T20:02:39.079905Z", "url": "https://files.pythonhosted.org/packages/65/34/c909e81a364ba0d884942e67f4fcedb8eebc80d0c2d4ef273c7fa3695dd0/pnp-0.14.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "c6d57c44c2835684afab4195fa028809", "sha256": "7892a280a35db4f04d713a452893452baa145c0b866fbbe55d9479fd10f1bdeb" }, "downloads": -1, "filename": "pnp-0.15.0.tar.gz", "has_sig": false, "md5_digest": "c6d57c44c2835684afab4195fa028809", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 164747, "upload_time": "2019-02-16T14:00:06", "upload_time_iso_8601": "2019-02-16T14:00:06.901628Z", "url": "https://files.pythonhosted.org/packages/19/ec/12ee2ff0dc803b23752162f08aa980a0879c48f9a83243badb252474170d/pnp-0.15.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.16.0": [ { "comment_text": "", "digests": { "md5": "e29cae72ca2cdddd2031a6ea44ec5806", "sha256": "92b7b0fb09fa9e3d600f91fcb23a147963fa6c87468b5ec192721b8909410647" }, "downloads": -1, "filename": "pnp-0.16.0.tar.gz", "has_sig": false, "md5_digest": "e29cae72ca2cdddd2031a6ea44ec5806", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 182838, "upload_time": "2019-03-21T13:38:00", "upload_time_iso_8601": "2019-03-21T13:38:00.427770Z", "url": "https://files.pythonhosted.org/packages/92/ad/c0e326ba4f052ab83116319cf8b0fbf8695ecd3c48f4218357ff934e5d7d/pnp-0.16.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.17.0": [ { "comment_text": "", "digests": { "md5": "dfa96daa4e28d665a86bac07a13f57be", "sha256": "1e643d421700fe1d6d0b518dfd7567a91f7b2629dc678a98486e24f649c5259f" }, "downloads": -1, "filename": "pnp-0.17.0.tar.gz", "has_sig": false, "md5_digest": "dfa96daa4e28d665a86bac07a13f57be", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 197519, "upload_time": "2019-04-16T08:21:29", "upload_time_iso_8601": "2019-04-16T08:21:29.646802Z", "url": "https://files.pythonhosted.org/packages/a5/e6/abd7647e34f562183ab231f19e107ab0e7ed80c80f6b81d9b617e969ca01/pnp-0.17.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.17.1": [ { "comment_text": "", "digests": { "md5": "f83aad1f04a27db338e3dce6168fbfde", "sha256": "a86c7d8e60dcd13e33f620e124455f1d14e373f8d504d1b9e1a3a1b92c81a053" }, "downloads": -1, "filename": "pnp-0.17.1.tar.gz", "has_sig": false, "md5_digest": "f83aad1f04a27db338e3dce6168fbfde", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 196586, "upload_time": "2019-05-04T19:14:46", "upload_time_iso_8601": "2019-05-04T19:14:46.065946Z", "url": "https://files.pythonhosted.org/packages/e4/58/6c15bbdeae4798b2beba2bb31ae9939364496d4863a6fb4b0f08883fc335/pnp-0.17.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.18.0": [ { "comment_text": "", "digests": { "md5": "3f526a8aae5f970158f9b3042eb09141", "sha256": "43a858527443e52dd2bad6af93f626e65b04b886445f6ea29e38d8ffca8c0c90" }, "downloads": -1, "filename": "pnp-0.18.0.tar.gz", "has_sig": false, "md5_digest": "3f526a8aae5f970158f9b3042eb09141", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 200636, "upload_time": "2019-09-22T15:40:36", "upload_time_iso_8601": "2019-09-22T15:40:36.010815Z", "url": "https://files.pythonhosted.org/packages/09/15/1fc78285d1257478dc6d2fc1c5e2005a832ae0467759f08e3fb5c073129e/pnp-0.18.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.19.0": [ { "comment_text": "", "digests": { "md5": "31e744a80c03d908f60011401c8b064c", "sha256": "ff6e5754e8ca671cf1108b2ca8f78cc58ad35ff7e52bce44ed8f5d893f7beb14" }, "downloads": -1, "filename": "pnp-0.19.0.tar.gz", "has_sig": false, "md5_digest": "31e744a80c03d908f60011401c8b064c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 161203, "upload_time": "2019-10-19T10:42:33", "upload_time_iso_8601": "2019-10-19T10:42:33.954864Z", "url": "https://files.pythonhosted.org/packages/a1/94/e47f235a0d61f4d004b735c0d457c56a5f6ebe27553911b2fd16dd49de87/pnp-0.19.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.19.1": [ { "comment_text": "", "digests": { "md5": "ef8a6de91612a7fc9f5fcfc9d8dc329a", "sha256": "913f7a4dfbcd919106041a4d74ecedd285c1178a00f9ba02e345b3cde764bb91" }, "downloads": -1, "filename": "pnp-0.19.1.tar.gz", "has_sig": false, "md5_digest": "ef8a6de91612a7fc9f5fcfc9d8dc329a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 161775, "upload_time": "2019-10-23T18:08:38", "upload_time_iso_8601": "2019-10-23T18:08:38.753871Z", "url": "https://files.pythonhosted.org/packages/e5/e7/017a91a362a5967f46c69290174cd520be2bef1dace3035cd8c7b526dea9/pnp-0.19.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.20.0": [ { "comment_text": "", "digests": { "md5": "5bec65af550f3fc817dd352d2363ff4d", "sha256": "703cd32764d5786acb861eac7bb12f2d9b39ec1416c53db40194ca09b65cb7cb" }, "downloads": -1, "filename": "pnp-0.20.0.tar.gz", "has_sig": false, "md5_digest": "5bec65af550f3fc817dd352d2363ff4d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 167746, "upload_time": "2019-11-09T18:20:39", "upload_time_iso_8601": "2019-11-09T18:20:39.396163Z", "url": "https://files.pythonhosted.org/packages/a9/85/1110e99b47c7aaf6923abff259a0c82b6e90609e586df52958496badbd99/pnp-0.20.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.20.1": [ { "comment_text": "", "digests": { "md5": "dcb03f2456d7a2b697e54f96c593d2cf", "sha256": "c5197eba778285492db180dc6529cb5dc64a5ee5eeb405136ec31d130c4d2306" }, "downloads": -1, "filename": "pnp-0.20.1.tar.gz", "has_sig": false, "md5_digest": "dcb03f2456d7a2b697e54f96c593d2cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 167940, "upload_time": "2019-11-10T11:40:34", "upload_time_iso_8601": "2019-11-10T11:40:34.897935Z", "url": "https://files.pythonhosted.org/packages/44/86/966859e3fb15dcb1dd1ac599391cb50e45e58a99af0dbbb72e8c54efb0d5/pnp-0.20.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.20.2": [ { "comment_text": "", "digests": { "md5": "81cc6e39e82474402dc9221853bf5d9c", "sha256": "654d9060c89219ffb51edd3f93de856952ddb4577c59620105d98cd9db762910" }, "downloads": -1, "filename": "pnp-0.20.2.tar.gz", "has_sig": false, "md5_digest": "81cc6e39e82474402dc9221853bf5d9c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 169196, "upload_time": "2019-11-19T19:10:22", "upload_time_iso_8601": "2019-11-19T19:10:22.387333Z", "url": "https://files.pythonhosted.org/packages/a1/42/a4564e958b0d2511a576023c4e919fe074167a243a16c786482e82185df9/pnp-0.20.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.21.0": [ { "comment_text": "", "digests": { "md5": "994ce150a30bae7693b25cf307707494", "sha256": "3eb7f5dd4efa1fcacf1a4533e9194ea5d0ce2d07c8fa84baa08e5f74ad0f4108" }, "downloads": -1, "filename": "pnp-0.21.0.tar.gz", "has_sig": false, "md5_digest": "994ce150a30bae7693b25cf307707494", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 173160, "upload_time": "2020-01-01T07:31:19", "upload_time_iso_8601": "2020-01-01T07:31:19.957808Z", "url": "https://files.pythonhosted.org/packages/97/92/540201f10f0f17803e2f4fee1b2a7405a743fe5911f919de33412de88bc9/pnp-0.21.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.22.0": [ { "comment_text": "", "digests": { "md5": "120c0d2dd1fd4d2e928dc650864f7bc9", "sha256": "1d8cbc57d5b950705177eaf9e567e0ec205291fa6753a1101d342941a3024173" }, "downloads": -1, "filename": "pnp-0.22.0.tar.gz", "has_sig": false, "md5_digest": "120c0d2dd1fd4d2e928dc650864f7bc9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 179211, "upload_time": "2020-04-13T16:43:29", "upload_time_iso_8601": "2020-04-13T16:43:29.502374Z", "url": "https://files.pythonhosted.org/packages/fb/fc/120a9a19b1d276ef1afff84c9197c5d2f911f78499e03660eee7b8a35de8/pnp-0.22.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.23.0": [ { "comment_text": "", "digests": { "md5": "8cf3d57d8b8d9b1e802196d1c9c416b8", "sha256": "1a0c37ffbd99442b2b40ee0f17b7b11534672c7ea2371e0041d4537bd788b923" }, "downloads": -1, "filename": "pnp-0.23.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8cf3d57d8b8d9b1e802196d1c9c416b8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 117365, "upload_time": "2020-05-12T12:43:47", "upload_time_iso_8601": "2020-05-12T12:43:47.204710Z", "url": "https://files.pythonhosted.org/packages/ee/8a/c2a78b968ada54972554324a620d2b0b06efa3bea41c68236aeb25b5e3f2/pnp-0.23.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "83ba33486abb8b0a1b852029a28bb4e1", "sha256": "eb64c32eca531f23105410b30285deef1cc31ee51bcfb42831564231c2aa1d45" }, "downloads": -1, "filename": "pnp-0.23.0.tar.gz", "has_sig": false, "md5_digest": "83ba33486abb8b0a1b852029a28bb4e1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 100542, "upload_time": "2020-05-12T12:43:50", "upload_time_iso_8601": "2020-05-12T12:43:50.445516Z", "url": "https://files.pythonhosted.org/packages/6c/2f/4526c254d5b904f01b1de0bb6f3eade6fcee240926ab72b24b68b4626195/pnp-0.23.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.24.0": [ { "comment_text": "", "digests": { "md5": "07615aff4d60b9aedd95ec0375e66bb2", "sha256": "c6ec2b50102dbb8b1e7abc30a0e31a60715eeaf860126bb71083fa9182376593" }, "downloads": -1, "filename": "pnp-0.24.0-py3-none-any.whl", "has_sig": false, "md5_digest": "07615aff4d60b9aedd95ec0375e66bb2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3,<4.0", "size": 111240, "upload_time": "2020-07-07T11:58:46", "upload_time_iso_8601": "2020-07-07T11:58:46.110819Z", "url": "https://files.pythonhosted.org/packages/3d/94/1c24ccdc4b29b2812291c0b645f3c20408e6f505724560653c89567395be/pnp-0.24.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a66d6e0b2c4722f7a214a067340bdbed", "sha256": "34cb0251d6f33c3a7e53f4e8dcbb58f4a88d653f18cf3de7f85923420d4d425b" }, "downloads": -1, "filename": "pnp-0.24.0.tar.gz", "has_sig": false, "md5_digest": "a66d6e0b2c4722f7a214a067340bdbed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3,<4.0", "size": 88927, "upload_time": "2020-07-07T11:58:48", "upload_time_iso_8601": "2020-07-07T11:58:48.733543Z", "url": "https://files.pythonhosted.org/packages/f4/cf/4d752744083e06e737c7c41afaa58c58e3ce2630ebfd7d7bda6c04c83c1f/pnp-0.24.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.25.0": [ { "comment_text": "", "digests": { "md5": "0051e61e6c03fdf06584f26dd2b53569", "sha256": "8ce1a82e7452816b3cc400fa064a148db5c472bcdc431638e791dc9b1e16d77b" }, "downloads": -1, "filename": "pnp-0.25.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0051e61e6c03fdf06584f26dd2b53569", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 111862, "upload_time": "2020-10-10T13:15:47", "upload_time_iso_8601": "2020-10-10T13:15:47.983201Z", "url": "https://files.pythonhosted.org/packages/5e/66/2218cdf32b7b6d326fef2c9fa36c4a860329279f8cc5457286d89c62146f/pnp-0.25.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7f1714a45c047f92996e9870012dcfaf", "sha256": "0c6a8802fa3d96135a470404581a51a815d80c6ce8aabdcbc589c0980374058d" }, "downloads": -1, "filename": "pnp-0.25.0.tar.gz", "has_sig": false, "md5_digest": "7f1714a45c047f92996e9870012dcfaf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 89521, "upload_time": "2020-10-10T13:15:50", "upload_time_iso_8601": "2020-10-10T13:15:50.926784Z", "url": "https://files.pythonhosted.org/packages/64/71/1c61e232c95d4ed534756296d432102ea7f43784a66bd914260a9577cb3c/pnp-0.25.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.26.0": [ { "comment_text": "", "digests": { "md5": "1f5306b06453808372183fbb8a16d1f2", "sha256": "7f6b4607a68670ea230463c43fc1255a8a154aef32399af97eca97f90cb7cae8" }, "downloads": -1, "filename": "pnp-0.26.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1f5306b06453808372183fbb8a16d1f2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 112776, "upload_time": "2020-11-02T12:29:36", "upload_time_iso_8601": "2020-11-02T12:29:36.846779Z", "url": "https://files.pythonhosted.org/packages/ba/69/c5f7a88998756bb12c4b0c99c3841bc634ecb32941e67a57db67f6575d34/pnp-0.26.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cc71534d61ce001dd807cdbead942953", "sha256": "883eb26937a9d977ac1e8d412c6d27f9590e7630f547db4abb78b8d1803de728" }, "downloads": -1, "filename": "pnp-0.26.0.tar.gz", "has_sig": false, "md5_digest": "cc71534d61ce001dd807cdbead942953", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 90171, "upload_time": "2020-11-02T12:29:39", "upload_time_iso_8601": "2020-11-02T12:29:39.152583Z", "url": "https://files.pythonhosted.org/packages/2d/01/1287ba7cb3aa0e3a115864729a1a3009214ae0c83b0fd161abb333af1644/pnp-0.26.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.26.1": [ { "comment_text": "", "digests": { "md5": "eda783379df7934f55d841bcb72229b4", "sha256": "9d86da047ce3553d256425ff4f6726e828e4a24878c0d08f4d90048438a282bc" }, "downloads": -1, "filename": "pnp-0.26.1-py3-none-any.whl", "has_sig": false, "md5_digest": "eda783379df7934f55d841bcb72229b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 112785, "upload_time": "2020-11-22T21:04:47", "upload_time_iso_8601": "2020-11-22T21:04:47.797362Z", "url": "https://files.pythonhosted.org/packages/3c/3b/168cee440c74d69b5f460a91b5823247691d71826e944cc38d583016d957/pnp-0.26.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "21b72f8ce6428e12a9549768e68a4696", "sha256": "7f64d5fe0e27d26cc401432d02de9c3018296b343c5310240dffd8fe4ea0e07b" }, "downloads": -1, "filename": "pnp-0.26.1.tar.gz", "has_sig": false, "md5_digest": "21b72f8ce6428e12a9549768e68a4696", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 90245, "upload_time": "2020-11-22T21:04:50", "upload_time_iso_8601": "2020-11-22T21:04:50.694956Z", "url": "https://files.pythonhosted.org/packages/32/cf/8a11228059d3b7315c9171b605039a91cbc5ec4ce4f1a493347273d850ec/pnp-0.26.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.27.0": [ { "comment_text": "", "digests": { "md5": "313c1508709ca03bcd44936a1b779259", "sha256": "f179c56581917d84e8649efe7bf19e6925d1fdf071198fb049b62abcb20eb2ac" }, "downloads": -1, "filename": "pnp-0.27.0-py3-none-any.whl", "has_sig": false, "md5_digest": "313c1508709ca03bcd44936a1b779259", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 108255, "upload_time": "2021-01-22T20:54:31", "upload_time_iso_8601": "2021-01-22T20:54:31.127872Z", "url": "https://files.pythonhosted.org/packages/74/44/e317ca37fbacb125ecf72f5c1633845ff8744d3b32652fa80baba818430b/pnp-0.27.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "819de4510116961086d340a33b59dc24", "sha256": "ccc5b8ecd7d35404f30a778a3e9adf06de7b89287bb179b41e46c904833f21a8" }, "downloads": -1, "filename": "pnp-0.27.0.tar.gz", "has_sig": false, "md5_digest": "819de4510116961086d340a33b59dc24", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 84451, "upload_time": "2021-01-22T20:54:33", "upload_time_iso_8601": "2021-01-22T20:54:33.893788Z", "url": "https://files.pythonhosted.org/packages/e7/60/a5bb4dc0af2e05f4fc88d50be52a9c9daa477e519b7dd916d97ad9a17210/pnp-0.27.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.28.0": [ { "comment_text": "", "digests": { "md5": "8ca55f6251104f29c8d3099683da1b7d", "sha256": "3cc07f7e40d36b45bab51b3bd690400099359ad054fe932020e90273bc77331a" }, "downloads": -1, "filename": "pnp-0.28.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8ca55f6251104f29c8d3099683da1b7d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 108632, "upload_time": "2021-04-25T12:45:18", "upload_time_iso_8601": "2021-04-25T12:45:18.928808Z", "url": "https://files.pythonhosted.org/packages/c2/d5/390926374b8e5e085953336464f5d91393524ebb848437258caa169e71ab/pnp-0.28.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bb68af3e4516f119d370cdb22e5a8061", "sha256": "ff3f9c7dca0de15ca02f80d0012cbd9c6411323471a6693ee9f789826dd06c48" }, "downloads": -1, "filename": "pnp-0.28.0.tar.gz", "has_sig": false, "md5_digest": "bb68af3e4516f119d370cdb22e5a8061", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 84610, "upload_time": "2021-04-25T12:45:21", "upload_time_iso_8601": "2021-04-25T12:45:21.238894Z", "url": "https://files.pythonhosted.org/packages/48/ed/0898e318c0a92d367f055263f7b1e648d4c31300b46cc252ba7eea1840da/pnp-0.28.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "705fac2cbb770049a6ef030ad385f1c1", "sha256": "5f9f57cb8f897960d7ef75ddf36642b5b4f3a3fb0df925c26be49b150b462377" }, "downloads": -1, "filename": "pnp-0.6.3.tar.gz", "has_sig": false, "md5_digest": "705fac2cbb770049a6ef030ad385f1c1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 34378, "upload_time": "2018-06-14T19:29:50", "upload_time_iso_8601": "2018-06-14T19:29:50.043571Z", "url": "https://files.pythonhosted.org/packages/51/20/4f447a5e55b224ed169ab26bc83d7be58ea9886b4a6a0c24978dac86df76/pnp-0.6.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "5a62cec200d76fada337391393f636b3", "sha256": "63624218583f2c9c98eb739bf16fe878647af9c4606b850409008245f6702b94" }, "downloads": -1, "filename": "pnp-0.7.0.tar.gz", "has_sig": false, "md5_digest": "5a62cec200d76fada337391393f636b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 38930, "upload_time": "2018-06-28T20:04:06", "upload_time_iso_8601": "2018-06-28T20:04:06.923179Z", "url": "https://files.pythonhosted.org/packages/3a/22/5fad32caef0f7a88a262e898ba8608960c1fc1064b23efcda56ed6c24676/pnp-0.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "b5cc09d013bc62138f74fc32077db44d", "sha256": "419e3b9eae68ee9ea74af337a7268e555ab94ca6f1cd9ad121cad02ffa1d96b8" }, "downloads": -1, "filename": "pnp-0.7.2.tar.gz", "has_sig": false, "md5_digest": "b5cc09d013bc62138f74fc32077db44d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 42110, "upload_time": "2018-07-03T05:36:41", "upload_time_iso_8601": "2018-07-03T05:36:41.727189Z", "url": "https://files.pythonhosted.org/packages/f7/ae/008b3cb67cb6265f776954e06baba055b6aa3bf230c98e0231d974ee4fdb/pnp-0.7.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "14be0a457949a87d2243989a96c8d5f3", "sha256": "50b4cfd8deed3b8cfd320966d05020d22c117c621425d2c841b210a9672c81e0" }, "downloads": -1, "filename": "pnp-0.8.0.tar.gz", "has_sig": false, "md5_digest": "14be0a457949a87d2243989a96c8d5f3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 58777, "upload_time": "2018-07-05T18:41:34", "upload_time_iso_8601": "2018-07-05T18:41:34.466719Z", "url": "https://files.pythonhosted.org/packages/03/bb/3829909771233f5896f21d416e2d775a8b4ac0b2f1321a65b7bdd0d87641/pnp-0.8.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "a9716c5c87b545abfcfb60fb11bbe44b", "sha256": "e1e859be3a10ff6a6710f54f2828c1368fc7e834fcce5d9571de237290221541" }, "downloads": -1, "filename": "pnp-0.8.1.tar.gz", "has_sig": false, "md5_digest": "a9716c5c87b545abfcfb60fb11bbe44b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 70625, "upload_time": "2018-07-15T19:31:55", "upload_time_iso_8601": "2018-07-15T19:31:55.157692Z", "url": "https://files.pythonhosted.org/packages/38/73/72837452a61fa7cbca1d70351bc62c3f9769ce705dc10881e6b9525e73b4/pnp-0.8.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "abc2bbd52d284c76d28c4c66a9144312", "sha256": "a3a5c762f52fc70d912a82c74fb7e6b5d2fc6f6df2a91de95bfe4e63b3e0ea25" }, "downloads": -1, "filename": "pnp-0.9.0.tar.gz", "has_sig": false, "md5_digest": "abc2bbd52d284c76d28c4c66a9144312", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 73891, "upload_time": "2018-09-10T08:40:43", "upload_time_iso_8601": "2018-09-10T08:40:43.018154Z", "url": "https://files.pythonhosted.org/packages/7e/23/5d6b9013633eff6821166eb1da412f7c71a89079e7b8790406c7b0c897fa/pnp-0.9.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8ca55f6251104f29c8d3099683da1b7d", "sha256": "3cc07f7e40d36b45bab51b3bd690400099359ad054fe932020e90273bc77331a" }, "downloads": -1, "filename": "pnp-0.28.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8ca55f6251104f29c8d3099683da1b7d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 108632, "upload_time": "2021-04-25T12:45:18", "upload_time_iso_8601": "2021-04-25T12:45:18.928808Z", "url": "https://files.pythonhosted.org/packages/c2/d5/390926374b8e5e085953336464f5d91393524ebb848437258caa169e71ab/pnp-0.28.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bb68af3e4516f119d370cdb22e5a8061", "sha256": "ff3f9c7dca0de15ca02f80d0012cbd9c6411323471a6693ee9f789826dd06c48" }, "downloads": -1, "filename": "pnp-0.28.0.tar.gz", "has_sig": false, "md5_digest": "bb68af3e4516f119d370cdb22e5a8061", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 84610, "upload_time": "2021-04-25T12:45:21", "upload_time_iso_8601": "2021-04-25T12:45:21.238894Z", "url": "https://files.pythonhosted.org/packages/48/ed/0898e318c0a92d367f055263f7b1e648d4c31300b46cc252ba7eea1840da/pnp-0.28.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }