{
"info": {
"author": "P. Raj Kumar",
"author_email": "raj.pritvi.kumar@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"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",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy"
],
"description": "Uplink\n******\n|PyPI Version| |Build Status| |Coverage Status| |Code Climate| |Documentation Status|\n|Gitter| |Code Style|\n\n- Builds Reusable Objects for Consuming Web APIs.\n- Works with **Requests**, **aiohttp**, and **Twisted**.\n- Inspired by `Retrofit `__.\n\nA Quick Walkthrough, with GitHub API v3\n=======================================\nUplink turns your HTTP API into a Python class.\n\n.. code-block:: python\n\n from uplink import Consumer, get, Path, Query\n\n\n class GitHub(Consumer):\n \"\"\"A Python Client for the GitHub API.\"\"\"\n\n @get(\"users/{user}/repos\")\n def get_repos(self, user: Path, sort_by: Query(\"sort\")):\n \"\"\"Retrieves the user's public repositories.\"\"\"\n\nBuild an instance to interact with the webservice.\n\n.. code-block:: python\n\n github = GitHub(base_url=\"https://api.github.com/\")\n\nThen, executing an HTTP request is as simply as invoking a method.\n\n.. code-block:: python\n\n repos = github.get_repos(user=\"octocat\", sort_by=\"created\")\n\nThe returned object is a friendly |requests.Response|_:\n\n.. |requests.Response| replace:: ``requests.Response``\n.. _requests.Response: http://docs.python-requests.org/en/master/api/#requests.Response\n\n.. code-block:: python\n\n print(repos.json())\n # Output: [{'id': 64778136, 'name': 'linguist', ...\n\nFor sending non-blocking requests, Uplink comes with support for\n|aiohttp and twisted|_.\n\n.. |aiohttp and twisted| replace:: ``aiohttp`` and ``twisted``\n.. _`aiohttp and twisted`: https://github.com/prkumar/uplink/tree/master/examples/async-requests\n\nReady to launch your first API client with Uplink? Start with this `quick tutorial`_!\n\nFeatures\n========\n\n- **Quickly Define Structured API Clients**\n\n - Use decorators and type hints to describe each HTTP request\n - JSON, URL-encoded, and multipart request body and file upload\n - URL parameter replacement, request headers, and query parameter support\n\n- **Bring Your Own HTTP Library**\n\n - `Non-blocking I/O support`_ for Aiohttp and Twisted\n - `Supply your own session`_ (e.g., ``requests.Session``) for greater control\n\n- **Easy and Transparent Deserialization/Serialization**\n\n - Define `custom converters`_ for your own objects\n - Support for |marshmallow|_ schemas and `handling collections`_ (e.g., list of Users)\n\n- **Extendable**\n\n - Install optional plugins for additional features (e.g., `protobuf support`_)\n - Compose `custom response and error handling`_ functions as middleware\n\n- **Authentication**\n\n - Built-in support for `Basic Authentication`_\n - Use existing auth libraries for supported clients (e.g., |requests-oauthlib|_)\n\nUplink officially supports Python 2.7 & 3.3-3.7.\n\n.. |marshmallow| replace:: ``marshmallow``\n.. |requests-oauthlib| replace:: ``requests-oauthlib``\n.. _`Non-blocking I/O support`: https://github.com/prkumar/uplink/tree/master/examples/async-requests\n.. _`Supply your own session`: https://uplink.readthedocs.io/en/latest/user/clients.html#swapping-out-the-default-http-session\n.. _`marshmallow`: https://github.com/prkumar/uplink/tree/master/examples/marshmallow\n.. _`custom converters`: https://uplink.readthedocs.io/en/latest/user/serialization.html#custom-json-deserialization\n.. _`handling collections`: https://uplink.readthedocs.io/en/latest/user/serialization.html#converting-collections\n.. _`custom response and error handling`: https://uplink.readthedocs.io/en/latest/user/quickstart.html#response-and-error-handling\n.. _`protobuf support`: https://github.com/prkumar/uplink-protobuf\n.. _`requests-oauthlib`: https://github.com/requests/requests-oauthlib\n.. _`Basic Authentication`: https://uplink.readthedocs.io/en/latest/user/auth.html#basic-authentication\n\nInstallation\n============\n\nTo install the latest stable release, you can use ``pip`` (or ``pipenv``):\n\n::\n\n $ pip install -U uplink\n\nIf you are interested in the cutting-edge, preview the upcoming release with:\n\n::\n\n $ pip install https://github.com/prkumar/uplink/archive/master.zip\n\nExtra! Extra!\n-------------\n\nFurther, uplink has optional integrations and features. You can view a full list \nof available extras `here `_.\n\nWhen installing Uplink with ``pip``, you can select extras using the format:\n\n::\n\n $ pip install -U uplink[extra1, extra2, ..., extraN]\n\n\nFor instance, to install ``aiohttp`` and ``marshmallow`` support:\n\n::\n\n $ pip install -U uplink[aiohttp, marshmallow]\n\n\nUser Testimonials\n=================\n\n**Michael Kennedy** (`@mkennedy`_), host of `Talk Python`_ and `Python Bytes`_ podcasts-\n\n Of course our first reaction when consuming HTTP resources in Python is to\n reach for Requests. But for *structured* APIs, we often want more than ad-hoc\n calls to Requests. We want a client-side API for our apps. Uplink is\n the quickest and simplest way to build just that client-side API.\n Highly recommended.\n\n.. _@mkennedy: https://twitter.com/mkennedy\n.. _`Talk Python`: https://twitter.com/TalkPython\n.. _`Python Bytes`: https://twitter.com/pythonbytes\n\n**Or Carmi** (`@liiight`_), notifiers_ maintainer-\n\n Uplink's intelligent usage of decorators and typing leverages the most\n pythonic features in an elegant and dynamic way. If you need to create an\n API abstraction layer, there is really no reason to look elsewhere.\n\n.. _@liiight: https://github.com/liiight\n.. _notifiers: https://github.com/notifiers/notifiers\n\n\nDocumentation\n=============\n\nCheck out the library's documentation at https://uplink.readthedocs.io/.\n\nFor new users, a good place to start is this `quick tutorial`_.\n\n\nCommunity\n=========\n\nJoin the conversation on `Gitter`_ to ask questions, provide feedback,\nand meet other users!\n\n.. _Gitter: https://gitter.im/python-uplink/Lobby\n\n\nContributing\n============\n\nWant to report a bug, request a feature, or contribute code to Uplink?\nCheckout the `Contribution Guide`_ for where to start.\nThank you for taking the time to improve an open source project :purple_heart:\n\n.. |Build Status| image:: https://travis-ci.org/prkumar/uplink.svg?branch=master\n :target: https://travis-ci.org/prkumar/uplink\n.. |Code Climate| image:: https://api.codeclimate.com/v1/badges/d5c5666134763ff1d6c0/maintainability\n :target: https://codeclimate.com/github/prkumar/uplink/maintainability\n :alt: Maintainability\n.. |Code Style| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/ambv/black\n :alt: Code style: black\n.. |Coverage Status| image:: https://img.shields.io/codecov/c/github/prkumar/uplink.svg \n :alt: Codecov \n :target: https://codecov.io/gh/prkumar/uplink\n.. |Documentation Status| image:: https://readthedocs.org/projects/uplink/badge/?version=latest\n :target: http://uplink.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n.. |Gitter| image:: https://badges.gitter.im/python-uplink/Lobby.svg\n :target: https://gitter.im/python-uplink/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n :alt: Join the chat at https://gitter.im/python-uplink/Lobby\n.. |License| image:: https://img.shields.io/github/license/prkumar/uplink.svg\n :target: https://github.com/prkumar/uplink/blob/master/LICENSE\n.. |PyPI Version| image:: https://img.shields.io/pypi/v/uplink.svg\n :target: https://pypi.python.org/pypi/uplink\n\n.. _`Contribution Guide`: https://github.com/prkumar/uplink/blob/master/CONTRIBUTING.rst\n.. _`quick tutorial`: https://uplink.readthedocs.io/en/latest/user/quickstart.html\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://uplink.readthedocs.io/",
"keywords": "http api rest client retrofit",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "uplink",
"package_url": "https://pypi.org/project/uplink/",
"platform": "",
"project_url": "https://pypi.org/project/uplink/",
"project_urls": {
"Homepage": "https://uplink.readthedocs.io/"
},
"release_url": "https://pypi.org/project/uplink/0.9.0/",
"requires_dist": [
"requests (>=2.18.0)",
"six (>=1.12.0)",
"uritemplate (>=3.0.0)",
"aiohttp (>=2.3.0) ; (python_version >= '3.4') and extra == 'aiohttp'",
"marshmallow (>=2.15.0) ; extra == 'marshmallow'",
"pytest (<4.1) ; extra == 'tests'",
"pytest-mock ; extra == 'tests'",
"pytest-cov ; extra == 'tests'",
"pytest-twisted ; extra == 'tests'",
"twisted (>=17.1.0) ; (python_version != '3.3') and extra == 'twisted'",
"twisted (<=17.9.0) ; (python_version == '3.3') and extra == 'twisted'",
"typing (>=3.6.4) ; extra == 'typing'"
],
"requires_python": "",
"summary": "A Declarative HTTP Client for Python.",
"version": "0.9.0"
},
"last_serial": 5365648,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "de4676045acb18872ba83db0ac75c899",
"sha256": "86479d00ee48b4b2cd4efd1cbb7de2b6951d8dbbf32945750d02650cc2869b60"
},
"downloads": -1,
"filename": "uplink-0.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "de4676045acb18872ba83db0ac75c899",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 18265,
"upload_time": "2017-10-20T03:45:14",
"url": "https://files.pythonhosted.org/packages/59/d8/2b9aefccc96836d0a46b55951e5988fce33a3a82e6d3f58554524331dbc3/uplink-0.1.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e7ba277271cd2b1fe6e483a1598dd4bd",
"sha256": "fe441af156260f875a00acabd082a3360709b3c3eef4b26297872afe725e41b1"
},
"downloads": -1,
"filename": "uplink-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "e7ba277271cd2b1fe6e483a1598dd4bd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 18974,
"upload_time": "2017-10-20T03:45:15",
"url": "https://files.pythonhosted.org/packages/27/b2/9378e56b228d2db664f3989ed937dba7967300128b44d114c063bbfd0562/uplink-0.1.0.tar.gz"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "0460ef73209afc91c3a04c797ebbdaaa",
"sha256": "14db2f6b8a8685edd238e2a080963f81c44a6838781411d19ba4886000cbdd89"
},
"downloads": -1,
"filename": "uplink-0.1.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "0460ef73209afc91c3a04c797ebbdaaa",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 18657,
"upload_time": "2017-10-23T06:33:17",
"url": "https://files.pythonhosted.org/packages/06/c9/c364d22de314963f92dbb189b0dfd9f66cc20553c8be1a51639a18d2a544/uplink-0.1.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "58e760a3e0f972d69a7b6c56b43ecfa3",
"sha256": "4647ca132adafbd7cbe70c7f02161123d682bfaa0f7ca9c27d5edf18f9615696"
},
"downloads": -1,
"filename": "uplink-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "58e760a3e0f972d69a7b6c56b43ecfa3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19428,
"upload_time": "2017-10-23T06:33:18",
"url": "https://files.pythonhosted.org/packages/5d/a0/300d1d4ce660cdb51b44690658b148eb97f280833aec27617d8be9c510a3/uplink-0.1.1.tar.gz"
}
],
"0.2.0.post1": [
{
"comment_text": "",
"digests": {
"md5": "70974fb9f5186029f0dc787b12b727e0",
"sha256": "f8a284ca13f6ee55c6d514ef9e0cfcbfec07016711decdc8e459dde3c2f6747c"
},
"downloads": -1,
"filename": "uplink-0.2.0.post1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "70974fb9f5186029f0dc787b12b727e0",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 21916,
"upload_time": "2017-11-04T08:32:59",
"url": "https://files.pythonhosted.org/packages/27/da/6c1a29185b027f72a94525d5245ab1e805b73036df2639a359cc0af93c5d/uplink-0.2.0.post1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "eed9815563f3c1b68f97266bbb4a40de",
"sha256": "6b27c1858272aba2936222885abe14c897795b1a7469b2f2a231a35954f1ca1d"
},
"downloads": -1,
"filename": "uplink-0.2.0.post1.tar.gz",
"has_sig": false,
"md5_digest": "eed9815563f3c1b68f97266bbb4a40de",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21765,
"upload_time": "2017-11-04T08:33:00",
"url": "https://files.pythonhosted.org/packages/8a/d0/f97da6f56aa7fd215da88c20b4a0270837a862d1cbb34fde738454c5f76c/uplink-0.2.0.post1.tar.gz"
}
],
"0.2.0.post2": [
{
"comment_text": "",
"digests": {
"md5": "1afb7f573368f9efe240458268d463ab",
"sha256": "140ceeb410a825bd1ed2c9e09fc5e9a989fa89c18f4085ae2f29769e761fab1e"
},
"downloads": -1,
"filename": "uplink-0.2.0.post2-py2-none-any.whl",
"has_sig": false,
"md5_digest": "1afb7f573368f9efe240458268d463ab",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 21861,
"upload_time": "2017-11-04T09:14:50",
"url": "https://files.pythonhosted.org/packages/2d/df/3bd70e4225b9c4953e12c0dacd7297b8c9a8a12c114fa5126deb0c404470/uplink-0.2.0.post2-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "90a65dceedfb9f7571da7753df7620bb",
"sha256": "bd1bdce5ad1fa0551c1482313c21c14eb28e5880ac6414cd00450c095783c884"
},
"downloads": -1,
"filename": "uplink-0.2.0.post2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "90a65dceedfb9f7571da7753df7620bb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 21862,
"upload_time": "2017-11-04T09:15:18",
"url": "https://files.pythonhosted.org/packages/4f/fb/7b74bae3c22e898c1b57d75abac8ab432e514fe15c2ca8b47678c810a2ea/uplink-0.2.0.post2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5bd3ad561cd68eec1296fd74e10ce55b",
"sha256": "14a485826326f658b27c9da529b9d071ef05f707c157cf4936a24793d3d55b32"
},
"downloads": -1,
"filename": "uplink-0.2.0.post2.tar.gz",
"has_sig": false,
"md5_digest": "5bd3ad561cd68eec1296fd74e10ce55b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21724,
"upload_time": "2017-11-04T09:14:51",
"url": "https://files.pythonhosted.org/packages/c4/18/06e4c9c87745ef861288473df4086fa24ae8be6a29332ad02c5d799adf59/uplink-0.2.0.post2.tar.gz"
}
],
"0.2.0.post3": [
{
"comment_text": "",
"digests": {
"md5": "18ecb57f36d73329fed5d47d2dcfe712",
"sha256": "7b785102efd6c2eb1878a3927ab80314b34644d6b5acb08e1bfcc72bf179bc3c"
},
"downloads": -1,
"filename": "uplink-0.2.0.post3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "18ecb57f36d73329fed5d47d2dcfe712",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 21962,
"upload_time": "2017-11-04T17:48:30",
"url": "https://files.pythonhosted.org/packages/6e/7c/f029924abe066b44f5e27770b1df254f790ec7b900f4b0c052f71730bb70/uplink-0.2.0.post3-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "07f166243842ddab6c8c25c5765fca07",
"sha256": "38bd569f29b431bd3da53fae6ce8b38c0a2331dfed4d19ba48003c2c43c455c5"
},
"downloads": -1,
"filename": "uplink-0.2.0.post3.tar.gz",
"has_sig": false,
"md5_digest": "07f166243842ddab6c8c25c5765fca07",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21777,
"upload_time": "2017-11-04T17:48:31",
"url": "https://files.pythonhosted.org/packages/78/a2/b41e8e0a34c386eb0e66799960e04f632fc001704156147b9d9ed2eb1614/uplink-0.2.0.post3.tar.gz"
}
],
"0.2.2": [
{
"comment_text": "",
"digests": {
"md5": "a94cf44c6afe7d966afe4ab8f230302b",
"sha256": "1a626021f35745774d999d907a8bfe25cbf1052e6c47ee99438c0d9b6342ee36"
},
"downloads": -1,
"filename": "uplink-0.2.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "a94cf44c6afe7d966afe4ab8f230302b",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 21868,
"upload_time": "2017-11-23T06:31:01",
"url": "https://files.pythonhosted.org/packages/15/77/5e125522ab99e9d663a5017ea46519a26e8c845771acc55d5d3c8c000c41/uplink-0.2.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "3853d620cde9d0ef0ca26ff425b83349",
"sha256": "40789946e790e73f97023fee61a94681d633c652aef9e8d40c9451b792b0a60e"
},
"downloads": -1,
"filename": "uplink-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "3853d620cde9d0ef0ca26ff425b83349",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21891,
"upload_time": "2017-11-23T06:31:03",
"url": "https://files.pythonhosted.org/packages/93/c8/ba94dc526c9371d55ed59ff6ec45f623800eb12c766893e74e53c3bfd73b/uplink-0.2.2.tar.gz"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "1556d8128a332b1d51c035077faaf1eb",
"sha256": "79399286440f35b5886b0f269969110389a0e95af7f9c4bfc30878e3f1717c6d"
},
"downloads": -1,
"filename": "uplink-0.3.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "1556d8128a332b1d51c035077faaf1eb",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 30954,
"upload_time": "2018-01-10T04:28:09",
"url": "https://files.pythonhosted.org/packages/99/be/436bec2e671d0e8f884fbf6b4aa5d5d48863a678afaab2f06488c44effcb/uplink-0.3.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "08a7bac024391dbd0e35f5c10313b751",
"sha256": "417dda51ca19e2d8ac54486efbdf36d8d3fc7089372bde59edf723b38790c195"
},
"downloads": -1,
"filename": "uplink-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "08a7bac024391dbd0e35f5c10313b751",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30656,
"upload_time": "2018-01-10T04:28:12",
"url": "https://files.pythonhosted.org/packages/9b/1a/87c13733287b17af1ef9da6c2a82565d581184359935844ed2d61d8be975/uplink-0.3.0.tar.gz"
}
],
"0.4.0": [
{
"comment_text": "",
"digests": {
"md5": "c2eb305378b34ffcb6c40709140e155f",
"sha256": "92e12af0e639be4f53380ce8a34d6abcd7e537a391db2f80e314021b09d56bd3"
},
"downloads": -1,
"filename": "uplink-0.4.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "c2eb305378b34ffcb6c40709140e155f",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 34202,
"upload_time": "2018-02-10T07:38:18",
"url": "https://files.pythonhosted.org/packages/f4/cf/636dc8bceda8db517bce5366510b11ac08ff3815e4578fac2bfeeafa6053/uplink-0.4.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6831efadfc18d34c87a8b1cc60cf55e8",
"sha256": "7683d16963e31ed8b1d44ebcf03375a36593ffee3cfd16898aac7212cd6451c6"
},
"downloads": -1,
"filename": "uplink-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "6831efadfc18d34c87a8b1cc60cf55e8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 35007,
"upload_time": "2018-02-10T07:38:19",
"url": "https://files.pythonhosted.org/packages/77/af/8bd5795dacba2620b3a33c73feb1613b69e59382b934898c4da97dd227c1/uplink-0.4.0.tar.gz"
}
],
"0.4.1": [
{
"comment_text": "",
"digests": {
"md5": "acc1fa2db3c13a214c9288b76f63eabc",
"sha256": "7d985886c806ad353e833c529b2e1158ff94ea38a4b7535c262e7345245a82ee"
},
"downloads": -1,
"filename": "uplink-0.4.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "acc1fa2db3c13a214c9288b76f63eabc",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 34262,
"upload_time": "2018-03-09T05:47:54",
"url": "https://files.pythonhosted.org/packages/b0/c4/ce98f87472a03eb693efce824615068e2f43d6e3e26a889cf259fd98563e/uplink-0.4.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "08475e740412cc7e4ee015a9a5a5c566",
"sha256": "eebfd59035a06539db008ca05eb262ce0a78e6c86a51f6cd10f3a645ebbf285c"
},
"downloads": -1,
"filename": "uplink-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "08475e740412cc7e4ee015a9a5a5c566",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 25137,
"upload_time": "2018-03-09T05:47:55",
"url": "https://files.pythonhosted.org/packages/b3/8a/af368c75d759710db4b80058b7c447cbaca6b2e6c3c5d1c7fa25b84e1697/uplink-0.4.1.tar.gz"
}
],
"0.5.0": [
{
"comment_text": "",
"digests": {
"md5": "2bc8a48d07bbf7cc5ebf927493723704",
"sha256": "0d1187b9cb349af5fceaa9e7e531d9322e1495b60c57200d2be3ccec3937eeed"
},
"downloads": -1,
"filename": "uplink-0.5.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "2bc8a48d07bbf7cc5ebf927493723704",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 39355,
"upload_time": "2018-04-07T02:30:12",
"url": "https://files.pythonhosted.org/packages/f2/34/71f2c5f23328778b94cf69e774be0bb27448bab8e6f1f499ff1fdff9601c/uplink-0.5.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6cc62cfc20366a4b22ba16fc44fdbc12",
"sha256": "3e1f5788d4f0ba352e1e54743466ecf9f91c01182db9989c8ba53c4de11c853b"
},
"downloads": -1,
"filename": "uplink-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "6cc62cfc20366a4b22ba16fc44fdbc12",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30347,
"upload_time": "2018-04-07T02:30:13",
"url": "https://files.pythonhosted.org/packages/f1/f0/9b60136625041fa548dab0ca55390376e8814b2092dbcdafdff6382b008e/uplink-0.5.0.tar.gz"
}
],
"0.5.1": [
{
"comment_text": "",
"digests": {
"md5": "bbbba07b061de20a7e011643c2a3b90f",
"sha256": "4380395535d89364b6083a22be1f200638ee907bd2876eea4ba75c872bfa94fd"
},
"downloads": -1,
"filename": "uplink-0.5.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "bbbba07b061de20a7e011643c2a3b90f",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 39618,
"upload_time": "2018-04-10T07:21:18",
"url": "https://files.pythonhosted.org/packages/4d/6d/c006725cd9e216ea413f5d38ebf2415d22b7f8d37fc1cade34260cab5650/uplink-0.5.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "402a77f0ba6b97740fba2d7efebf9f33",
"sha256": "6b230e3d32985a784b52d23ce3e8ad06756c53c32a9e75abdc8247c0c3a2abe6"
},
"downloads": -1,
"filename": "uplink-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "402a77f0ba6b97740fba2d7efebf9f33",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30687,
"upload_time": "2018-04-10T07:21:19",
"url": "https://files.pythonhosted.org/packages/91/87/3bd18dfc1b50c3989855986a9a230f55d7e72fee2b24fafb25d5a3bad53d/uplink-0.5.1.tar.gz"
}
],
"0.5.2": [
{
"comment_text": "",
"digests": {
"md5": "58da0e7ae60eaab522462f23c4549bd9",
"sha256": "5eeaa62ecadc2fc88defaa51f451a0068d8516480fd0561a5ae055a167255b50"
},
"downloads": -1,
"filename": "uplink-0.5.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "58da0e7ae60eaab522462f23c4549bd9",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 39846,
"upload_time": "2018-05-30T22:13:07",
"url": "https://files.pythonhosted.org/packages/52/ee/493d256453a923f1e23daedd788eb4d75ee4ca40db7be2555e42c1c147f8/uplink-0.5.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "53b065b0b919dc822690e04726e434d2",
"sha256": "2c726424cfe3f5a0c33639cf585934566ec8fcce79d5bd964a9bde3a43f96c8d"
},
"downloads": -1,
"filename": "uplink-0.5.2.tar.gz",
"has_sig": false,
"md5_digest": "53b065b0b919dc822690e04726e434d2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30955,
"upload_time": "2018-05-30T22:13:08",
"url": "https://files.pythonhosted.org/packages/61/4e/012b9c795422e3f3a32223150321cbfd7e9125110c6ad2deb4c74aae42f2/uplink-0.5.2.tar.gz"
}
],
"0.5.3": [
{
"comment_text": "",
"digests": {
"md5": "d44328f414aa9163cf58cf82c21ecbb8",
"sha256": "4ae291e7267529aa483a538fac205fe77022712e21d4b413dfbc8d6b72393fa5"
},
"downloads": -1,
"filename": "uplink-0.5.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "d44328f414aa9163cf58cf82c21ecbb8",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 40218,
"upload_time": "2018-05-31T14:22:19",
"url": "https://files.pythonhosted.org/packages/3d/90/da7b5e7f122714dc34c1ec149f5aeb76c1f16e06ac9bdf826479bbb86568/uplink-0.5.3-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5a4691daa78a82d1fab69e2d9762d298",
"sha256": "2e4cce1fa501c0613d51d88cdc2dbe3b2630bcb7cdc454a698318f5802c34147"
},
"downloads": -1,
"filename": "uplink-0.5.3.tar.gz",
"has_sig": false,
"md5_digest": "5a4691daa78a82d1fab69e2d9762d298",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31395,
"upload_time": "2018-05-31T14:22:20",
"url": "https://files.pythonhosted.org/packages/d6/6a/334bc9e92260b8562f2800a5f6a4096dd55dee65a093995e979b4794f656/uplink-0.5.3.tar.gz"
}
],
"0.5.4": [
{
"comment_text": "",
"digests": {
"md5": "3df6a8e910d2a591f3b7becd116414ac",
"sha256": "1287bad4096c2cbf32018286b1dccb64c2f2ffbfdb2288711a5b42fc5e7bfa72"
},
"downloads": -1,
"filename": "uplink-0.5.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "3df6a8e910d2a591f3b7becd116414ac",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 40364,
"upload_time": "2018-06-26T19:41:31",
"url": "https://files.pythonhosted.org/packages/ec/39/ec86c4b26142939eb9ce99590a0177a6bfb305c8d1c9de718b63fde26190/uplink-0.5.4-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d9a86d0b78e0c4ef33ce4e51fba4c568",
"sha256": "4ba68a8f4972eeb3b5333109ec2926de5231c66f0144f8f3104a7025bc02d38c"
},
"downloads": -1,
"filename": "uplink-0.5.4.tar.gz",
"has_sig": false,
"md5_digest": "d9a86d0b78e0c4ef33ce4e51fba4c568",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31631,
"upload_time": "2018-06-26T19:41:32",
"url": "https://files.pythonhosted.org/packages/1c/e0/e29f590195ebf88f5fb72f4ddaa2a6a932d6c0adfdb8b324779af62280cc/uplink-0.5.4.tar.gz"
}
],
"0.5.5": [
{
"comment_text": "",
"digests": {
"md5": "34a5e4c472d98c140d85bfc80a90b5c7",
"sha256": "adb744219f6cb3176e1adefbfd858df1a0f9784919d9d95889d671ed786bd58b"
},
"downloads": -1,
"filename": "uplink-0.5.5-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "34a5e4c472d98c140d85bfc80a90b5c7",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 40382,
"upload_time": "2018-08-01T22:46:52",
"url": "https://files.pythonhosted.org/packages/6a/58/fdf773e039e5f45dd07b71c78d9865fcfc87cc1480eb95a55446e21c811b/uplink-0.5.5-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ecf636d23ee673cc257af555f74faef8",
"sha256": "73c84c7d4592ba8e73cbb5afea8539570267f6b37962b03603f5c0c7bfbe30d3"
},
"downloads": -1,
"filename": "uplink-0.5.5.tar.gz",
"has_sig": false,
"md5_digest": "ecf636d23ee673cc257af555f74faef8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31681,
"upload_time": "2018-08-01T22:46:53",
"url": "https://files.pythonhosted.org/packages/c6/d6/4fc4370344e3ca697a2b6448bd878c089fcf3249515e0625703615f97f54/uplink-0.5.5.tar.gz"
}
],
"0.6.0": [
{
"comment_text": "",
"digests": {
"md5": "b1b849e990a0b3515b945eabdb8e9f1b",
"sha256": "30886acd31080e6d7d666b4e16230a6dc6bb5f6fb615a21eb1e9fd96c81c5fe6"
},
"downloads": -1,
"filename": "uplink-0.6.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "b1b849e990a0b3515b945eabdb8e9f1b",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 44942,
"upload_time": "2018-09-11T17:18:01",
"url": "https://files.pythonhosted.org/packages/f9/07/4237c97e5a8e00a77cb395865703f8f320f533c0fde2784188e68c5ff8e0/uplink-0.6.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5ba6b16e7d9eeb142d985df2b956c78c",
"sha256": "0943dae7c0bdba0bae0b7f5177071a0ae225d52931af7354162a7243a908945f"
},
"downloads": -1,
"filename": "uplink-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "5ba6b16e7d9eeb142d985df2b956c78c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 49894,
"upload_time": "2018-09-11T17:18:03",
"url": "https://files.pythonhosted.org/packages/90/7a/f903ac0966934a7adb7a60a199cf20b313a850020d32b1c469ef83b494f7/uplink-0.6.0.tar.gz"
}
],
"0.6.1": [
{
"comment_text": "",
"digests": {
"md5": "7d8c3e65015079c3843fc2c17bec54c1",
"sha256": "9b64e9382925870df70adf30b29ec90a5437e4701a18485c72bb90a84081e9dd"
},
"downloads": -1,
"filename": "uplink-0.6.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "7d8c3e65015079c3843fc2c17bec54c1",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 44938,
"upload_time": "2018-09-15T04:06:01",
"url": "https://files.pythonhosted.org/packages/c2/3c/84da92f109aed0a304bf3270a22f52541bec1a6652d33fd42de2670a4e89/uplink-0.6.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c3f9c91749b5bab6721c043b97e1c44f",
"sha256": "8adba1dc99de88c4c773ad6b9d06891724e722170e2b948ee655be738963ea12"
},
"downloads": -1,
"filename": "uplink-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "c3f9c91749b5bab6721c043b97e1c44f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 50033,
"upload_time": "2018-09-15T04:06:02",
"url": "https://files.pythonhosted.org/packages/6a/19/eb0da0be23883ac1518a6374e49c73a3bba40b3c5ae73cc2461d0ad6eb7c/uplink-0.6.1.tar.gz"
}
],
"0.7.0": [
{
"comment_text": "",
"digests": {
"md5": "4fa40e365a67d0fc69ef6a4903564695",
"sha256": "e640c699dc808c352c14e226570fa223c39498b5134a1b6996b44a2d2b7f3340"
},
"downloads": -1,
"filename": "uplink-0.7.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "4fa40e365a67d0fc69ef6a4903564695",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 70415,
"upload_time": "2018-12-07T00:17:24",
"url": "https://files.pythonhosted.org/packages/6b/5f/ce266f4cf1a077bc70eebb6bfcaf3acd63a3ecaaa47db4fcb748c5b0dc30/uplink-0.7.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4e10af7e8df547d569bd09b8fe4da2ad",
"sha256": "852d1214a3912ca6a6e608034a3e5550257f35ecb4855ccb94e32646a00a5e01"
},
"downloads": -1,
"filename": "uplink-0.7.0.tar.gz",
"has_sig": false,
"md5_digest": "4e10af7e8df547d569bd09b8fe4da2ad",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 56775,
"upload_time": "2018-12-07T00:17:26",
"url": "https://files.pythonhosted.org/packages/a5/67/78a999926e3abdf64f272fb6828c364c54155a430c4571222cb76e22e26c/uplink-0.7.0.tar.gz"
}
],
"0.8.0.post0": [
{
"comment_text": "",
"digests": {
"md5": "433a14febb516ac5a6149f70afb4b488",
"sha256": "3bdba759b00b7ca5a61b720b90cdec7bce1478cc5084c160e9defbac27a541a4"
},
"downloads": -1,
"filename": "uplink-0.8.0.post0.tar.gz",
"has_sig": false,
"md5_digest": "433a14febb516ac5a6149f70afb4b488",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 69838,
"upload_time": "2019-02-16T18:39:50",
"url": "https://files.pythonhosted.org/packages/48/76/5afd12e5c3427e9a4b0a37cb2a1d051bb85f821285cfe2b11f5c228e2392/uplink-0.8.0.post0.tar.gz"
}
],
"0.8.0.post1": [
{
"comment_text": "",
"digests": {
"md5": "ed43be7b91a2985136354c7eac2c3fca",
"sha256": "b7cbba7453e8679ed8fa347b9d7fb2f1900c3308d6fa877bdd28b80bca5496d4"
},
"downloads": -1,
"filename": "uplink-0.8.0.post1.tar.gz",
"has_sig": false,
"md5_digest": "ed43be7b91a2985136354c7eac2c3fca",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 69875,
"upload_time": "2019-02-18T19:18:18",
"url": "https://files.pythonhosted.org/packages/b7/fe/d788e27632dda1d653379378ea0bcca253bff2dd28031df6170d52e4740a/uplink-0.8.0.post1.tar.gz"
}
],
"0.8.0.post2": [
{
"comment_text": "",
"digests": {
"md5": "8b834c127600ee4cf76c7601a304d8be",
"sha256": "ae571a4c14e4e0271ab85a1577b132f2282aaafc8158de1363bb806e9395b3ea"
},
"downloads": -1,
"filename": "uplink-0.8.0.post2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "8b834c127600ee4cf76c7601a304d8be",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 89857,
"upload_time": "2019-03-13T05:56:08",
"url": "https://files.pythonhosted.org/packages/f5/89/d0dedcd8f005b55dafc331b62abd811dccc25590025c278126a756d9fbdb/uplink-0.8.0.post2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "575cf08b6f517c2110b0f2958b3d9c58",
"sha256": "3b7e261c45ca1cee431d525e97b35af470c11a88f95e120e4a4b93165131b3f5"
},
"downloads": -1,
"filename": "uplink-0.8.0.post2.tar.gz",
"has_sig": false,
"md5_digest": "575cf08b6f517c2110b0f2958b3d9c58",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 69856,
"upload_time": "2019-03-13T05:56:09",
"url": "https://files.pythonhosted.org/packages/9f/46/985a23d70c57b3c6f3d9764d3bfaf059406ff510710efe22b70cd343a6b4/uplink-0.8.0.post2.tar.gz"
}
],
"0.8.0a0": [
{
"comment_text": "",
"digests": {
"md5": "423928bd181ec46b1615b4418a88aa56",
"sha256": "6370722add3a0ba4aae93f87f0bd00714645e651a9c38757451ea34561a00403"
},
"downloads": -1,
"filename": "uplink-0.8.0a0.tar.gz",
"has_sig": false,
"md5_digest": "423928bd181ec46b1615b4418a88aa56",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 56778,
"upload_time": "2018-12-08T01:03:11",
"url": "https://files.pythonhosted.org/packages/b8/e5/d9bd801fdbd85add51cf1171e696a7bf66a8c39c002546a5e3463c443258/uplink-0.8.0a0.tar.gz"
}
],
"0.8.0a1": [
{
"comment_text": "",
"digests": {
"md5": "a3900677a8c3733b593364c5357c0f0f",
"sha256": "831de2e6e59d10bce4550ae5ed31588a0ad8581258578792f5a2716e4d4090ce"
},
"downloads": -1,
"filename": "uplink-0.8.0a1.tar.gz",
"has_sig": false,
"md5_digest": "a3900677a8c3733b593364c5357c0f0f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 65660,
"upload_time": "2018-12-28T19:44:25",
"url": "https://files.pythonhosted.org/packages/a9/c6/e911e71e54a41e2923fd8fd04250d4da835b1d362dc08a2da06a247deb41/uplink-0.8.0a1.tar.gz"
}
],
"0.8.0a2": [
{
"comment_text": "",
"digests": {
"md5": "e419e72a61581f538e1f6aa5cc17b8a9",
"sha256": "1bc840116616797c812a5d99aa49c373547b59089a4cc986e542397f93b371b1"
},
"downloads": -1,
"filename": "uplink-0.8.0a2.tar.gz",
"has_sig": false,
"md5_digest": "e419e72a61581f538e1f6aa5cc17b8a9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 66557,
"upload_time": "2018-12-30T21:29:51",
"url": "https://files.pythonhosted.org/packages/fc/fc/2b9e20100ce343899d5fa9b0fc4f8c403c054e6422d3ae4044f3fa83fe85/uplink-0.8.0a2.tar.gz"
}
],
"0.9.0": [
{
"comment_text": "",
"digests": {
"md5": "cdbba0c801062bbe23f5b7cd78eab85e",
"sha256": "deea4a2ce3d0954553992efa1bcb2908d4bf73925a667cd994ecbf0fcde79afc"
},
"downloads": -1,
"filename": "uplink-0.9.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "cdbba0c801062bbe23f5b7cd78eab85e",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 95799,
"upload_time": "2019-06-06T06:17:40",
"url": "https://files.pythonhosted.org/packages/57/6c/526c8d2935090f20d00d579af6358935e4fe2fbd21c6b332631c56d6732a/uplink-0.9.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d6db619acde0b76a9053cc69f7f5dbdc",
"sha256": "22a427be09cc01e4da3ec7feb54e8611c63cf158870c4c43e148e1a196d13a9c"
},
"downloads": -1,
"filename": "uplink-0.9.0.tar.gz",
"has_sig": false,
"md5_digest": "d6db619acde0b76a9053cc69f7f5dbdc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 75456,
"upload_time": "2019-06-06T06:17:42",
"url": "https://files.pythonhosted.org/packages/41/d5/f39b61d8386cd17447f5622f3b3fedd6d8ad1181ac5d8b960113591ccbee/uplink-0.9.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "cdbba0c801062bbe23f5b7cd78eab85e",
"sha256": "deea4a2ce3d0954553992efa1bcb2908d4bf73925a667cd994ecbf0fcde79afc"
},
"downloads": -1,
"filename": "uplink-0.9.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "cdbba0c801062bbe23f5b7cd78eab85e",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 95799,
"upload_time": "2019-06-06T06:17:40",
"url": "https://files.pythonhosted.org/packages/57/6c/526c8d2935090f20d00d579af6358935e4fe2fbd21c6b332631c56d6732a/uplink-0.9.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d6db619acde0b76a9053cc69f7f5dbdc",
"sha256": "22a427be09cc01e4da3ec7feb54e8611c63cf158870c4c43e148e1a196d13a9c"
},
"downloads": -1,
"filename": "uplink-0.9.0.tar.gz",
"has_sig": false,
"md5_digest": "d6db619acde0b76a9053cc69f7f5dbdc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 75456,
"upload_time": "2019-06-06T06:17:42",
"url": "https://files.pythonhosted.org/packages/41/d5/f39b61d8386cd17447f5622f3b3fedd6d8ad1181ac5d8b960113591ccbee/uplink-0.9.0.tar.gz"
}
]
}