{ "info": { "author": "Demian Perry", "author_email": "dperry@npr.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP" ], "description": "NPR\n===\n\nThis module provides a simple framework for working with NPR's cloud services.\n\nYou can install this module via:\n\n.. code-block:: python\n\n pip install npr\n\nSetup:\n------\n\nBegin by authenticating your app. Auth will walk you through key creation.\n\n.. code-block:: python\n\n import npr\n npr.auth()\n\n**output**:\n\n.. code-block:: bash\n\n To authenticate your app:\n 1. LOGIN to http://dev.npr.org (if it's your first time, you'll need to register.)\n 2. Open the dev console (drop down in the top right corner of dev center)\n 3. Create a new application\n 4. Select that application and enter your credentials below\n Application ID:\n\nFill in your application ID and secret at the prompts. Once verified, you must login:\n\n.. code-block:: python\n\n npr.login()\n\n**output**:\n\n.. code-block:: bash \n\n Go to https://secure.npr.org/device login and enter:\n Z3SDM6\n\nThe script will poll the npr auth server every 5 seconds until you login and it gets a token. \nThen it will store your token and you shant (SHANT!) have to do this again.\n\nCommon variables:\n-----------------\nThe most common variables for many classes have already been loaded into the namespace, \nand you can access these in the asset dictionary:\n\n.. code-block:: python\n\n stations = npr.Stations('boston')\n stations.a\n\n**output**:\n\n.. code-block:: bash \n {'id': '330',\n 'mp3': 'https://icecast-stream.wbur.org/wbur_nprorg',\n 'name': 'WBUR',\n 'station': [{'id': '330',\n 'mp3': 'https://icecast-stream.wbur.org/wbur_nprorg',\n 'name': 'WBUR',\n 'stream': 'https://icecast-stream.wbur.org/wbur.aac'},\n {'id': '396',\n 'mp3': 'https://streams.audio.wgbh.org:8200/wgbh',\n 'name': 'WGBH Radio',\n 'stream': 'https://streams.audio.wgbh.org:8200/wgbh'},\n {'id': '168809220', 'name': 'WGBH'}],\n 'stream': 'https://icecast-stream.wbur.org/wbur.aac'}\n\nBecause they are in the namespace, you can use dot notation to access any of the first-level \nvariables:\n\n.. code-block:: python\n\n stations.stream\n\n**output**:\n\n.. code-block:: bash \n\n 'https://icecast-stream.wbur.org/wbur.aac'\n\n\nCustom variables:\n-----------------\n\nYou can also use a reverse lookup to find the keys to your own variables:\n\n.. code-block:: python\n\n search = npr.Search('Hidden Brain')\n search.pretty()\n\n**output**:\n\n.. code-block:: bash \n\n \"audioTitle\": \"Ep. 64: I'm Right, You're Wrong\",\n \"date\": \"2017-03-13T21:00:19-04:00\",\n \"description\": \"There are some topics\n \"items\": [],\n \"links\": {\n \"audio\": [\n {\n \"content-type\": \"audio/mp3\",\n \"href\": \"https://play.podtrac.com/npr-510308...\n\t. . . \n\nAnd, using the above output, query to find the key to **Ep. 64: I'm Right, You're Wrong**\n\n.. code-block:: python\n\n search.find(\"Ep. 64: I'm Right, You're Wrong\")\n\n**output**:\n\n.. code-block:: bash\n\n Ep. 64: I'm Right, You're Wrong .response['items'][0]['items'][2]['attributes']['audioTitle']\n\nAnd now you can loop through all the recent episodes:\n\n.. code-block:: python\n\n for episode in search.response['items'][0]['items']:\n print(episode['attributes']['audioTitle'])\n\n**output**:\n\n.. code-block:: bash\n\n Ep. 66: Liar, Liar\n Episode 65: Tunnel Vision\n Ep. 64: I'm Right, You're Wrong\n\nTo grab **more than the last three episodes** from this aggregation, you'll need to lookup \nthe affiliate code and pass it to the **Agg class**:\n\n.. code-block:: python\n\n hiddenBrain = Agg('510308')\n hiddenBrain.pretty()\n\nBuild an NPR One app:\n---------------------\n\nThis won't help you play audio through a speaker, but it'll get you the data you need. First, initialize your player:\n\n.. code-block:: python\n\n player = npr.One()\n\nNow pass the title of the story to your display and the story audio to your player, use:\n\n.. code-block:: python\n\n player.title\n player.audio\n\nTo get the next segment, use:\n\n.. code-block:: python\n\n player.skip()\n\nor\n\n.. code-block:: python\n\n player.complete()\n\n...depending on the user action. Then you call player.audio to play the next segment.\n\nExplore Tab:\n------------\n\nThe channel endpoint just lets you know what collections are available. You'll need a distinct call for each row (collection) in the explore tab. So to initialize the explore object and see all the stories in the third row, use:\n\n.. code-block:: python\n\n explore = npr.Channels()\n explore.fetch(2)\n explore.row.pretty()\n\nAuthentication functions:\n-------------------------\n\n\t| **npr.auth()** - authenticates your app with your developer credentials from dev.npr.org\n\t| **npr.login()** - returns a short code your user can enter at secure.npr.org/device, which will deliver a bearer token to your app\n\t| **npr.logout()** - removes the user's bearer token from your app. Remember to logout before distributing your app.\n\t| **npr.deauth()** - removes your developer credentials from the app by deleting the npr.conf file\n\nEndpoint classes:\n-----------------\n\n\t| **npr.Station(orgId)** - returns metadata about an NPR station, where 'orgId' is the orgId of the station.\n\t| **npr.Stations('query')** - returns metadata about NPR stations that match a query (call letters, zip code, city, or any indexed value)\n\t| **npr.Stations(lat,lon)** - returns metadata about NPR stations at a location (lon should be negative, because all our stations are west of the meridian)\n\t| **npr.Search('query')** - returns programs or episode titles with a term that matches your 'query'\n\t| **npr.searchall('query')** - returns any story with a term that matches your 'query'\n\t| **npr.User()** - returns data (including content preferences) about the logged in user\n\t| **npr.Recommend()** - returns a list of recommended audio for the logged in user.\n\t| **npr.One()** - Like recommend, except you can advance to the next segment via skip() and complete()\n\t| **npr.Agg()** - returns audio segments from the selected aggregation (aka affiliation)\n\t| **npr.Channels()** - returns channels from the explore tab, which, along with fetch(row) will also return segments.\n\nEndpoint helper functions:\n--------------------------\n\n\t| **npr.docs()** - Lists example endpoint calls\n\t| **.a** - Lists variables loaded into the namespace of the current object.\n\t| **.response** - the json response from the endpoint\n\t| **.pretty()** - prints the json output in human-readable form\n\t| **.find('your json value')** - returns the json key path for the value you entered\n\nFull endpoint documentation is available at http://dev.npr.org\n\nPackaging for PyPI:\n-------------------\n\n- from npr/npr, type the command:\n\n.. code-block:: bash\n\n pasteurize -w __init__.py\n\n- open npr/tests/test.ipynb in jupyter and run some of the tests\n- increment the version number in npr/setup.py and add any new dependencies\n\n.. code-block:: bash\n\n version='0.1.2',\n install_requires=[\n 'requests','future','requests[security];python_version<\"2.9\"',\n ],\n\n- push new code to github\n- from repo root (npr) build the package:\n\n.. code-block:: bash\n\n python setup.py sdist bdist_wheel\n\n- update twine (optional) and upload it to PyPI:\n\n.. code-block:: bash\n\n pip install --upgrade twine\n twine upload dist/* --skip-existing\n\n- uninstall and reinstall npr on your machine.\n\n.. code-block:: bash\n\n pip uninstall npr\n pip install npr\n\n(pat yourself on the back)\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/perrydc/npr", "keywords": "public,radio,stream,metadata,api,service,npr", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "npr", "package_url": "https://pypi.org/project/npr/", "platform": "", "project_url": "https://pypi.org/project/npr/", "project_urls": { "Homepage": "http://github.com/perrydc/npr" }, "release_url": "https://pypi.org/project/npr/2.3.0/", "requires_dist": [ "algoliasearch", "future", "requests", "requests[security]; python_version < \"2.9\"" ], "requires_python": "", "summary": "NPR cloud framework", "version": "2.3.0" }, "last_serial": 3943784, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d7dd7a8841b424d3d5b5df53f06f604f", "sha256": "86c80488a0176d44bd5551299d438c14d627d3897f4c44585f64b40c3576d253" }, "downloads": -1, "filename": "npr-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d7dd7a8841b424d3d5b5df53f06f604f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4397, "upload_time": "2017-03-28T21:05:45", "url": "https://files.pythonhosted.org/packages/90/d7/efd8acf8b286d1f6cd8216eef603e4de24ca9135c933611fe510940edd79/npr-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4404b72d5642657cb7d4c56c3fb59e7", "sha256": "165e7c83d0446959322ae4e4da4f0cc6cb1b38dcd0feeefa2efc6cd66d671d97" }, "downloads": -1, "filename": "npr-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c4404b72d5642657cb7d4c56c3fb59e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4577, "upload_time": "2017-03-28T21:05:46", "url": "https://files.pythonhosted.org/packages/22/1b/a7a668aa6fe4639afb724bb1e5e661473c7be272a19bc92b2d7d4bb64f85/npr-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "60ec50306307bb05c8fcd15b35e09272", "sha256": "1c15e42522d193256c2672260898473d04e6ddf9a1b6a90e3d39cd127027ff44" }, "downloads": -1, "filename": "npr-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "60ec50306307bb05c8fcd15b35e09272", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4335, "upload_time": "2017-03-29T00:58:30", "url": "https://files.pythonhosted.org/packages/10/57/3e8c00587450c63308c2810b280801ce01f81e402b8c8b1a08c97ecb3166/npr-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "be9b9b1af8cda956d76b84c7441f3658", "sha256": "dc2558bee06b508cd77b65076150e07119f3d3c01e5c6eef955c85c6fb257b64" }, "downloads": -1, "filename": "npr-0.1.1.tar.gz", "has_sig": false, "md5_digest": "be9b9b1af8cda956d76b84c7441f3658", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4471, "upload_time": "2017-03-29T00:58:31", "url": "https://files.pythonhosted.org/packages/fe/50/d774515a1a9cc2bf494c3baa4871dcb0e8c71f44b221429422e306c1cb6a/npr-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "1f0da9beb77f4da1704f59505c53b3b1", "sha256": "f52d4f105794282125f5742bf406f4e3f6a05a9e76e8fe8d12d24a26b330d853" }, "downloads": -1, "filename": "npr-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1f0da9beb77f4da1704f59505c53b3b1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4349, "upload_time": "2017-03-29T01:06:04", "url": "https://files.pythonhosted.org/packages/92/95/1f9ca592c9acd4fcbf8c5b7d2c61d77c4ed8f3471bdd4b9531cb5e784eb7/npr-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe24cf8ccbccda1d17e501dcba86707f", "sha256": "b86ef5977037b48544aaf6b8bc4edc7f2f64bff918adf499e926baf223904867" }, "downloads": -1, "filename": "npr-0.1.2.tar.gz", "has_sig": false, "md5_digest": "fe24cf8ccbccda1d17e501dcba86707f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4476, "upload_time": "2017-03-29T01:06:06", "url": "https://files.pythonhosted.org/packages/6c/fb/1def878d67b4c37dd2ba3e74febe348e9b1cf6fba8305c070b211a318d71/npr-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "4f605f686ddac2d0b94c5d558e51926f", "sha256": "7b81366ee385b9fd0ffc6bbffd619730c7e67822c7c575cca992ee108a21e010" }, "downloads": -1, "filename": "npr-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4f605f686ddac2d0b94c5d558e51926f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4370, "upload_time": "2017-03-29T16:27:21", "url": "https://files.pythonhosted.org/packages/92/24/85ae8bbcfcef91128f31e9460e053e8badebbabaaf755137346aea16a877/npr-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57338b45714396309a3cfec601cd71d3", "sha256": "a3b0149dd6b43b59e8d8b885447154a9d9b7da1cfd7f5dcb8a1205a536e35e38" }, "downloads": -1, "filename": "npr-0.1.3.tar.gz", "has_sig": false, "md5_digest": "57338b45714396309a3cfec601cd71d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4483, "upload_time": "2017-03-29T16:27:23", "url": "https://files.pythonhosted.org/packages/8c/bf/84eacf012f40ca103976be57a908885b97edbd96925d7bf26bb7cc121521/npr-0.1.3.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "d39836430c285d1a4a2fbe2eac02e556", "sha256": "445c813f288025c26c51585f4bd3c91fb947d76956b859123004b6e0097f11dc" }, "downloads": -1, "filename": "npr-1.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d39836430c285d1a4a2fbe2eac02e556", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2203, "upload_time": "2017-04-30T02:53:35", "url": "https://files.pythonhosted.org/packages/34/6c/4e222990848ef27cd318c9f546e35197cbc3116efa228d6822ccf7ecbcca/npr-1.0.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87df5b67eab2c9cbdfbfb2dc9826e252", "sha256": "4a9087eaad00d16adb1af86ca5bd80ab549d93e2dbd2b23ae79f1d4fffc6e9c3" }, "downloads": -1, "filename": "npr-1.0.10.tar.gz", "has_sig": false, "md5_digest": "87df5b67eab2c9cbdfbfb2dc9826e252", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5752, "upload_time": "2017-04-30T02:53:37", "url": "https://files.pythonhosted.org/packages/bb/a4/ae515cce7262d98a85c0d9cf938dc60d38edc744a5bbb4df00a622ac88ad/npr-1.0.10.tar.gz" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "457014957e7b0e3168aa24baca90f0b2", "sha256": "8c70493ebfc5ee244f9fcede52971fc41cbf585ac016da5d08a1aae674c287be" }, "downloads": -1, "filename": "npr-1.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "457014957e7b0e3168aa24baca90f0b2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4360, "upload_time": "2017-04-30T03:04:41", "url": "https://files.pythonhosted.org/packages/7a/df/1cd9b9d561d3325252d409dab314e5976bcd595dcdf23adebaac3ea1738c/npr-1.0.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ea4febb9ab9870dc81905ff9822d25b", "sha256": "0a79d6812f5191e143530d78ab451e135bfa7763517e9640e7e75c013851c80d" }, "downloads": -1, "filename": "npr-1.0.11.tar.gz", "has_sig": false, "md5_digest": "4ea4febb9ab9870dc81905ff9822d25b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5255, "upload_time": "2017-04-30T03:04:42", "url": "https://files.pythonhosted.org/packages/f2/d1/098f73aca062a3c379e6439cd951d9b98686993308ccc63ea5a02aa38266/npr-1.0.11.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "d821a02fc350c0590353a97ab1b353a2", "sha256": "95eb8f4e1ea71ad0762e2e14a7386183c31d7deea675b1e035fd3d28f7e6ca69" }, "downloads": -1, "filename": "npr-1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d821a02fc350c0590353a97ab1b353a2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2164, "upload_time": "2017-04-30T02:01:01", "url": "https://files.pythonhosted.org/packages/4c/66/23421178580f547461e350bf6949350bf5b3574fffc3773e7ac61de9e54b/npr-1.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8efff5b96d7caa9c955bc1ea899ff74", "sha256": "00fe9d42e8e966434b1eda1ce9aa0915298b772bf2edfa837bab31fedde603f1" }, "downloads": -1, "filename": "npr-1.0.7.tar.gz", "has_sig": false, "md5_digest": "a8efff5b96d7caa9c955bc1ea899ff74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5719, "upload_time": "2017-04-30T02:01:02", "url": "https://files.pythonhosted.org/packages/65/93/73f253ab040df93766d9014ef7ee332f94d6a010d554971687e5586f94e2/npr-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "55bc17a83e3c0ba119849a4b0d774f94", "sha256": "2bea4cd03c50e6d67413644c8185f2145f854eacd6e30abc094626bd21615360" }, "downloads": -1, "filename": "npr-1.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "55bc17a83e3c0ba119849a4b0d774f94", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2187, "upload_time": "2017-04-30T02:15:53", "url": "https://files.pythonhosted.org/packages/d7/44/0dc38de1e35ecb9184c837020a4825fee091885099fe487dae81a8af0e15/npr-1.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f6955394b22d6bbe418fdb257ca64a83", "sha256": "fb28b3d48b45172eea60dedbe696b0a9586e25e64e82fd032b0fb7a922924ff4" }, "downloads": -1, "filename": "npr-1.0.8.tar.gz", "has_sig": false, "md5_digest": "f6955394b22d6bbe418fdb257ca64a83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5741, "upload_time": "2017-04-30T02:15:55", "url": "https://files.pythonhosted.org/packages/e2/32/35a273d04d4c9af66f5ac4f8920a5394ef29ed0d6875536c31e6b65747b1/npr-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "9659f010dead6f74dd3c41a756f9b810", "sha256": "2cbef50e2663054ba71bfa8dbcec0969f66b7643e8f7820e0e01d44770d6ed18" }, "downloads": -1, "filename": "npr-1.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9659f010dead6f74dd3c41a756f9b810", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5176, "upload_time": "2017-04-30T02:46:08", "url": "https://files.pythonhosted.org/packages/8f/20/005daedde23ac63efdcd3e6a96f92d584602bb750027986730c179c7ce19/npr-1.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "26e952a9f922f682a3a48d094048b82b", "sha256": "ce17cc217a9e1b02aef16c869489b18f8aaf845fe6771a42376209bded46eee2" }, "downloads": -1, "filename": "npr-1.0.9.tar.gz", "has_sig": false, "md5_digest": "26e952a9f922f682a3a48d094048b82b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5764, "upload_time": "2017-04-30T02:46:10", "url": "https://files.pythonhosted.org/packages/d2/01/7dbb308ae7a07f60d08ad4eec74e2e5c28f5715888e3dc92cf60c59babf6/npr-1.0.9.tar.gz" } ], "1.1.11": [ { "comment_text": "", "digests": { "md5": "b528e01e197e86bbd97498dbaa287749", "sha256": "9f366e042bcded420691572569b074eada2ae1613add5f69f4aac966103ff5b5" }, "downloads": -1, "filename": "npr-1.1.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b528e01e197e86bbd97498dbaa287749", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5513, "upload_time": "2017-04-30T03:13:36", "url": "https://files.pythonhosted.org/packages/42/e7/0de5821cd7c147c94f5333de91bdaa9c5f07c00fe47ed6f87b40393d601d/npr-1.1.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "10d541819362ad63ce791dc1d6754a7c", "sha256": "27473d286dcfb4485db6d7df4fec9c2163322c81cb9a6dca7fd2198fed18c12a" }, "downloads": -1, "filename": "npr-1.1.11.tar.gz", "has_sig": false, "md5_digest": "10d541819362ad63ce791dc1d6754a7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5248, "upload_time": "2017-04-30T03:13:37", "url": "https://files.pythonhosted.org/packages/9d/b0/3a621259746589cc6b2e4e603fb94e937e705ce08ecb6110bc1b0af0fe97/npr-1.1.11.tar.gz" } ], "1.1.12": [ { "comment_text": "", "digests": { "md5": "ded23fe2d54040a8a7c358a018ea0114", "sha256": "31662538063ec4d003d9b3657330df305076babb96827deab401371a01027f93" }, "downloads": -1, "filename": "npr-1.1.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ded23fe2d54040a8a7c358a018ea0114", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5674, "upload_time": "2017-05-01T16:41:09", "url": "https://files.pythonhosted.org/packages/a2/0f/48d376bcd30de6a54c9702d7f4e3a9fa6d191399945da4ede8b47c3666ff/npr-1.1.12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d0c92bb8f25de7c8827306cb4451717", "sha256": "9da7b74ff3d3387f2acd34ea52a810be9cb6326d0e22e0875dc5e1491e35be55" }, "downloads": -1, "filename": "npr-1.1.12.tar.gz", "has_sig": false, "md5_digest": "6d0c92bb8f25de7c8827306cb4451717", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5923, "upload_time": "2017-05-01T16:41:11", "url": "https://files.pythonhosted.org/packages/8b/7e/3903bc450e5e353d538c39c53f0cd57495e6c7136716df6b67f319722b58/npr-1.1.12.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "3d7aaf46b60b7d2fc5b909ba6294249e", "sha256": "5c7a4ff4e8f2ff746996096e3befd192475982d240439841f3a9197f43cfd4c0" }, "downloads": -1, "filename": "npr-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3d7aaf46b60b7d2fc5b909ba6294249e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5594, "upload_time": "2017-06-06T21:27:36", "url": "https://files.pythonhosted.org/packages/58/18/ef226ac5ec3c457ed8517b064784292a2681046c492b166fe925e376d7d3/npr-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7cdebb53a071ad19e8ef0a4f19ff96a7", "sha256": "ed91a1c2d2472d32b1658be9a8fac1d95655ddaa7b7217e62e22b1c15a3e8fb4" }, "downloads": -1, "filename": "npr-1.2.0.tar.gz", "has_sig": false, "md5_digest": "7cdebb53a071ad19e8ef0a4f19ff96a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6200, "upload_time": "2017-06-06T21:27:37", "url": "https://files.pythonhosted.org/packages/e4/2a/8d18613af79e13cb0a16a32231199b9083fa274fc7a0d0d43c27aeb0515b/npr-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "9ef924aa381afd915ddc4ebc8042e50f", "sha256": "d503ae7d6b3ce0c1c91c1da49e089382bef9aa5bf02e932debb5dce0a9b453ef" }, "downloads": -1, "filename": "npr-1.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9ef924aa381afd915ddc4ebc8042e50f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 5695, "upload_time": "2017-12-15T18:21:03", "url": "https://files.pythonhosted.org/packages/cf/f5/f75ad230c5ca5dfc6757d38d9816fbdab42ccd8c7c13765c0e3a1db40c2a/npr-1.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6862396d50f11a934a2b802d4233468", "sha256": "f7cea3bfc9791970b044d522b0ba0ea6dc45a63089820aacc0d3691975b6afb2" }, "downloads": -1, "filename": "npr-1.2.1.tar.gz", "has_sig": false, "md5_digest": "d6862396d50f11a934a2b802d4233468", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 6624, "upload_time": "2017-12-15T18:21:05", "url": "https://files.pythonhosted.org/packages/2e/06/088894c82177990fe3127c4c85bdde60367bf95da13c7a29da9a8a252ad6/npr-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "a05d1660d11950e24cbf899c5f51893c", "sha256": "4cf1104cd28a169d6b7cae701bac3c7927ebc821953ec97c25fae59e950fb6e5" }, "downloads": -1, "filename": "npr-1.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a05d1660d11950e24cbf899c5f51893c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10572, "upload_time": "2017-12-15T18:51:14", "url": "https://files.pythonhosted.org/packages/e2/d7/a2f1a7b139c6e291d8bfc4e554538e7e35e488adb0b8a0bebd05460576c9/npr-1.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed6f9143c6a214738ecdaf557b4471e8", "sha256": "a499b6ed7fb04cb9d350e53445a4692e0c7600f1d58796a4db68b12e10e4b80d" }, "downloads": -1, "filename": "npr-1.2.2.tar.gz", "has_sig": false, "md5_digest": "ed6f9143c6a214738ecdaf557b4471e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7316, "upload_time": "2017-12-15T18:51:15", "url": "https://files.pythonhosted.org/packages/57/da/f2310022051d048bd3322004fe8af0a6e9e043ba42cb6d8c15b877ee1c3c/npr-1.2.2.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "be656fb27456884a1affaff26a4d66f4", "sha256": "c0c2cb249093e4d8da60df18ebba825e6c3e69a5fc58494348ce73258cd3a7dd" }, "downloads": -1, "filename": "npr-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "be656fb27456884a1affaff26a4d66f4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10859, "upload_time": "2017-12-18T22:23:45", "url": "https://files.pythonhosted.org/packages/35/0f/305e02ea994e4d192e382331008a03aae563bebd3102143aea41a35f7550/npr-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e1dce0960c083524f117ddd725f1cce", "sha256": "6e325b915b7c1aad67f0f06da339178f04d206e586e8074293d3ed6e45bf926b" }, "downloads": -1, "filename": "npr-2.0.0.tar.gz", "has_sig": false, "md5_digest": "8e1dce0960c083524f117ddd725f1cce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7667, "upload_time": "2017-12-18T22:23:47", "url": "https://files.pythonhosted.org/packages/54/41/802e0bc7ab789ea1021e2366c7222a2f281ec57053c0d001e100a96fc3b7/npr-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "2c7986228a410c3919dd46d4e8b02b1d", "sha256": "1ed077ffe2bb450f0a127b7ad337c922ba953e0fe41d07d8b69376391a94943b" }, "downloads": -1, "filename": "npr-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2c7986228a410c3919dd46d4e8b02b1d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10902, "upload_time": "2017-12-19T22:19:14", "url": "https://files.pythonhosted.org/packages/91/52/1dc959e412b66d2a2f82349d0342ebb765b74aeb423749e37c5ffe01272f/npr-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58910f4be02a882c4d92f980c64d7c0c", "sha256": "2b1e7446fe69334d0cd3641454e7da1c6592205711d25115446b95d9f78354d3" }, "downloads": -1, "filename": "npr-2.0.1.tar.gz", "has_sig": false, "md5_digest": "58910f4be02a882c4d92f980c64d7c0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7700, "upload_time": "2017-12-19T22:19:15", "url": "https://files.pythonhosted.org/packages/9e/9d/20045a49aaba47040df90c79713556244faa16ecdf409e4a571addd33d6e/npr-2.0.1.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "50df782626a128981eb88789ddc44068", "sha256": "4c72cde72c2571880b1737f87ddaa06e85b10aa10cf8dfc6828bfb0876e4edc7" }, "downloads": -1, "filename": "npr-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "50df782626a128981eb88789ddc44068", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11535, "upload_time": "2017-12-21T17:07:14", "url": "https://files.pythonhosted.org/packages/2c/d7/b945317aff331499e2d981baa88bd786323c08d7135b57a13c1ecc8c89a0/npr-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ca8c02bd96b4d00949b199fcfff0cb8", "sha256": "150312d2873a5d58de8ca180222d1c057f3f00e3920bf51b87c0bed3621ff505" }, "downloads": -1, "filename": "npr-2.1.0.tar.gz", "has_sig": false, "md5_digest": "9ca8c02bd96b4d00949b199fcfff0cb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8211, "upload_time": "2017-12-21T17:07:16", "url": "https://files.pythonhosted.org/packages/a6/28/31053d2cbaac6d70974910b3ecd2b021a9522c8c71f53da8d4fcbb150810/npr-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "be2ef79a16084bfdd5c705c74a9e0cf0", "sha256": "bdc1c204b94b9af952e009be7656d9cc7f956d8686b301d062c2f3d1792559a3" }, "downloads": -1, "filename": "npr-2.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "be2ef79a16084bfdd5c705c74a9e0cf0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11572, "upload_time": "2017-12-21T18:37:46", "url": "https://files.pythonhosted.org/packages/99/1e/9f7ea4ef00314f784a4058c0fc519a12e80cb522f896838999add36bbf45/npr-2.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d55844dc9fca1d8eb63c0b74ab9abf70", "sha256": "2c48c3f4984a6d423d19a0a68ef6203d9d11cf9c15c9a6625dfd615cbd84ca6e" }, "downloads": -1, "filename": "npr-2.1.1.tar.gz", "has_sig": false, "md5_digest": "d55844dc9fca1d8eb63c0b74ab9abf70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8239, "upload_time": "2017-12-21T18:37:48", "url": "https://files.pythonhosted.org/packages/b5/fc/36c0bb34ec2560928934409bf83925dd58868f8c063e1916f570ddd37134/npr-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "d5e640540500a311beb3cacffe9ddb0c", "sha256": "b9235a4a955812e4803ab497f1db17ccbfe77de33022987486f50d3129e55c7b" }, "downloads": -1, "filename": "npr-2.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d5e640540500a311beb3cacffe9ddb0c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12292, "upload_time": "2017-12-22T00:14:50", "url": "https://files.pythonhosted.org/packages/c5/a0/e8b7350e6ce3ccb0f9c877c8d7bd717d06936dfea6916cce32b8ec012b20/npr-2.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f1355d37015dd901743f6a2e4993f43f", "sha256": "0c13644618dfa63c250fbe26c47792482863dfbd7dca0aacc5de190916f6d5df" }, "downloads": -1, "filename": "npr-2.1.2.tar.gz", "has_sig": false, "md5_digest": "f1355d37015dd901743f6a2e4993f43f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8672, "upload_time": "2017-12-22T00:14:51", "url": "https://files.pythonhosted.org/packages/81/47/183a9b53c5888cb396b0a675eb0172be18061f0a09ec082c0d65e29bd98c/npr-2.1.2.tar.gz" } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "32cf2bd8e1b7412d2af59cd312e2886d", "sha256": "4a0cae3d1caaa90915c0f296f0978e6645a5c59bb270786284ef49a6acf3d7ce" }, "downloads": -1, "filename": "npr-2.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "32cf2bd8e1b7412d2af59cd312e2886d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12338, "upload_time": "2017-12-22T00:22:57", "url": "https://files.pythonhosted.org/packages/8d/ad/23d1f0117c638d20f1361d68f0e09376dd288c14a19120cb42a5fc71cac7/npr-2.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd40cd5cef7ccde808ce7139c5bc8aa9", "sha256": "25dd8e135a56546da3d9fb44d2fa51b271580dd5bf5a7d9f89df74eef04aa210" }, "downloads": -1, "filename": "npr-2.1.3.tar.gz", "has_sig": false, "md5_digest": "fd40cd5cef7ccde808ce7139c5bc8aa9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8700, "upload_time": "2017-12-22T00:22:58", "url": "https://files.pythonhosted.org/packages/f4/7e/c5776a613cc4e12d4d1290c90a14ecf9ccefc6c04c4b5bb0652906815655/npr-2.1.3.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "d0729828cff0e8dbd19eeef92a0296aa", "sha256": "ee968443ca7eb0b7826880198bc744b3a4ad3f96e488ee39b287a6980b5b4ebf" }, "downloads": -1, "filename": "npr-2.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d0729828cff0e8dbd19eeef92a0296aa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12754, "upload_time": "2018-01-17T22:44:19", "url": "https://files.pythonhosted.org/packages/2a/e1/88b91d1a55b3b63f2f11a18cfba1455e86257727b8a5a684b25279a67915/npr-2.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "30738b6d12ede4d62bd5434be8008331", "sha256": "da1bacaeb1cabd4c726261ff09375b8ac5fbc08699467bbdf7ef630f0e7974cf" }, "downloads": -1, "filename": "npr-2.2.0.tar.gz", "has_sig": false, "md5_digest": "30738b6d12ede4d62bd5434be8008331", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9125, "upload_time": "2018-01-17T22:44:21", "url": "https://files.pythonhosted.org/packages/6a/1d/cf188458ea63671fb39d4eb3637f6d2027d4ecac7f99c1d0ddba1e3e7af6/npr-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "fe95d9cbbd79b34cae37ebd7c33b0719", "sha256": "d675a4f71111530d501fdca40a3a334d4b5a520af2d3aed2c59ed0c29a429ea8" }, "downloads": -1, "filename": "npr-2.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fe95d9cbbd79b34cae37ebd7c33b0719", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12832, "upload_time": "2018-01-18T01:06:19", "url": "https://files.pythonhosted.org/packages/f1/24/1a67ade2dbcf93ddbf82724e4971529f9a364e25f03c4ebcb369c7d4bf24/npr-2.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "29b8df2e12f3ac9ada86efb396554c8c", "sha256": "2351146f54429ace12ade9ef3360f97eabb6843a144470c87ccbbe0ddc14b2fb" }, "downloads": -1, "filename": "npr-2.2.1.tar.gz", "has_sig": false, "md5_digest": "29b8df2e12f3ac9ada86efb396554c8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11093, "upload_time": "2018-01-18T01:06:22", "url": "https://files.pythonhosted.org/packages/0b/73/846706c7130543d57ea2a8200279eb3da8d3b0f8c3cc2e06d595219d7125/npr-2.2.1.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "6ad6ba6eacb2bfc36b5f186a0f0fb194", "sha256": "ce538d9f18585f9e98d2e4a467d1f6f7a0d0ab0fdefcd6a1ba5f22fd7a3251d3" }, "downloads": -1, "filename": "npr-2.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6ad6ba6eacb2bfc36b5f186a0f0fb194", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12884, "upload_time": "2018-06-08T19:26:47", "url": "https://files.pythonhosted.org/packages/83/54/6325706cecdf0f1963928a6952eb8c49ba648cc75cb0db71e097449cfef9/npr-2.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc627a0ac365d064079da0a81cab8ed2", "sha256": "7c8e4a5ccac82f609295d03649a96df11ad4fc67f8417123c9e40f0099e0f16c" }, "downloads": -1, "filename": "npr-2.3.0.tar.gz", "has_sig": false, "md5_digest": "fc627a0ac365d064079da0a81cab8ed2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9381, "upload_time": "2018-06-08T19:26:49", "url": "https://files.pythonhosted.org/packages/9a/04/ee3cf93049cb178e4de93633fe989405ba06f8e85ed8a092b15a8f28fba0/npr-2.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6ad6ba6eacb2bfc36b5f186a0f0fb194", "sha256": "ce538d9f18585f9e98d2e4a467d1f6f7a0d0ab0fdefcd6a1ba5f22fd7a3251d3" }, "downloads": -1, "filename": "npr-2.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6ad6ba6eacb2bfc36b5f186a0f0fb194", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12884, "upload_time": "2018-06-08T19:26:47", "url": "https://files.pythonhosted.org/packages/83/54/6325706cecdf0f1963928a6952eb8c49ba648cc75cb0db71e097449cfef9/npr-2.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc627a0ac365d064079da0a81cab8ed2", "sha256": "7c8e4a5ccac82f609295d03649a96df11ad4fc67f8417123c9e40f0099e0f16c" }, "downloads": -1, "filename": "npr-2.3.0.tar.gz", "has_sig": false, "md5_digest": "fc627a0ac365d064079da0a81cab8ed2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9381, "upload_time": "2018-06-08T19:26:49", "url": "https://files.pythonhosted.org/packages/9a/04/ee3cf93049cb178e4de93633fe989405ba06f8e85ed8a092b15a8f28fba0/npr-2.3.0.tar.gz" } ] }