{ "info": { "author": "Shekhar Tiwatne", "author_email": "pythonic@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3" ], "description": "Portale\n=======\n\nPortale is minimalistic requests based HTTP/REST API client. \n\nAdvantage over other libraries: Allows different cache timeout policy for each API\n\nSimple example\n--------------\n\n.. code-block:: python\n\n from portale import PrefixedURLSession\n\n session = PrefixedURLSession('https://httpbin.org/')\n\n get_thing = session.GETRequest('anything?thing={0}', cache_ttl=10)\n thing = get_thing('snake')\n\n get_thing_by_name = session.GETRequest('anything?thing={name}', cache_ttl=10)\n thing = get_thing_by_name(name='snake')\n\n long_request = session.GETJSONRequest('delay/{n}', cache_ttl=20)\n result1 = long_request(n=2).json()\n result2 = long_request(n=2).json() # cached response\n\n\nCache \n-----\n \n\n`cache_ttl` if not specified in Request initialization, session's cache_ttl is used as default cache_ttl for all the APIs using same session.\n\n.. code-block:: python\n\n from portale import PrefixedURLSession\n\n session = PrefixedURLSession('https://httpbin.org/', cache_ttl=10)\n get_thing = session.GETRequest('anything?thing={0}')\n long_request = session.GETJSONRequest('delay/{n}')\n\n\nBusting cache\n\n.. code-block:: python\n\n long_request.cache.bust(n=n)\n\nAccess cache metrics\n\n.. code-block:: python\n\n print(long_request.cache.metrics)\n\n\nTests\n-----\n\n.. code-block:: python\n\n nosetests -xv tests.py\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/portale/", "keywords": "", "license": "http://www.opensource.org/licenses/mit-license.php", "maintainer": "", "maintainer_email": "", "name": "portale", "package_url": "https://pypi.org/project/portale/", "platform": "", "project_url": "https://pypi.org/project/portale/", "project_urls": { "Homepage": "http://pypi.python.org/pypi/portale/" }, "release_url": "https://pypi.org/project/portale/0.9.2/", "requires_dist": null, "requires_python": "", "summary": "Requests based HTTP/REST API client with flexible cache support", "version": "0.9.2" }, "last_serial": 5566900, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "c30ade307b4882717cf60875dfda03a2", "sha256": "81650f8ae3ddd0311d452765a9384622c8bc492f6e01116ea71fdfe9a00c769e" }, "downloads": -1, "filename": "portale-0.5.tar.gz", "has_sig": false, "md5_digest": "c30ade307b4882717cf60875dfda03a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2300, "upload_time": "2018-04-28T07:09:50", "url": "https://files.pythonhosted.org/packages/0c/20/c26a56692305e4e8565de3b167c350f5507b4935d3829d117c6a1efef828/portale-0.5.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "2148a98350ecb6f29be3ee2aa60841c0", "sha256": "07e4f878679c2e3966f84b7a48e2821addf421ead2d09afacbd175aec00f3591" }, "downloads": -1, "filename": "portale-0.7.tar.gz", "has_sig": false, "md5_digest": "2148a98350ecb6f29be3ee2aa60841c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2323, "upload_time": "2018-04-28T19:37:24", "url": "https://files.pythonhosted.org/packages/f8/58/9c6bd94522ba0934d9a118f37927398660d637593d62fd16d56e3e55a3b8/portale-0.7.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "da07d97ad986bd116fc0d89f15821728", "sha256": "f9494074c1feffb148fb7c1f83d7f1aa69d30e66f38af51c4e63d729c6fe5879" }, "downloads": -1, "filename": "portale-0.7.1.tar.gz", "has_sig": false, "md5_digest": "da07d97ad986bd116fc0d89f15821728", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2313, "upload_time": "2018-04-28T19:55:13", "url": "https://files.pythonhosted.org/packages/1c/94/b5ff09ce5c81f7885959296283812430a4d4f0b466d729060b41726e8cc5/portale-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "da9e33fbc04eb995f00e682541e5a960", "sha256": "ee823e3164e762a29c4fd4e008fda85df4571506cf855cd126b0f54c6dbdcfd2" }, "downloads": -1, "filename": "portale-0.7.2.tar.gz", "has_sig": false, "md5_digest": "da9e33fbc04eb995f00e682541e5a960", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2467, "upload_time": "2018-06-06T04:47:39", "url": "https://files.pythonhosted.org/packages/ea/41/e8017d0a9bd4620d967a391b72b9896c6815c2b32c22695561420fd87d99/portale-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "6b7fb318fc71be7efe55743cd57d02cd", "sha256": "c6df2a0cf2457a8173631793ea90f4669c0c84d84943bdecaae24b6b73f55a58" }, "downloads": -1, "filename": "portale-0.7.3.tar.gz", "has_sig": false, "md5_digest": "6b7fb318fc71be7efe55743cd57d02cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2802, "upload_time": "2018-06-22T07:44:19", "url": "https://files.pythonhosted.org/packages/d2/d2/2865c66f8fa19b256c548908ad30639d9f20893a6a1db325c528ababa5df/portale-0.7.3.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "60dc93b2b11dbff0f9fe4971180d39f5", "sha256": "6ec3b4737a0488b502594e6aa845c99be9f3e175dfaaa75bb1f50202bf9edcbf" }, "downloads": -1, "filename": "portale-0.8.0.tar.gz", "has_sig": false, "md5_digest": "60dc93b2b11dbff0f9fe4971180d39f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2636, "upload_time": "2018-06-22T19:24:14", "url": "https://files.pythonhosted.org/packages/f0/29/ed203fc301386fbcbbe5f267a4e58609cdc127ce921d9a7d0ee2d4fca794/portale-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "6eec916e3794a80d7aa24a191d16cb4a", "sha256": "3750fc6297dccb9c5d41dfa60b64eb3cc7bf012092113836aa8a2e254ab0adb4" }, "downloads": -1, "filename": "portale-0.9.0.tar.gz", "has_sig": false, "md5_digest": "6eec916e3794a80d7aa24a191d16cb4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2520, "upload_time": "2018-10-19T17:12:16", "url": "https://files.pythonhosted.org/packages/ce/f8/a11cd2bef9079eb45748259068d60a3c60c6a5e4505d79f552845fb48ae6/portale-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "f8c31f462aa9238551149ec2f3f8d96b", "sha256": "023b8d419739d57db2785f31adca3fd0b637e9c6d80d405503886fa24398578f" }, "downloads": -1, "filename": "portale-0.9.1.tar.gz", "has_sig": false, "md5_digest": "f8c31f462aa9238551149ec2f3f8d96b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2555, "upload_time": "2019-01-01T05:13:55", "url": "https://files.pythonhosted.org/packages/e4/2b/91dc49c12335937494a33e55b9054fe55486595e0b2a3ccb2cf210d7a2f4/portale-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "f489018ba30af4f9df4d4ccb68796783", "sha256": "686bf9c15c062d70465c7b3cea89bacfe66e9ed889e2d9645e7bb8602c714a9d" }, "downloads": -1, "filename": "portale-0.9.2.tar.gz", "has_sig": false, "md5_digest": "f489018ba30af4f9df4d4ccb68796783", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2575, "upload_time": "2019-07-22T11:19:59", "url": "https://files.pythonhosted.org/packages/36/b5/aef93606f66d9a9ff3d62c5bbe85825896368da7b169d16459aa3d7ea933/portale-0.9.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f489018ba30af4f9df4d4ccb68796783", "sha256": "686bf9c15c062d70465c7b3cea89bacfe66e9ed889e2d9645e7bb8602c714a9d" }, "downloads": -1, "filename": "portale-0.9.2.tar.gz", "has_sig": false, "md5_digest": "f489018ba30af4f9df4d4ccb68796783", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2575, "upload_time": "2019-07-22T11:19:59", "url": "https://files.pythonhosted.org/packages/36/b5/aef93606f66d9a9ff3d62c5bbe85825896368da7b169d16459aa3d7ea933/portale-0.9.2.tar.gz" } ] }