From e754125e6f7c12e3bee5824fb33eca10b03386ca Mon Sep 17 00:00:00 2001 From: Rahul Tiwari Date: Sat, 25 Feb 2023 16:19:39 +0530 Subject: [PATCH 1/3] tests(pypi): add tests for fetching package from pypi Signed-off-by: Rahul Tiwari --- internal/helper/gateway.go | 16 ++- pip/pipenv/handler.go | 4 +- pip/testdata/requests_pypi_data.json | 1 + pip/worker/decoder.go | 38 +++---- pip/worker/pypi.go | 143 ++++++++++++++------------- pip/worker/pypi_test.go | 48 +++++++++ 6 files changed, 161 insertions(+), 89 deletions(-) create mode 100644 pip/testdata/requests_pypi_data.json create mode 100644 pip/worker/pypi_test.go diff --git a/internal/helper/gateway.go b/internal/helper/gateway.go index b82e42a..24677ed 100644 --- a/internal/helper/gateway.go +++ b/internal/helper/gateway.go @@ -9,16 +9,18 @@ import ( ) type Client struct { - HTTP *http.Client + HTTP *http.Client + BaseURL string } // NewClient // todo: complete proper client settings -func NewClient() *Client { +func NewClient(baseURL string) *Client { return &Client{ HTTP: &http.Client{ Timeout: time.Second * 5, }, + BaseURL: baseURL, } } @@ -42,3 +44,13 @@ func (c *Client) CheckURL(url string) bool { return r.StatusCode == http.StatusOK } + +// Get makes a GET request to the specified url and returns the response. +func (c *Client) Get(url string) (*http.Response, error) { + r, err := c.HTTP.Get(url) + if err != nil { + return nil, err + } + + return r, nil +} diff --git a/pip/pipenv/handler.go b/pip/pipenv/handler.go index 32843a4..7fc7ed2 100644 --- a/pip/pipenv/handler.go +++ b/pip/pipenv/handler.go @@ -20,6 +20,7 @@ const ( placeholderPkgName = "{PACKAGE}" packageSrcLocation = "/src/" packageSiteLocation = "/site-packages" + pypiURL = "https://pypi.org" ) var ( @@ -113,7 +114,8 @@ func (m *PipEnv) ListUsedModules(path string) ([]meta.Package, error) { return m.allModules, errFailedToConvertModules } - decoder := worker.NewMetadataDecoder(m.GetPackageDetails) + pypiDataFactory := worker.NewPypiPackageDataFactory(helper.NewClient(pypiURL)) + decoder := worker.NewMetadataDecoder(m.GetPackageDetails, pypiDataFactory) metainfo, err := decoder.ConvertMetadataToModules(m.pkgs, &m.allModules) if err != nil { return m.allModules, err diff --git a/pip/testdata/requests_pypi_data.json b/pip/testdata/requests_pypi_data.json new file mode 100644 index 0000000..6bfa94c --- /dev/null +++ b/pip/testdata/requests_pypi_data.json @@ -0,0 +1 @@ +{"info":{"author":"Kenneth Reitz","author_email":"me@kennethreitz.org","bugtrack_url":null,"classifiers":["Development Status :: 5 - Production/Stable","Environment :: Web Environment","Intended Audience :: Developers","License :: OSI Approved :: Apache Software License","Natural Language :: English","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Python :: Implementation :: PyPy","Topic :: Internet :: WWW/HTTP","Topic :: Software Development :: Libraries"],"description":"# Requests\n\n**Requests** is a simple, yet elegant, HTTP library.\n\n```python\n>>> import requests\n>>> r = requests.get('https://httpbin.org/basic-auth/user/pass', auth=('user', 'pass'))\n>>> r.status_code\n200\n>>> r.headers['content-type']\n'application/json; charset=utf8'\n>>> r.encoding\n'utf-8'\n>>> r.text\n'{\"authenticated\": true, ...'\n>>> r.json()\n{'authenticated': True, ...}\n```\n\nRequests allows you to send HTTP/1.1 requests extremely easily. There’s no need to manually add query strings to your URLs, or to form-encode your `PUT` & `POST` data — but nowadays, just use the `json` method!\n\nRequests is one of the most downloaded Python packages today, pulling in around `30M downloads / week`— according to GitHub, Requests is currently [depended upon](https://github.com/psf/requests/network/dependents?package_id=UGFja2FnZS01NzA4OTExNg%3D%3D) by `1,000,000+` repositories. You may certainly put your trust in this code.\n\n[![Downloads](https://pepy.tech/badge/requests/month)](https://pepy.tech/project/requests)\n[![Supported Versions](https://img.shields.io/pypi/pyversions/requests.svg)](https://pypi.org/project/requests)\n[![Contributors](https://img.shields.io/github/contributors/psf/requests.svg)](https://github.com/psf/requests/graphs/contributors)\n\n## Installing Requests and Supported Versions\n\nRequests is available on PyPI:\n\n```console\n$ python -m pip install requests\n```\n\nRequests officially supports Python 3.7+.\n\n## Supported Features & Best–Practices\n\nRequests is ready for the demands of building robust and reliable HTTP–speaking applications, for the needs of today.\n\n- Keep-Alive & Connection Pooling\n- International Domains and URLs\n- Sessions with Cookie Persistence\n- Browser-style TLS/SSL Verification\n- Basic & Digest Authentication\n- Familiar `dict`–like Cookies\n- Automatic Content Decompression and Decoding\n- Multi-part File Uploads\n- SOCKS Proxy Support\n- Connection Timeouts\n- Streaming Downloads\n- Automatic honoring of `.netrc`\n- Chunked HTTP Requests\n\n## API Reference and User Guide available on [Read the Docs](https://requests.readthedocs.io)\n\n[![Read the Docs](https://raw.githubusercontent.com/psf/requests/main/ext/ss.png)](https://requests.readthedocs.io)\n\n## Cloning the repository\n\nWhen cloning the Requests repository, you may need to add the `-c\nfetch.fsck.badTimezone=ignore` flag to avoid an error about a bad commit (see\n[this issue](https://github.com/psf/requests/issues/2690) for more background):\n\n```shell\ngit clone -c fetch.fsck.badTimezone=ignore https://github.com/psf/requests.git\n```\n\nYou can also apply this setting to your global Git config:\n\n```shell\ngit config --global fetch.fsck.badTimezone ignore\n```\n\n---\n\n[![Kenneth Reitz](https://raw.githubusercontent.com/psf/requests/main/ext/kr.png)](https://kennethreitz.org) [![Python Software Foundation](https://raw.githubusercontent.com/psf/requests/main/ext/psf.png)](https://www.python.org/psf)\n\n\n","description_content_type":"text/markdown","docs_url":null,"download_url":"","downloads":{"last_day":-1,"last_month":-1,"last_week":-1},"home_page":"https://requests.readthedocs.io","keywords":"","license":"Apache 2.0","maintainer":"","maintainer_email":"","name":"requests","package_url":"https://pypi.org/project/requests/","platform":null,"project_url":"https://pypi.org/project/requests/","project_urls":{"Documentation":"https://requests.readthedocs.io","Homepage":"https://requests.readthedocs.io","Source":"https://github.com/psf/requests"},"release_url":"https://pypi.org/project/requests/2.28.2/","requires_dist":["charset-normalizer (<4,>=2)","idna (<4,>=2.5)","urllib3 (<1.27,>=1.21.1)","certifi (>=2017.4.17)","PySocks (!=1.5.7,>=1.5.6) ; extra == 'socks'","chardet (<6,>=3.0.2) ; extra == 'use_chardet_on_py3'"],"requires_python":">=3.7, <4","summary":"Python HTTP for Humans.","version":"2.28.2","yanked":false,"yanked_reason":null},"last_serial":16406303,"releases":{"0.0.1":[],"0.10.0":[{"comment_text":"","digests":{"blake2b_256":"62350230421b8c4efad6624518028163329ad0c2df9e58e6b3bee013427bf8f6","md5":"c90a48af18eb4170dbe4832c1104440c","sha256":"210a82e678c45d433a4ad1f105974b3102a8ab5198872dc0a3238a8750d4c65e"},"downloads":-1,"filename":"requests-0.10.0.tar.gz","has_sig":false,"md5_digest":"c90a48af18eb4170dbe4832c1104440c","packagetype":"sdist","python_version":"source","requires_python":null,"size":62046,"upload_time":"2012-01-22T05:08:17","upload_time_iso_8601":"2012-01-22T05:08:17.091441Z","url":"https://files.pythonhosted.org/packages/62/35/0230421b8c4efad6624518028163329ad0c2df9e58e6b3bee013427bf8f6/requests-0.10.0.tar.gz","yanked":false,"yanked_reason":null}],"0.10.1":[{"comment_text":"","digests":{"blake2b_256":"b456ba2d803383ec32d70f8faa7df5eb37ee9b3fc662ff68b7ab01ad9740b83a","md5":"699147d2143bff95238befa58980b912","sha256":"da6031575a30c7b65ea99465183468349b3645e6bf5322e49d53f565b27ed2b5"},"downloads":-1,"filename":"requests-0.10.1.tar.gz","has_sig":false,"md5_digest":"699147d2143bff95238befa58980b912","packagetype":"sdist","python_version":"source","requires_python":null,"size":63234,"upload_time":"2012-01-23T08:22:52","upload_time_iso_8601":"2012-01-23T08:22:52.352375Z","url":"https://files.pythonhosted.org/packages/b4/56/ba2d803383ec32d70f8faa7df5eb37ee9b3fc662ff68b7ab01ad9740b83a/requests-0.10.1.tar.gz","yanked":false,"yanked_reason":null}],"0.10.2":[{"comment_text":"","digests":{"blake2b_256":"581e6b84552b6553f5beaf7cb0fe15115e7e4673326ed9188ad5338559ee8285","md5":"47c3cf85a0112d423137b43989663bef","sha256":"1546ef1e291ae337086369b621096fb0f69f88f6f67f60b1f6b7c18d1ca278e1"},"downloads":-1,"filename":"requests-0.10.2.tar.gz","has_sig":false,"md5_digest":"47c3cf85a0112d423137b43989663bef","packagetype":"sdist","python_version":"source","requires_python":null,"size":60158,"upload_time":"2012-02-15T09:48:52","upload_time_iso_8601":"2012-02-15T09:48:52.830436Z","url":"https://files.pythonhosted.org/packages/58/1e/6b84552b6553f5beaf7cb0fe15115e7e4673326ed9188ad5338559ee8285/requests-0.10.2.tar.gz","yanked":false,"yanked_reason":null}],"0.10.3":[{"comment_text":"","digests":{"blake2b_256":"014439988315e036b79fe70428273053617266bf20d1363e91082346fae8450d","md5":"a055af00593f4828c3becd0ccfab503f","sha256":"8eeb24328304b015cbd59a49670e2738b77034b225b566729ddb19941899e490"},"downloads":-1,"filename":"requests-0.10.3.tar.gz","has_sig":false,"md5_digest":"a055af00593f4828c3becd0ccfab503f","packagetype":"sdist","python_version":"source","requires_python":null,"size":60493,"upload_time":"2012-02-20T20:10:57","upload_time_iso_8601":"2012-02-20T20:10:57.584946Z","url":"https://files.pythonhosted.org/packages/01/44/39988315e036b79fe70428273053617266bf20d1363e91082346fae8450d/requests-0.10.3.tar.gz","yanked":false,"yanked_reason":null}],"0.10.4":[{"comment_text":"","digests":{"blake2b_256":"94ac5fa21e435ba8050d14db92ce29763c28196b727d4079dc608d39177fbf9b","md5":"5e465e9e739bcc9f71935ca4e9706168","sha256":"2ad4cc51d7595ca6f97373a0d697999e0cbdbbf1ba665d18f0f3dcec12b8be77"},"downloads":-1,"filename":"requests-0.10.4.tar.gz","has_sig":false,"md5_digest":"5e465e9e739bcc9f71935ca4e9706168","packagetype":"sdist","python_version":"source","requires_python":null,"size":60889,"upload_time":"2012-02-20T22:21:31","upload_time_iso_8601":"2012-02-20T22:21:31.091713Z","url":"https://files.pythonhosted.org/packages/94/ac/5fa21e435ba8050d14db92ce29763c28196b727d4079dc608d39177fbf9b/requests-0.10.4.tar.gz","yanked":false,"yanked_reason":null}],"0.10.6":[{"comment_text":"","digests":{"blake2b_256":"b41f8f5430040fcf4391dc5bd324424a569e2e0d96595952b21eb82403602d98","md5":"c889401445de3cbbac98509208a73b83","sha256":"31134b4f35951730dcce59f2af334478b68caa5728902a1d6bd5e115ec677d8b"},"downloads":-1,"filename":"requests-0.10.6.tar.gz","has_sig":false,"md5_digest":"c889401445de3cbbac98509208a73b83","packagetype":"sdist","python_version":"source","requires_python":null,"size":61673,"upload_time":"2012-02-26T05:17:54","upload_time_iso_8601":"2012-02-26T05:17:54.135905Z","url":"https://files.pythonhosted.org/packages/b4/1f/8f5430040fcf4391dc5bd324424a569e2e0d96595952b21eb82403602d98/requests-0.10.6.tar.gz","yanked":false,"yanked_reason":null}],"0.10.7":[{"comment_text":"","digests":{"blake2b_256":"c5cd0597f9c040db24ca6d23cc74faa102554cb0a93bdbffb855d7749547921f","md5":"a3ac9d431981dcfd592fd0f35c499e4a","sha256":"80f32a74bed8cf081a3a25512f8725e09ceda217101ea706efced262bb05aec6"},"downloads":-1,"filename":"requests-0.10.7.tar.gz","has_sig":false,"md5_digest":"a3ac9d431981dcfd592fd0f35c499e4a","packagetype":"sdist","python_version":"source","requires_python":null,"size":61826,"upload_time":"2012-03-08T01:50:58","upload_time_iso_8601":"2012-03-08T01:50:58.069132Z","url":"https://files.pythonhosted.org/packages/c5/cd/0597f9c040db24ca6d23cc74faa102554cb0a93bdbffb855d7749547921f/requests-0.10.7.tar.gz","yanked":false,"yanked_reason":null}],"0.10.8":[{"comment_text":"","digests":{"blake2b_256":"9a054ab34c6aae63a01aef2fd8be3573a99c197cc76a67f8cee751cb3a7784fb","md5":"0fc89a30eef76b2393cbc7ebace91750","sha256":"bec280d924a8be87b3377ee78a976334a6e7c944a8fe09bbd9447e669b984dae"},"downloads":-1,"filename":"requests-0.10.8.tar.gz","has_sig":false,"md5_digest":"0fc89a30eef76b2393cbc7ebace91750","packagetype":"sdist","python_version":"source","requires_python":null,"size":62201,"upload_time":"2012-03-09T17:59:54","upload_time_iso_8601":"2012-03-09T17:59:54.950126Z","url":"https://files.pythonhosted.org/packages/9a/05/4ab34c6aae63a01aef2fd8be3573a99c197cc76a67f8cee751cb3a7784fb/requests-0.10.8.tar.gz","yanked":false,"yanked_reason":null}],"0.11.1":[{"comment_text":"","digests":{"blake2b_256":"d7ee6826f31ae3e0e68606cb9086c3904582b3982bbccc73f34d6dc9912b48ad","md5":"c903c32a0e1f04889e693da8e9c71872","sha256":"fd4260541d0e559c78e2b3072bd79f36e0f8ef935bcbbadaa8c98cd8b5a62897"},"downloads":-1,"filename":"requests-0.11.1.tar.gz","has_sig":false,"md5_digest":"c903c32a0e1f04889e693da8e9c71872","packagetype":"sdist","python_version":"source","requires_python":null,"size":63100,"upload_time":"2012-03-31T05:47:56","upload_time_iso_8601":"2012-03-31T05:47:56.690051Z","url":"https://files.pythonhosted.org/packages/d7/ee/6826f31ae3e0e68606cb9086c3904582b3982bbccc73f34d6dc9912b48ad/requests-0.11.1.tar.gz","yanked":false,"yanked_reason":null}],"0.11.2":[{"comment_text":"","digests":{"blake2b_256":"b652ad2911cf5586f2372a296a93a94d0324e4ffdd225975241562c450594795","md5":"5acd23600c897bf1560dca18005b428c","sha256":"547bf78a774a6018271d6e5c40613ec554642ba4d6cdf45813e7894145293c57"},"downloads":-1,"filename":"requests-0.11.2.tar.gz","has_sig":false,"md5_digest":"5acd23600c897bf1560dca18005b428c","packagetype":"sdist","python_version":"source","requires_python":null,"size":71080,"upload_time":"2012-04-23T04:29:36","upload_time_iso_8601":"2012-04-23T04:29:36.868120Z","url":"https://files.pythonhosted.org/packages/b6/52/ad2911cf5586f2372a296a93a94d0324e4ffdd225975241562c450594795/requests-0.11.2.tar.gz","yanked":false,"yanked_reason":null}],"0.12.0":[{"comment_text":"","digests":{"blake2b_256":"3aac0372d6b7fbde19444d5cc560f296e70b26283d2bac0665b576dd3f5e6b60","md5":"c38bacf4d6a065f3c47463e63efdfb5a","sha256":"8a88a291599444be608940c227b6114212220d8126c512af821f1ab207fe5072"},"downloads":-1,"filename":"requests-0.12.0.tar.gz","has_sig":false,"md5_digest":"c38bacf4d6a065f3c47463e63efdfb5a","packagetype":"sdist","python_version":"source","requires_python":null,"size":76859,"upload_time":"2012-05-03T01:18:47","upload_time_iso_8601":"2012-05-03T01:18:47.376345Z","url":"https://files.pythonhosted.org/packages/3a/ac/0372d6b7fbde19444d5cc560f296e70b26283d2bac0665b576dd3f5e6b60/requests-0.12.0.tar.gz","yanked":false,"yanked_reason":null}],"0.12.01":[],"0.12.1":[{"comment_text":"","digests":{"blake2b_256":"3a0a7c62c06702ddb4d3bc50d27f5b8e094d6e66a3374fc2eedf264742f84805","md5":"fe9e0515d09733d0eb9e2031c03401b2","sha256":"9ce56b87180c06728d96ca734055675abf8f5cc3136e0d7712a6260430685589"},"downloads":-1,"filename":"requests-0.12.1.tar.gz","has_sig":false,"md5_digest":"fe9e0515d09733d0eb9e2031c03401b2","packagetype":"sdist","python_version":"source","requires_python":null,"size":78245,"upload_time":"2012-05-08T07:21:59","upload_time_iso_8601":"2012-05-08T07:21:59.920122Z","url":"https://files.pythonhosted.org/packages/3a/0a/7c62c06702ddb4d3bc50d27f5b8e094d6e66a3374fc2eedf264742f84805/requests-0.12.1.tar.gz","yanked":false,"yanked_reason":null}],"0.13.0":[{"comment_text":"","digests":{"blake2b_256":"861b88d3753931419a226bb4e4c1d354cd2d40acff3482b37e30dd84ba8a243b","md5":"7d41e51c273806456faab61370d5147e","sha256":"03a2001843546147ddb6972d0661e2002b9be4ccbbbd2177ee10f05bd1910109"},"downloads":-1,"filename":"requests-0.13.0.tar.gz","has_sig":false,"md5_digest":"7d41e51c273806456faab61370d5147e","packagetype":"sdist","python_version":"source","requires_python":null,"size":68172,"upload_time":"2012-05-30T02:54:18","upload_time_iso_8601":"2012-05-30T02:54:18.564587Z","url":"https://files.pythonhosted.org/packages/86/1b/88d3753931419a226bb4e4c1d354cd2d40acff3482b37e30dd84ba8a243b/requests-0.13.0.tar.gz","yanked":false,"yanked_reason":null}],"0.13.1":[{"comment_text":"","digests":{"blake2b_256":"0d630e6c6b817ab38fb3e38a192d6631d698fe78308a68659af3aa523cd736d4","md5":"31a08091feeefe60817e45122d933219","sha256":"31f3ae96787fe74a78c7dd9626bf997fd4eabacc040b7b33fbd8632d2c2a97f6"},"downloads":-1,"filename":"requests-0.13.1.tar.gz","has_sig":false,"md5_digest":"31a08091feeefe60817e45122d933219","packagetype":"sdist","python_version":"source","requires_python":null,"size":68474,"upload_time":"2012-06-08T04:22:28","upload_time_iso_8601":"2012-06-08T04:22:28.683979Z","url":"https://files.pythonhosted.org/packages/0d/63/0e6c6b817ab38fb3e38a192d6631d698fe78308a68659af3aa523cd736d4/requests-0.13.1.tar.gz","yanked":false,"yanked_reason":null}],"0.13.2":[{"comment_text":"","digests":{"blake2b_256":"62ca338cf287e172099e4500cfa2cb580d2c9a1874427a8a14324d7a4c9d01b1","md5":"fac5635391778e2394a411d37e69ae5e","sha256":"37684324da8aca40e88fa2f7faa526cc116d74e979c2ac5d9119fe6e1bb5ced5"},"downloads":-1,"filename":"requests-0.13.2.tar.gz","has_sig":false,"md5_digest":"fac5635391778e2394a411d37e69ae5e","packagetype":"sdist","python_version":"source","requires_python":null,"size":514484,"upload_time":"2012-06-29T02:37:41","upload_time_iso_8601":"2012-06-29T02:37:41.500479Z","url":"https://files.pythonhosted.org/packages/62/ca/338cf287e172099e4500cfa2cb580d2c9a1874427a8a14324d7a4c9d01b1/requests-0.13.2.tar.gz","yanked":false,"yanked_reason":null}],"0.13.3":[{"comment_text":"","digests":{"blake2b_256":"549d1ee0bd44e9334b6382ed5226d4bc33518d0d0b03ed806af6444d1c80ed83","md5":"54387d7df6c69580b906dcb5a2bd0724","sha256":"79503a14a43d6ae0b0b2e92f88ed0b01015528b8a8ab47721c28aa993aa4db2b"},"downloads":-1,"filename":"requests-0.13.3.tar.gz","has_sig":false,"md5_digest":"54387d7df6c69580b906dcb5a2bd0724","packagetype":"sdist","python_version":"source","requires_python":null,"size":515192,"upload_time":"2012-07-12T23:20:43","upload_time_iso_8601":"2012-07-12T23:20:43.867603Z","url":"https://files.pythonhosted.org/packages/54/9d/1ee0bd44e9334b6382ed5226d4bc33518d0d0b03ed806af6444d1c80ed83/requests-0.13.3.tar.gz","yanked":false,"yanked_reason":null}],"0.13.4":[{"comment_text":"","digests":{"blake2b_256":"047552e169351e24a9faa8bfac69a07ea3551b845ca6354f22da15c5da3d5100","md5":"286cd3352509691e81c520accc5b9e48","sha256":"94672e92c23fefe516c5310b84d97b4ea19ef373003a7ba7af1057102a87f345"},"downloads":-1,"filename":"requests-0.13.4.tar.gz","has_sig":false,"md5_digest":"286cd3352509691e81c520accc5b9e48","packagetype":"sdist","python_version":"source","requires_python":null,"size":519515,"upload_time":"2012-07-27T08:22:09","upload_time_iso_8601":"2012-07-27T08:22:09.864284Z","url":"https://files.pythonhosted.org/packages/04/75/52e169351e24a9faa8bfac69a07ea3551b845ca6354f22da15c5da3d5100/requests-0.13.4.tar.gz","yanked":false,"yanked_reason":null}],"0.13.5":[{"comment_text":"","digests":{"blake2b_256":"bad1919f6240a37ce5aade82da39809e1f28a5f2899a29a0ca10c381ba70efbb","md5":"805fd122b4cfd224e15ff2f5288c5ba0","sha256":"c6abb4b15a3f2aaad18c22b214b9b35d69ec4e2730c5b922f95f17a88981f957"},"downloads":-1,"filename":"requests-0.13.5.tar.gz","has_sig":false,"md5_digest":"805fd122b4cfd224e15ff2f5288c5ba0","packagetype":"sdist","python_version":"source","requires_python":null,"size":519553,"upload_time":"2012-07-27T09:23:41","upload_time_iso_8601":"2012-07-27T09:23:41.969623Z","url":"https://files.pythonhosted.org/packages/ba/d1/919f6240a37ce5aade82da39809e1f28a5f2899a29a0ca10c381ba70efbb/requests-0.13.5.tar.gz","yanked":false,"yanked_reason":null}],"0.13.6":[{"comment_text":"","digests":{"blake2b_256":"0256a6203485b552f9e8e8f16bd4e576446f94737ccbc563957e7510c8e401e4","md5":"9ea0f38cc4bf444be5a4c90f127211f2","sha256":"3cca63908f1b941d2da61ef0e8baf7bf014cc0df6512e172b8d2ac87be82b916"},"downloads":-1,"filename":"requests-0.13.6.tar.gz","has_sig":false,"md5_digest":"9ea0f38cc4bf444be5a4c90f127211f2","packagetype":"sdist","python_version":"source","requires_python":null,"size":520031,"upload_time":"2012-08-06T08:46:22","upload_time_iso_8601":"2012-08-06T08:46:22.516645Z","url":"https://files.pythonhosted.org/packages/02/56/a6203485b552f9e8e8f16bd4e576446f94737ccbc563957e7510c8e401e4/requests-0.13.6.tar.gz","yanked":false,"yanked_reason":null}],"0.13.7":[{"comment_text":"","digests":{"blake2b_256":"b448e82ded36a3cee7c0ef9605b44c4615ffe4a37f8b6c8b17fdbc15fae18daa","md5":"9212044f915d44fe3010cb923c0e08e5","sha256":"d9c6cf2890a0dc1200407f99130d334ef5ab5270bed3d9b4c14b0bb9c6cc3400"},"downloads":-1,"filename":"requests-0.13.7.tar.gz","has_sig":false,"md5_digest":"9212044f915d44fe3010cb923c0e08e5","packagetype":"sdist","python_version":"source","requires_python":null,"size":521660,"upload_time":"2012-08-19T00:47:48","upload_time_iso_8601":"2012-08-19T00:47:48.501903Z","url":"https://files.pythonhosted.org/packages/b4/48/e82ded36a3cee7c0ef9605b44c4615ffe4a37f8b6c8b17fdbc15fae18daa/requests-0.13.7.tar.gz","yanked":false,"yanked_reason":null}],"0.13.8":[{"comment_text":"","digests":{"blake2b_256":"db1e1f37495384a628887e10ecd61d45dba455ceec4b8b5b463512b4700e5b3d","md5":"d01596bd344db94763b2e4dfaa7bc7b9","sha256":"3ef37004f6394b111a27f0b6d0a64be83f7e4bccfbbbcdd21455400af5f4fbd4"},"downloads":-1,"filename":"requests-0.13.8.tar.gz","has_sig":false,"md5_digest":"d01596bd344db94763b2e4dfaa7bc7b9","packagetype":"sdist","python_version":"source","requires_python":null,"size":522140,"upload_time":"2012-08-20T15:24:42","upload_time_iso_8601":"2012-08-20T15:24:42.439401Z","url":"https://files.pythonhosted.org/packages/db/1e/1f37495384a628887e10ecd61d45dba455ceec4b8b5b463512b4700e5b3d/requests-0.13.8.tar.gz","yanked":false,"yanked_reason":null}],"0.13.9":[{"comment_text":"","digests":{"blake2b_256":"01dada83c242c5a77c58aa86072d68fd2855aa9b4d3b1a8bac4b402531b25ff1","md5":"66d52b8f47be517fc91a6e18d6b9ce82","sha256":"d887bb1c06948a8930d6e73a1f942f9febe9157a299a984994c20c84b2c21e20"},"downloads":-1,"filename":"requests-0.13.9.tar.gz","has_sig":false,"md5_digest":"66d52b8f47be517fc91a6e18d6b9ce82","packagetype":"sdist","python_version":"source","requires_python":null,"size":522477,"upload_time":"2012-08-25T15:26:50","upload_time_iso_8601":"2012-08-25T15:26:50.954170Z","url":"https://files.pythonhosted.org/packages/01/da/da83c242c5a77c58aa86072d68fd2855aa9b4d3b1a8bac4b402531b25ff1/requests-0.13.9.tar.gz","yanked":false,"yanked_reason":null}],"0.14.0":[{"comment_text":"","digests":{"blake2b_256":"4e3150a12e5b5e585e0b00ce2592c9b45f2ae109575e3707a341afd7550a8d1a","md5":"a809c747e4f09b92147721ebc3e23dd6","sha256":"4e690ba0275ab4a8c9a5c7a6eb14e79e1adad0f84331fc638a18d7751f41ac3b"},"downloads":-1,"filename":"requests-0.14.0.tar.gz","has_sig":false,"md5_digest":"a809c747e4f09b92147721ebc3e23dd6","packagetype":"sdist","python_version":"source","requires_python":null,"size":523133,"upload_time":"2012-09-02T08:50:39","upload_time_iso_8601":"2012-09-02T08:50:39.106639Z","url":"https://files.pythonhosted.org/packages/4e/31/50a12e5b5e585e0b00ce2592c9b45f2ae109575e3707a341afd7550a8d1a/requests-0.14.0.tar.gz","yanked":false,"yanked_reason":null}],"0.14.1":[{"comment_text":"","digests":{"blake2b_256":"401d63a729208e1e93cf2cbda953b9f20ec9b101eb964e3f6205d1c2e294f294","md5":"3de30600072cbc7214ae342d1d08aa46","sha256":"4f563b907782b2c95dd2cbaf882a96133e567d46290a0e7aafa0c6f3efad19ba"},"downloads":-1,"filename":"requests-0.14.1.tar.gz","has_sig":false,"md5_digest":"3de30600072cbc7214ae342d1d08aa46","packagetype":"sdist","python_version":"source","requires_python":null,"size":523254,"upload_time":"2012-10-01T17:30:05","upload_time_iso_8601":"2012-10-01T17:30:05.176526Z","url":"https://files.pythonhosted.org/packages/40/1d/63a729208e1e93cf2cbda953b9f20ec9b101eb964e3f6205d1c2e294f294/requests-0.14.1.tar.gz","yanked":false,"yanked_reason":null}],"0.14.2":[{"comment_text":"","digests":{"blake2b_256":"fad10dd60e1146e79e7b193e7b0189d8c13ef100d55cbfe65e1825ac5f03c397","md5":"488508ba3e8270992ad5b3fb54d364ca","sha256":"0e3345a8ac0d712bf17bd9d3276415050c5f972265ab62993cd4540a3a1aaaef"},"downloads":-1,"filename":"requests-0.14.2.tar.gz","has_sig":false,"md5_digest":"488508ba3e8270992ad5b3fb54d364ca","packagetype":"sdist","python_version":"source","requires_python":null,"size":361488,"upload_time":"2012-10-27T15:08:51","upload_time_iso_8601":"2012-10-27T15:08:51.460827Z","url":"https://files.pythonhosted.org/packages/fa/d1/0dd60e1146e79e7b193e7b0189d8c13ef100d55cbfe65e1825ac5f03c397/requests-0.14.2.tar.gz","yanked":false,"yanked_reason":null}],"0.2.0":[{"comment_text":"","digests":{"blake2b_256":"babbdfa0141a32d773c47e4dede1a617c59a23b74dd302e449cf85413fc96bc4","md5":"637ae94cb6f2f1d9ea9020293055964a","sha256":"813202ace4d9301a3c00740c700e012fb9f3f8c73ddcfe02ab558a8df6f175fd"},"downloads":-1,"filename":"requests-0.2.0.tar.gz","has_sig":false,"md5_digest":"637ae94cb6f2f1d9ea9020293055964a","packagetype":"sdist","python_version":"source","requires_python":null,"size":5533,"upload_time":"2011-02-14T08:49:42","upload_time_iso_8601":"2011-02-14T08:49:42.641660Z","url":"https://files.pythonhosted.org/packages/ba/bb/dfa0141a32d773c47e4dede1a617c59a23b74dd302e449cf85413fc96bc4/requests-0.2.0.tar.gz","yanked":false,"yanked_reason":null}],"0.2.1":[{"comment_text":"","digests":{"blake2b_256":"4badd536b2e572e843fda13e4458c67f937b05ce359722c1e4cdad35ba05b6e3","md5":"7e9590f3985ece46fc8306e906b458c7","sha256":"d54eb33499f018fc6bd297613bf866f8d134629c8e02964aab6ef951f460e41e"},"downloads":-1,"filename":"requests-0.2.1.tar.gz","has_sig":false,"md5_digest":"7e9590f3985ece46fc8306e906b458c7","packagetype":"sdist","python_version":"source","requires_python":null,"size":12715,"upload_time":"2011-02-14T16:38:12","upload_time_iso_8601":"2011-02-14T16:38:12.392550Z","url":"https://files.pythonhosted.org/packages/4b/ad/d536b2e572e843fda13e4458c67f937b05ce359722c1e4cdad35ba05b6e3/requests-0.2.1.tar.gz","yanked":false,"yanked_reason":null}],"0.2.2":[{"comment_text":"","digests":{"blake2b_256":"823c3b5beca192da920c0c2ba67119d66ba1e4b1e766f40898e5e684d697ca1c","md5":"a703489b1a4a650698ddcf84857360c6","sha256":"b3289694b2ddf6adb4f7e1f470b9771330c76125611222b9c702f0e2e9733cbc"},"downloads":-1,"filename":"requests-0.2.2.tar.gz","has_sig":false,"md5_digest":"a703489b1a4a650698ddcf84857360c6","packagetype":"sdist","python_version":"source","requires_python":null,"size":13049,"upload_time":"2011-02-14T18:58:40","upload_time_iso_8601":"2011-02-14T18:58:40.410171Z","url":"https://files.pythonhosted.org/packages/82/3c/3b5beca192da920c0c2ba67119d66ba1e4b1e766f40898e5e684d697ca1c/requests-0.2.2.tar.gz","yanked":false,"yanked_reason":null}],"0.2.3":[{"comment_text":"","digests":{"blake2b_256":"6f7e5c2d7d9102c6ab847bd1215f96255e894fbfc81c8abf2c1714ae2a504913","md5":"102243646fc0cffdc82269f4bb5c6d5d","sha256":"8e374b75aaae7f85325e9bb126e96cb77a3bfc17e81ee74a0e96916aac1cc2ba"},"downloads":-1,"filename":"requests-0.2.3.tar.gz","has_sig":false,"md5_digest":"102243646fc0cffdc82269f4bb5c6d5d","packagetype":"sdist","python_version":"source","requires_python":null,"size":13255,"upload_time":"2011-02-15T15:47:29","upload_time_iso_8601":"2011-02-15T15:47:29.058010Z","url":"https://files.pythonhosted.org/packages/6f/7e/5c2d7d9102c6ab847bd1215f96255e894fbfc81c8abf2c1714ae2a504913/requests-0.2.3.tar.gz","yanked":false,"yanked_reason":null}],"0.2.4":[{"comment_text":"","digests":{"blake2b_256":"dc02789859c27162bb91ecf6b72ed4ce1af3ed1710255265ad0901c4d4e25666","md5":"62dbe8cf12bc1ccd03776e74f59e9ef6","sha256":"ef1bd1a81022e9bf574ecfe69cbd8597e79371b890d29bd3847dd946102c8eed"},"downloads":-1,"filename":"requests-0.2.4.tar.gz","has_sig":false,"md5_digest":"62dbe8cf12bc1ccd03776e74f59e9ef6","packagetype":"sdist","python_version":"source","requires_python":null,"size":13653,"upload_time":"2011-02-19T07:03:14","upload_time_iso_8601":"2011-02-19T07:03:14.518479Z","url":"https://files.pythonhosted.org/packages/dc/02/789859c27162bb91ecf6b72ed4ce1af3ed1710255265ad0901c4d4e25666/requests-0.2.4.tar.gz","yanked":false,"yanked_reason":null}],"0.3.0":[{"comment_text":"","digests":{"blake2b_256":"962b88e9d6bf2e9d75cda77bf4fdc03720f4ba262beb532f9510a4a7f3e45660","md5":"aa1306575a78ba8b5e625dd2645d2ef0","sha256":"57eed745eb2a2e3c7e1dd935ccd49eb2eac51cfcdace4a97fb44de5da70f0035"},"downloads":-1,"filename":"requests-0.3.0.tar.gz","has_sig":false,"md5_digest":"aa1306575a78ba8b5e625dd2645d2ef0","packagetype":"sdist","python_version":"source","requires_python":null,"size":15021,"upload_time":"2011-02-25T14:58:38","upload_time_iso_8601":"2011-02-25T14:58:38.361577Z","url":"https://files.pythonhosted.org/packages/96/2b/88e9d6bf2e9d75cda77bf4fdc03720f4ba262beb532f9510a4a7f3e45660/requests-0.3.0.tar.gz","yanked":false,"yanked_reason":null}],"0.3.1":[{"comment_text":"","digests":{"blake2b_256":"5ec076fac9445cd8b6394eacae1e098ca0c97767cc0112e45e68521f553df003","md5":"3f4701e2ab414cd7018804a70328c527","sha256":"05dddfd656d25b7738778d2b4e8fa72e53b5357a2f80a319e6e1fa59edb03339"},"downloads":-1,"filename":"requests-0.3.1.tar.gz","has_sig":false,"md5_digest":"3f4701e2ab414cd7018804a70328c527","packagetype":"sdist","python_version":"source","requires_python":null,"size":15275,"upload_time":"2011-04-01T20:55:03","upload_time_iso_8601":"2011-04-01T20:55:03.064666Z","url":"https://files.pythonhosted.org/packages/5e/c0/76fac9445cd8b6394eacae1e098ca0c97767cc0112e45e68521f553df003/requests-0.3.1.tar.gz","yanked":false,"yanked_reason":null}],"0.3.2":[{"comment_text":"","digests":{"blake2b_256":"d5f116b57088f11cd5c6c82834bad6475826309cee44edaae860e9f65c084703","md5":"bde777f4c5b7bbb09033901c443962b3","sha256":"78ecf812ee865b62be106100a3c6f24058c7901ad995351b8818f18ea97ce848"},"downloads":-1,"filename":"requests-0.3.2.tar.gz","has_sig":false,"md5_digest":"bde777f4c5b7bbb09033901c443962b3","packagetype":"sdist","python_version":"source","requires_python":null,"size":15515,"upload_time":"2011-04-15T23:30:50","upload_time_iso_8601":"2011-04-15T23:30:50.899634Z","url":"https://files.pythonhosted.org/packages/d5/f1/16b57088f11cd5c6c82834bad6475826309cee44edaae860e9f65c084703/requests-0.3.2.tar.gz","yanked":false,"yanked_reason":null}],"0.3.3":[{"comment_text":"","digests":{"blake2b_256":"f1648a2ba81294381bb90e8fb4b6fa750e0dca3f2d19e8caaeeae5e7bb6b3753","md5":"84c762c116617ba4dd03c19e2b61eb53","sha256":"ccbbc41c4c009baecf41e993727048c65c440fefadb217b11e73f63cd0cae09a"},"downloads":-1,"filename":"requests-0.3.3.tar.gz","has_sig":false,"md5_digest":"84c762c116617ba4dd03c19e2b61eb53","packagetype":"sdist","python_version":"source","requires_python":null,"size":18995,"upload_time":"2011-05-12T10:03:24","upload_time_iso_8601":"2011-05-12T10:03:24.258074Z","url":"https://files.pythonhosted.org/packages/f1/64/8a2ba81294381bb90e8fb4b6fa750e0dca3f2d19e8caaeeae5e7bb6b3753/requests-0.3.3.tar.gz","yanked":false,"yanked_reason":null}],"0.3.4":[{"comment_text":"","digests":{"blake2b_256":"ed1b8682a0cfe92f67e30fb9ac7982cb785a1230ca4385dc1353513f5b87b9f4","md5":"55152cc2b135bc8989dc4fa279295f8b","sha256":"e72a42a0317f33114b48c972d3056bad3265b92450d4e0e51ad0b384e43bc6d9"},"downloads":-1,"filename":"requests-0.3.4.tar.gz","has_sig":false,"md5_digest":"55152cc2b135bc8989dc4fa279295f8b","packagetype":"sdist","python_version":"source","requires_python":null,"size":19773,"upload_time":"2011-05-14T20:30:44","upload_time_iso_8601":"2011-05-14T20:30:44.001002Z","url":"https://files.pythonhosted.org/packages/ed/1b/8682a0cfe92f67e30fb9ac7982cb785a1230ca4385dc1353513f5b87b9f4/requests-0.3.4.tar.gz","yanked":false,"yanked_reason":null}],"0.4.0":[{"comment_text":"","digests":{"blake2b_256":"56c30887d5d6c18a366308b3dc7024210b4c89ff9ae92ae5fb87cf8fe58bcae2","md5":"77a7a7edd54169c6fa7ace49dcb0b20c","sha256":"35185852569456de25a654c5f9a43a1b8e4dc18a2a676985bbb9d5e7e5a9703e"},"downloads":-1,"filename":"requests-0.4.0.tar.gz","has_sig":false,"md5_digest":"77a7a7edd54169c6fa7ace49dcb0b20c","packagetype":"sdist","python_version":"source","requires_python":null,"size":17194,"upload_time":"2011-05-15T05:58:43","upload_time_iso_8601":"2011-05-15T05:58:43.415820Z","url":"https://files.pythonhosted.org/packages/56/c3/0887d5d6c18a366308b3dc7024210b4c89ff9ae92ae5fb87cf8fe58bcae2/requests-0.4.0.tar.gz","yanked":false,"yanked_reason":null}],"0.4.1":[{"comment_text":"","digests":{"blake2b_256":"b354dbc9b89a66a15ab9f3e2595de1b1ebd1da954efcb30a329c98710e014c05","md5":"812ff0ce63d14f7b940bacd880d54ee0","sha256":"f978616765803e9e0e9943136b34be0da69d74ba8fbd064cbfcf28f33ca54d8a"},"downloads":-1,"filename":"requests-0.4.1.tar.gz","has_sig":false,"md5_digest":"812ff0ce63d14f7b940bacd880d54ee0","packagetype":"sdist","python_version":"source","requires_python":null,"size":18443,"upload_time":"2011-05-25T18:54:05","upload_time_iso_8601":"2011-05-25T18:54:05.328955Z","url":"https://files.pythonhosted.org/packages/b3/54/dbc9b89a66a15ab9f3e2595de1b1ebd1da954efcb30a329c98710e014c05/requests-0.4.1.tar.gz","yanked":false,"yanked_reason":null}],"0.5.0":[{"comment_text":"","digests":{"blake2b_256":"0c4dd67bd4e4b17148aad88e6d75c62763ec27363d18038ed75019239e1516d0","md5":"6dfdc1688217d774d524e056ec6605a6","sha256":"747c8c79e9c75ba8608c7628e39d533a0234ff78a80569e40ba64865abc0e521"},"downloads":-1,"filename":"requests-0.5.0.tar.gz","has_sig":false,"md5_digest":"6dfdc1688217d774d524e056ec6605a6","packagetype":"sdist","python_version":"source","requires_python":null,"size":21945,"upload_time":"2011-06-22T04:44:39","upload_time_iso_8601":"2011-06-22T04:44:39.288841Z","url":"https://files.pythonhosted.org/packages/0c/4d/d67bd4e4b17148aad88e6d75c62763ec27363d18038ed75019239e1516d0/requests-0.5.0.tar.gz","yanked":false,"yanked_reason":null}],"0.5.1":[{"comment_text":"","digests":{"blake2b_256":"5f1c8d145fbdb23986063a8a0c954d484a793024137a99ac7f3da603717fe64a","md5":"33a6e65d6a4e5b2d91df76256f607b81","sha256":"cfed662472d48e7bd6bfd8d7f79fe9072fc873b2e372fe3b9178a26daabebccc"},"downloads":-1,"filename":"requests-0.5.1.tar.gz","has_sig":false,"md5_digest":"33a6e65d6a4e5b2d91df76256f607b81","packagetype":"sdist","python_version":"source","requires_python":null,"size":23080,"upload_time":"2011-07-24T05:01:45","upload_time_iso_8601":"2011-07-24T05:01:45.612333Z","url":"https://files.pythonhosted.org/packages/5f/1c/8d145fbdb23986063a8a0c954d484a793024137a99ac7f3da603717fe64a/requests-0.5.1.tar.gz","yanked":false,"yanked_reason":null}],"0.6.0":[{"comment_text":"","digests":{"blake2b_256":"0bb8932de3bc1b8630357de85bc0c794ee1a7d343cb8008b470a0c9d15e84341","md5":"235e9fb6bfd71a48c0f00c0d5aef8896","sha256":"2c5036387b75dfb0ff3971604bd1e691cf6a55dc6c397df7adf9fc4804bc7f48"},"downloads":-1,"filename":"requests-0.6.0.tar.gz","has_sig":false,"md5_digest":"235e9fb6bfd71a48c0f00c0d5aef8896","packagetype":"sdist","python_version":"source","requires_python":null,"size":25692,"upload_time":"2011-08-17T10:33:05","upload_time_iso_8601":"2011-08-17T10:33:05.720565Z","url":"https://files.pythonhosted.org/packages/0b/b8/932de3bc1b8630357de85bc0c794ee1a7d343cb8008b470a0c9d15e84341/requests-0.6.0.tar.gz","yanked":false,"yanked_reason":null}],"0.6.1":[{"comment_text":"","digests":{"blake2b_256":"a61ff948fb7ba68b69b13a1fbbb70d7706e889c7b7d3e9867b498ca7971126db","md5":"07770334d48bd69ede1cc28cd0dd7680","sha256":"2656b23db25398e990e6f5d75dfbd960454a1fe573aeedc651773ddd2a8a3bbc"},"downloads":-1,"filename":"requests-0.6.1.tar.gz","has_sig":false,"md5_digest":"07770334d48bd69ede1cc28cd0dd7680","packagetype":"sdist","python_version":"source","requires_python":null,"size":26107,"upload_time":"2011-08-21T00:25:37","upload_time_iso_8601":"2011-08-21T00:25:37.203918Z","url":"https://files.pythonhosted.org/packages/a6/1f/f948fb7ba68b69b13a1fbbb70d7706e889c7b7d3e9867b498ca7971126db/requests-0.6.1.tar.gz","yanked":false,"yanked_reason":null}],"0.6.2":[{"comment_text":"","digests":{"blake2b_256":"5519986305b95fae17c58c95e191943a282bce19f82535af4530890c483937ad","md5":"0583bb5393b9cfcb022dc2aef7d6ffc8","sha256":"b5419f909fc21b8eb037dc4bade29530c28993610b68213b7f7633bf10bcabbc"},"downloads":-1,"filename":"requests-0.6.2.tar.gz","has_sig":false,"md5_digest":"0583bb5393b9cfcb022dc2aef7d6ffc8","packagetype":"sdist","python_version":"source","requires_python":null,"size":26524,"upload_time":"2011-10-09T13:12:45","upload_time_iso_8601":"2011-10-09T13:12:45.395766Z","url":"https://files.pythonhosted.org/packages/55/19/986305b95fae17c58c95e191943a282bce19f82535af4530890c483937ad/requests-0.6.2.tar.gz","yanked":false,"yanked_reason":null}],"0.6.3":[{"comment_text":"","digests":{"blake2b_256":"e13f9235f98536b1393ef8a8e2dbd27273588fc3246000b93b0d763325b2e30c","md5":"35a954ae85b358e498fb0e602f1dce9d","sha256":"bde3e2ea45f6e47acd24ff55628fc7325cacd75746ee2d2b63c093554131fe41"},"downloads":-1,"filename":"requests-0.6.3.tar.gz","has_sig":false,"md5_digest":"35a954ae85b358e498fb0e602f1dce9d","packagetype":"sdist","python_version":"source","requires_python":null,"size":26606,"upload_time":"2011-10-14T03:35:13","upload_time_iso_8601":"2011-10-14T03:35:13.523706Z","url":"https://files.pythonhosted.org/packages/e1/3f/9235f98536b1393ef8a8e2dbd27273588fc3246000b93b0d763325b2e30c/requests-0.6.3.tar.gz","yanked":false,"yanked_reason":null}],"0.6.4":[{"comment_text":"","digests":{"blake2b_256":"97e0a2bc7317b13caf227a75c8151b562b62a2e9f5d4ab4ad59694bfdbf5c35c","md5":"e0eec314178ad9a7bb14f2ec32f35ba3","sha256":"151f105506913a6b84f6119400ca94732ec39f5b4e0991ca2fc840ddb4e37816"},"downloads":-1,"filename":"requests-0.6.4.tar.gz","has_sig":false,"md5_digest":"e0eec314178ad9a7bb14f2ec32f35ba3","packagetype":"sdist","python_version":"source","requires_python":null,"size":30212,"upload_time":"2011-10-14T04:23:31","upload_time_iso_8601":"2011-10-14T04:23:31.793480Z","url":"https://files.pythonhosted.org/packages/97/e0/a2bc7317b13caf227a75c8151b562b62a2e9f5d4ab4ad59694bfdbf5c35c/requests-0.6.4.tar.gz","yanked":false,"yanked_reason":null}],"0.6.5":[{"comment_text":"","digests":{"blake2b_256":"a8a638b9de830719e4cd62ddf51f240654200658d0315aa9e908eda90ee64879","md5":"52f8bc956e027c8a0eb2684f6928169d","sha256":"bb332c171913c2f57cea805d013601af86a46b9aef9b7ef76bdcbed14f939bd7"},"downloads":-1,"filename":"requests-0.6.5.tar.gz","has_sig":false,"md5_digest":"52f8bc956e027c8a0eb2684f6928169d","packagetype":"sdist","python_version":"source","requires_python":null,"size":30647,"upload_time":"2011-10-19T07:30:59","upload_time_iso_8601":"2011-10-19T07:30:59.708543Z","url":"https://files.pythonhosted.org/packages/a8/a6/38b9de830719e4cd62ddf51f240654200658d0315aa9e908eda90ee64879/requests-0.6.5.tar.gz","yanked":false,"yanked_reason":null}],"0.6.6":[{"comment_text":"","digests":{"blake2b_256":"df8d4b1bb15e8814fefa2cdf8f971a479b459d07f8176094bd59742720f31270","md5":"2180dacebc0e30ba730d083739907af6","sha256":"6670aee5fe3bb545e1f7e8bb073a06be65344b467cd698b0ad58e7d7792dc2bb"},"downloads":-1,"filename":"requests-0.6.6.tar.gz","has_sig":false,"md5_digest":"2180dacebc0e30ba730d083739907af6","packagetype":"sdist","python_version":"source","requires_python":null,"size":30809,"upload_time":"2011-10-19T09:39:56","upload_time_iso_8601":"2011-10-19T09:39:56.534103Z","url":"https://files.pythonhosted.org/packages/df/8d/4b1bb15e8814fefa2cdf8f971a479b459d07f8176094bd59742720f31270/requests-0.6.6.tar.gz","yanked":false,"yanked_reason":null}],"0.7.0":[{"comment_text":"","digests":{"blake2b_256":"5c8c0399c9554b04b2b267d81239773657ddc720799a08565b6c21f7aed652df","md5":"83a1a7d79218756efd19b254eeb6b1f0","sha256":"13570c41a218affafe3f3e01db16d1f6cd238d3bd7a1d52cc435bf9de3df099a"},"downloads":-1,"filename":"requests-0.7.0.tar.gz","has_sig":false,"md5_digest":"83a1a7d79218756efd19b254eeb6b1f0","packagetype":"sdist","python_version":"source","requires_python":null,"size":31260,"upload_time":"2011-10-23T03:33:24","upload_time_iso_8601":"2011-10-23T03:33:24.637553Z","url":"https://files.pythonhosted.org/packages/5c/8c/0399c9554b04b2b267d81239773657ddc720799a08565b6c21f7aed652df/requests-0.7.0.tar.gz","yanked":false,"yanked_reason":null}],"0.7.1":[{"comment_text":"","digests":{"blake2b_256":"00c88cf0f078100ce5fe7ff35927d8861e2e36daed9be2db56690f3ad80ccec4","md5":"4821c6902d8e83c910c69c6492388e5f","sha256":"6795818f5f46d7ecf53965d96e2ceae66bf652c79703292973b7c56afb88b946"},"downloads":-1,"filename":"requests-0.7.1.tar.gz","has_sig":false,"md5_digest":"4821c6902d8e83c910c69c6492388e5f","packagetype":"sdist","python_version":"source","requires_python":null,"size":31804,"upload_time":"2011-10-23T21:19:22","upload_time_iso_8601":"2011-10-23T21:19:22.099184Z","url":"https://files.pythonhosted.org/packages/00/c8/8cf0f078100ce5fe7ff35927d8861e2e36daed9be2db56690f3ad80ccec4/requests-0.7.1.tar.gz","yanked":false,"yanked_reason":null}],"0.7.2":[{"comment_text":"","digests":{"blake2b_256":"7cafb46199ae37c032801bcdc5dbb1c82a59613883ee690ff4fd2b5dc3140130","md5":"03eb97ed6aacb4102fd434bbfc13ce17","sha256":"7e58616c2c943116c7fb7595ebc3b00c5016ede5e6b14cf4bd72a812a5534aef"},"downloads":-1,"filename":"requests-0.7.2.tar.gz","has_sig":false,"md5_digest":"03eb97ed6aacb4102fd434bbfc13ce17","packagetype":"sdist","python_version":"source","requires_python":null,"size":31837,"upload_time":"2011-10-23T21:40:37","upload_time_iso_8601":"2011-10-23T21:40:37.623156Z","url":"https://files.pythonhosted.org/packages/7c/af/b46199ae37c032801bcdc5dbb1c82a59613883ee690ff4fd2b5dc3140130/requests-0.7.2.tar.gz","yanked":false,"yanked_reason":null}],"0.7.3":[{"comment_text":"","digests":{"blake2b_256":"3d54c4a7dcfccac9e6dd738e9ed86848a9a5b07a4345e5949f8795cfdc0ea95f","md5":"267f6f7d1109775d24a288f798e3ab4a","sha256":"2e7a0cb6251da5dd8c185f5d404e110d29e47afec7c8e60d78806436360a40d7"},"downloads":-1,"filename":"requests-0.7.3.tar.gz","has_sig":false,"md5_digest":"267f6f7d1109775d24a288f798e3ab4a","packagetype":"sdist","python_version":"source","requires_python":null,"size":31805,"upload_time":"2011-10-23T23:04:13","upload_time_iso_8601":"2011-10-23T23:04:13.595145Z","url":"https://files.pythonhosted.org/packages/3d/54/c4a7dcfccac9e6dd738e9ed86848a9a5b07a4345e5949f8795cfdc0ea95f/requests-0.7.3.tar.gz","yanked":false,"yanked_reason":null}],"0.7.4":[{"comment_text":"","digests":{"blake2b_256":"6450219c9ff86e6fecfb89bdfe1093aea523f14882657186f806462887220267","md5":"c015765399b8c1e309c84ade0d38f07b","sha256":"3101a857831c6b6ec1f88ccebc8a19d38af6a10372537f437cd978c5775b4286"},"downloads":-1,"filename":"requests-0.7.4.tar.gz","has_sig":false,"md5_digest":"c015765399b8c1e309c84ade0d38f07b","packagetype":"sdist","python_version":"source","requires_python":null,"size":31873,"upload_time":"2011-10-27T00:36:25","upload_time_iso_8601":"2011-10-27T00:36:25.355189Z","url":"https://files.pythonhosted.org/packages/64/50/219c9ff86e6fecfb89bdfe1093aea523f14882657186f806462887220267/requests-0.7.4.tar.gz","yanked":false,"yanked_reason":null}],"0.7.5":[{"comment_text":"","digests":{"blake2b_256":"2b9e1be659005a6bb394b02e12804fcaf8cd85050958a459945708b21e362b32","md5":"9a12281a811ca25d347d806c456d96f1","sha256":"ae10f2c5d112768a2e62282dd6b33db230c10ef7a2c3b1cf404806598bacd0b6"},"downloads":-1,"filename":"requests-0.7.5.tar.gz","has_sig":false,"md5_digest":"9a12281a811ca25d347d806c456d96f1","packagetype":"sdist","python_version":"source","requires_python":null,"size":32298,"upload_time":"2011-11-05T04:32:37","upload_time_iso_8601":"2011-11-05T04:32:37.598633Z","url":"https://files.pythonhosted.org/packages/2b/9e/1be659005a6bb394b02e12804fcaf8cd85050958a459945708b21e362b32/requests-0.7.5.tar.gz","yanked":false,"yanked_reason":null}],"0.7.6":[{"comment_text":"","digests":{"blake2b_256":"def08fc024ef4f25ef5690c2121215029f88e1895b60c867c1a39134045b181e","md5":"728b21bf3914d69a4ff1012c66d9b6ba","sha256":"667f9c9cc447c9ee09d34d891db488f2695c99d025fae3ec8d02e235eb7eba95"},"downloads":-1,"filename":"requests-0.7.6.tar.gz","has_sig":false,"md5_digest":"728b21bf3914d69a4ff1012c66d9b6ba","packagetype":"sdist","python_version":"source","requires_python":null,"size":32748,"upload_time":"2011-11-07T20:19:31","upload_time_iso_8601":"2011-11-07T20:19:31.227072Z","url":"https://files.pythonhosted.org/packages/de/f0/8fc024ef4f25ef5690c2121215029f88e1895b60c867c1a39134045b181e/requests-0.7.6.tar.gz","yanked":false,"yanked_reason":null}],"0.8.0":[{"comment_text":"","digests":{"blake2b_256":"6a8532d23f3dbc43e54631bb9bd76d34c2448cc2f2f0de29babfb1a6a79b4d60","md5":"64dc0095cb645aa7f0083957950d524d","sha256":"62b557533f685c4a0af4e38dddc598c38f5ce0bd8e3b15b20809d1606f3843dd"},"downloads":-1,"filename":"requests-0.8.0.tar.gz","has_sig":false,"md5_digest":"64dc0095cb645aa7f0083957950d524d","packagetype":"sdist","python_version":"source","requires_python":null,"size":38785,"upload_time":"2011-11-13T06:52:10","upload_time_iso_8601":"2011-11-13T06:52:10.360103Z","url":"https://files.pythonhosted.org/packages/6a/85/32d23f3dbc43e54631bb9bd76d34c2448cc2f2f0de29babfb1a6a79b4d60/requests-0.8.0.tar.gz","yanked":false,"yanked_reason":null}],"0.8.1":[{"comment_text":"","digests":{"blake2b_256":"aefbb1d6916b5278c44a1a2beb919d7ab96327051c3d47db9d6ee6978743444e","md5":"6135f837fbd113fc62904c60dcc5c70d","sha256":"23756d85cbf7dec36dd624853e76b380c2b538c21769adba1dcced9de0409f68"},"downloads":-1,"filename":"requests-0.8.1.tar.gz","has_sig":false,"md5_digest":"6135f837fbd113fc62904c60dcc5c70d","packagetype":"sdist","python_version":"source","requires_python":null,"size":39046,"upload_time":"2011-11-15T16:01:47","upload_time_iso_8601":"2011-11-15T16:01:47.827430Z","url":"https://files.pythonhosted.org/packages/ae/fb/b1d6916b5278c44a1a2beb919d7ab96327051c3d47db9d6ee6978743444e/requests-0.8.1.tar.gz","yanked":false,"yanked_reason":null}],"0.8.2":[{"comment_text":"","digests":{"blake2b_256":"655de69bad1f71d5284113165738d563a997d0d1ac968f939d1375f3df7c59fc","md5":"bdbbd7f45688e23e87eec52835959943","sha256":"826244e9612aa9a548d1289bef7bbce07eee4872ca21ca80631094d1c512b121"},"downloads":-1,"filename":"requests-0.8.2.tar.gz","has_sig":false,"md5_digest":"bdbbd7f45688e23e87eec52835959943","packagetype":"sdist","python_version":"source","requires_python":null,"size":51162,"upload_time":"2011-11-19T22:28:31","upload_time_iso_8601":"2011-11-19T22:28:31.706305Z","url":"https://files.pythonhosted.org/packages/65/5d/e69bad1f71d5284113165738d563a997d0d1ac968f939d1375f3df7c59fc/requests-0.8.2.tar.gz","yanked":false,"yanked_reason":null}],"0.8.3":[{"comment_text":"","digests":{"blake2b_256":"f81742ab05005c88e8d301fe0ee9b24e34139422268d0d7b8b11f98107c2a794","md5":"93e4cd27ab646fb613a926fede1cc4f5","sha256":"7277ec1fc8b8251bc1ce628651cbfad886704a77aea9f6203dcc042a4f12d214"},"downloads":-1,"filename":"requests-0.8.3.tar.gz","has_sig":false,"md5_digest":"93e4cd27ab646fb613a926fede1cc4f5","packagetype":"sdist","python_version":"source","requires_python":null,"size":51252,"upload_time":"2011-11-27T16:44:51","upload_time_iso_8601":"2011-11-27T16:44:51.946354Z","url":"https://files.pythonhosted.org/packages/f8/17/42ab05005c88e8d301fe0ee9b24e34139422268d0d7b8b11f98107c2a794/requests-0.8.3.tar.gz","yanked":false,"yanked_reason":null}],"0.8.4":[{"comment_text":"","digests":{"blake2b_256":"aaa7ec41790a8fb50f8d359568f82cd37a994af5d0159cccb543d147a7eea751","md5":"642e5c70250989e4feda9c50be57b100","sha256":"3ef7efbe083bcb6f7b1144c7665b5b1f6bd4fc7043dc50ccd564edf62b814c2b"},"downloads":-1,"filename":"requests-0.8.4.tar.gz","has_sig":false,"md5_digest":"642e5c70250989e4feda9c50be57b100","packagetype":"sdist","python_version":"source","requires_python":null,"size":52100,"upload_time":"2011-12-11T17:40:28","upload_time_iso_8601":"2011-12-11T17:40:28.585204Z","url":"https://files.pythonhosted.org/packages/aa/a7/ec41790a8fb50f8d359568f82cd37a994af5d0159cccb543d147a7eea751/requests-0.8.4.tar.gz","yanked":false,"yanked_reason":null}],"0.8.5":[{"comment_text":"","digests":{"blake2b_256":"fcf8329450760dddd7e437eef0cd16a8d48582405e72495cf79a77a82e2f0047","md5":"5f2975ee9e57f4ea000e5a3f50fc85d1","sha256":"1db43116f612b016169d9a994d16aea9c166c55355bac2e05fae75e0ff610f4c"},"downloads":-1,"filename":"requests-0.8.5.tar.gz","has_sig":false,"md5_digest":"5f2975ee9e57f4ea000e5a3f50fc85d1","packagetype":"sdist","python_version":"source","requires_python":null,"size":52351,"upload_time":"2011-12-14T16:43:21","upload_time_iso_8601":"2011-12-14T16:43:21.464961Z","url":"https://files.pythonhosted.org/packages/fc/f8/329450760dddd7e437eef0cd16a8d48582405e72495cf79a77a82e2f0047/requests-0.8.5.tar.gz","yanked":false,"yanked_reason":null}],"0.8.6":[{"comment_text":"","digests":{"blake2b_256":"4e9ba78a3bb2913576fad3ec6f18b8d26dd9579268f6b2191d73f4ec40e09490","md5":"21b03926ab38417a704ebce57972571a","sha256":"b9ad56ff5971b7a4005598e5a9588584ee1153fbf027ed76a7d13585f71489f7"},"downloads":-1,"filename":"requests-0.8.6.tar.gz","has_sig":false,"md5_digest":"21b03926ab38417a704ebce57972571a","packagetype":"sdist","python_version":"source","requires_python":null,"size":52670,"upload_time":"2011-12-19T01:18:29","upload_time_iso_8601":"2011-12-19T01:18:29.495054Z","url":"https://files.pythonhosted.org/packages/4e/9b/a78a3bb2913576fad3ec6f18b8d26dd9579268f6b2191d73f4ec40e09490/requests-0.8.6.tar.gz","yanked":false,"yanked_reason":null}],"0.8.7":[{"comment_text":"","digests":{"blake2b_256":"a783bb447075090f4a3a60082765051d476b62f375d0f8174ebe9545d4bb8938","md5":"e4d4ee3a90396908bd04b50bf2136617","sha256":"2c5b08f7afe8d5ffc1c4f7819e74d5309a52b2f2eb1d78cc144cb57aa10380fe"},"downloads":-1,"filename":"requests-0.8.7.tar.gz","has_sig":false,"md5_digest":"e4d4ee3a90396908bd04b50bf2136617","packagetype":"sdist","python_version":"source","requires_python":null,"size":53578,"upload_time":"2011-12-24T09:18:54","upload_time_iso_8601":"2011-12-24T09:18:54.805200Z","url":"https://files.pythonhosted.org/packages/a7/83/bb447075090f4a3a60082765051d476b62f375d0f8174ebe9545d4bb8938/requests-0.8.7.tar.gz","yanked":false,"yanked_reason":null}],"0.8.8":[{"comment_text":"","digests":{"blake2b_256":"b71d5c7973ca22bc95d53eba28a7dab7088f1ded7db0d174ea467afaaf898dfc","md5":"bfb182cfd3ed839b97744c553b87f502","sha256":"70352c48f106fe4a15537bdb4a029ebbb80c1ae1b6836a9033f2b3d7e52e01fd"},"downloads":-1,"filename":"requests-0.8.8.tar.gz","has_sig":false,"md5_digest":"bfb182cfd3ed839b97744c553b87f502","packagetype":"sdist","python_version":"source","requires_python":null,"size":54212,"upload_time":"2011-12-28T09:55:45","upload_time_iso_8601":"2011-12-28T09:55:45.489845Z","url":"https://files.pythonhosted.org/packages/b7/1d/5c7973ca22bc95d53eba28a7dab7088f1ded7db0d174ea467afaaf898dfc/requests-0.8.8.tar.gz","yanked":false,"yanked_reason":null}],"0.8.9":[{"comment_text":"","digests":{"blake2b_256":"3a729f39b173ee93645013563df119d28841f47b0ca2ebe04afcefd438e42f30","md5":"ff5b3bf5bc3ad19930d3f3afe51f182b","sha256":"870780642a14f5e30a9ef8c419aeb405e5bd4340d4fefbf1e8493dde39225337"},"downloads":-1,"filename":"requests-0.8.9.tar.gz","has_sig":false,"md5_digest":"ff5b3bf5bc3ad19930d3f3afe51f182b","packagetype":"sdist","python_version":"source","requires_python":null,"size":55153,"upload_time":"2011-12-28T10:34:17","upload_time_iso_8601":"2011-12-28T10:34:17.815200Z","url":"https://files.pythonhosted.org/packages/3a/72/9f39b173ee93645013563df119d28841f47b0ca2ebe04afcefd438e42f30/requests-0.8.9.tar.gz","yanked":false,"yanked_reason":null}],"0.9.0":[{"comment_text":"","digests":{"blake2b_256":"89ce0115444a1f9d833768160e678c21483e271466918966c11212f040b5f2af","md5":"5f6f03ec76f68a7a3f35120ab5a6c589","sha256":"43b26edb5c47e0ccf9612d3cf13639a1e7e6c774af5375a684cfa00e747f21b1"},"downloads":-1,"filename":"requests-0.9.0.tar.gz","has_sig":false,"md5_digest":"5f6f03ec76f68a7a3f35120ab5a6c589","packagetype":"sdist","python_version":"source","requires_python":null,"size":55217,"upload_time":"2011-12-28T10:51:35","upload_time_iso_8601":"2011-12-28T10:51:35.541114Z","url":"https://files.pythonhosted.org/packages/89/ce/0115444a1f9d833768160e678c21483e271466918966c11212f040b5f2af/requests-0.9.0.tar.gz","yanked":false,"yanked_reason":null}],"0.9.1":[{"comment_text":"","digests":{"blake2b_256":"48aa1077a5fef0c4fbdad8ce127166ca474c67788b7609137d26e17ab46ee16d","md5":"8ed4667edb5d57945b74a9137adbb8bd","sha256":"0c6fc89ce4f8976dd8ddb1a9e896315a47fb3f1dba95417fd3fa8e626ca9a1e7"},"downloads":-1,"filename":"requests-0.9.1.tar.gz","has_sig":false,"md5_digest":"8ed4667edb5d57945b74a9137adbb8bd","packagetype":"sdist","python_version":"source","requires_python":null,"size":55547,"upload_time":"2012-01-06T07:11:02","upload_time_iso_8601":"2012-01-06T07:11:02.635935Z","url":"https://files.pythonhosted.org/packages/48/aa/1077a5fef0c4fbdad8ce127166ca474c67788b7609137d26e17ab46ee16d/requests-0.9.1.tar.gz","yanked":false,"yanked_reason":null}],"0.9.2":[{"comment_text":"","digests":{"blake2b_256":"68a1fac8e1fa783d167cc49debc5b5328ca57eac9d53b58c34d17ce7592cdc6d","md5":"65b36d99a4d2f78a22f08c95d2475e33","sha256":"eb9a3b0031af396fb6825be897655546f4c54e19669fddb5df72a4a688ae0555"},"downloads":-1,"filename":"requests-0.9.2.tar.gz","has_sig":false,"md5_digest":"65b36d99a4d2f78a22f08c95d2475e33","packagetype":"sdist","python_version":"source","requires_python":null,"size":60967,"upload_time":"2012-01-19T03:39:58","upload_time_iso_8601":"2012-01-19T03:39:58.591876Z","url":"https://files.pythonhosted.org/packages/68/a1/fac8e1fa783d167cc49debc5b5328ca57eac9d53b58c34d17ce7592cdc6d/requests-0.9.2.tar.gz","yanked":false,"yanked_reason":null}],"0.9.3":[{"comment_text":"","digests":{"blake2b_256":"62120840d1bba04e5d60e469610ad78e02e89e6828e776adaef4116413cf5fd0","md5":"b13b6fbfa8fc3fc3c25bae300748053f","sha256":"3c0dd7c014474e0cdd00cad661abd74c88c14183d260d0555dfa51fc5b29abc5"},"downloads":-1,"filename":"requests-0.9.3.tar.gz","has_sig":false,"md5_digest":"b13b6fbfa8fc3fc3c25bae300748053f","packagetype":"sdist","python_version":"source","requires_python":null,"size":61006,"upload_time":"2012-01-19T16:51:33","upload_time_iso_8601":"2012-01-19T16:51:33.637035Z","url":"https://files.pythonhosted.org/packages/62/12/0840d1bba04e5d60e469610ad78e02e89e6828e776adaef4116413cf5fd0/requests-0.9.3.tar.gz","yanked":false,"yanked_reason":null}],"1.0.0":[{"comment_text":"","digests":{"blake2b_256":"46da94c0fd6ff79b85befc3b528cf3771700def274c52b347bf12eeaa466f34c","md5":"099c9035c4b30a7ae5484b1beabc7407","sha256":"f10d8fbcc02a58056ab44f79ff9b3f9fe78e410296527885250bbb36d15be8c6"},"downloads":-1,"filename":"requests-1.0.0.tar.gz","has_sig":false,"md5_digest":"099c9035c4b30a7ae5484b1beabc7407","packagetype":"sdist","python_version":"source","requires_python":null,"size":335548,"upload_time":"2012-12-17T15:00:05","upload_time_iso_8601":"2012-12-17T15:00:05.110522Z","url":"https://files.pythonhosted.org/packages/46/da/94c0fd6ff79b85befc3b528cf3771700def274c52b347bf12eeaa466f34c/requests-1.0.0.tar.gz","yanked":false,"yanked_reason":null}],"1.0.1":[{"comment_text":"","digests":{"blake2b_256":"b803fb15922d14fa0b01a0ff4e2920bb8c08546d970ff387454ba892a67d5243","md5":"2e938f26f2bdf2899862c751bfa7eff5","sha256":"c69222b7c02a8e46d61c3b986e6a3e766db0539235aaafc056c75b8dcf6f5eec"},"downloads":-1,"filename":"requests-1.0.1.tar.gz","has_sig":false,"md5_digest":"2e938f26f2bdf2899862c751bfa7eff5","packagetype":"sdist","python_version":"source","requires_python":null,"size":335625,"upload_time":"2012-12-17T18:53:51","upload_time_iso_8601":"2012-12-17T18:53:51.251872Z","url":"https://files.pythonhosted.org/packages/b8/03/fb15922d14fa0b01a0ff4e2920bb8c08546d970ff387454ba892a67d5243/requests-1.0.1.tar.gz","yanked":false,"yanked_reason":null}],"1.0.2":[{"comment_text":"","digests":{"blake2b_256":"3235f2908b62b155b1737ab80b1a69142d007522bb0d1b3a0d3f8909595762f5","md5":"e5c1a5a5472cd61f144743dd25a2a29f","sha256":"3c81f3ae43916161b8d98d7b329b19533b0d0332b7a774794964e6b08760b0c7"},"downloads":-1,"filename":"requests-1.0.2.tar.gz","has_sig":false,"md5_digest":"e5c1a5a5472cd61f144743dd25a2a29f","packagetype":"sdist","python_version":"source","requires_python":null,"size":335653,"upload_time":"2012-12-17T19:04:31","upload_time_iso_8601":"2012-12-17T19:04:31.658169Z","url":"https://files.pythonhosted.org/packages/32/35/f2908b62b155b1737ab80b1a69142d007522bb0d1b3a0d3f8909595762f5/requests-1.0.2.tar.gz","yanked":false,"yanked_reason":null}],"1.0.3":[{"comment_text":"","digests":{"blake2b_256":"7f7666c01dd9afe4c5062e0c838bbd98ead7fa6b52984c7e26100a42c3eb965a","md5":"a3169a33973d4b5b51843ead01c5e999","sha256":"c7b50dc01b751e5ef8785951a74d0c2373bb0f87b45dca75dc2c5477b7e30f44"},"downloads":-1,"filename":"requests-1.0.3.tar.gz","has_sig":false,"md5_digest":"a3169a33973d4b5b51843ead01c5e999","packagetype":"sdist","python_version":"source","requires_python":null,"size":335757,"upload_time":"2012-12-18T09:51:12","upload_time_iso_8601":"2012-12-18T09:51:12.406576Z","url":"https://files.pythonhosted.org/packages/7f/76/66c01dd9afe4c5062e0c838bbd98ead7fa6b52984c7e26100a42c3eb965a/requests-1.0.3.tar.gz","yanked":false,"yanked_reason":null}],"1.0.4":[{"comment_text":"","digests":{"blake2b_256":"5de8f27e0868b9a49946b3f800722e02b19efebde22ae534276df3e5f6cca41d","md5":"0b7448f9e1a077a7218720575003a1b6","sha256":"f363690a47dd4d6d6e7605fc686b668097a114cd946dffdf21fe0c6a6a46f9e6"},"downloads":-1,"filename":"requests-1.0.4.tar.gz","has_sig":false,"md5_digest":"0b7448f9e1a077a7218720575003a1b6","packagetype":"sdist","python_version":"source","requires_python":null,"size":336280,"upload_time":"2012-12-23T07:45:10","upload_time_iso_8601":"2012-12-23T07:45:10.417631Z","url":"https://files.pythonhosted.org/packages/5d/e8/f27e0868b9a49946b3f800722e02b19efebde22ae534276df3e5f6cca41d/requests-1.0.4.tar.gz","yanked":false,"yanked_reason":null}],"1.1.0":[{"comment_text":"","digests":{"blake2b_256":"e8ffd19b7461d84a5804c5cdc29791305530a2b774fe928b497e74ac9b304c79","md5":"a0158815af244c32041a3147ee09abf3","sha256":"21a81ddf1a3c2f956524538966ae19c38cae251f5629821588cdc8246a1335f7"},"downloads":-1,"filename":"requests-1.1.0.tar.gz","has_sig":false,"md5_digest":"a0158815af244c32041a3147ee09abf3","packagetype":"sdist","python_version":"source","requires_python":null,"size":337229,"upload_time":"2013-01-10T07:13:41","upload_time_iso_8601":"2013-01-10T07:13:41.901588Z","url":"https://files.pythonhosted.org/packages/e8/ff/d19b7461d84a5804c5cdc29791305530a2b774fe928b497e74ac9b304c79/requests-1.1.0.tar.gz","yanked":false,"yanked_reason":null}],"1.2.0":[{"comment_text":"","digests":{"blake2b_256":"37e474cb55b3da7777a1dc7cd7985c3cb12e83e213c03b0f9ca20d2c0e92b3c3","md5":"22af2682233770e5468a986f451c51c0","sha256":"cfa615644ae38efe8423ce9edb23470a4615a9147fa3cea5026afb47c9bb3913"},"downloads":-1,"filename":"requests-1.2.0.tar.gz","has_sig":false,"md5_digest":"22af2682233770e5468a986f451c51c0","packagetype":"sdist","python_version":"source","requires_python":null,"size":341511,"upload_time":"2013-03-31T05:28:47","upload_time_iso_8601":"2013-03-31T05:28:47.574555Z","url":"https://files.pythonhosted.org/packages/37/e4/74cb55b3da7777a1dc7cd7985c3cb12e83e213c03b0f9ca20d2c0e92b3c3/requests-1.2.0.tar.gz","yanked":false,"yanked_reason":null}],"1.2.1":[{"comment_text":"","digests":{"blake2b_256":"3b9ebfa03431335e778854da3d562697e067df40870a78ca81b35089822c6583","md5":"4d019670b94b17e329007d64e67e045e","sha256":"946b7c856aa62f4ad31de2b9bb501cfdcdb4afdc882ee76bd4664f57caefaa44"},"downloads":-1,"filename":"requests-1.2.1.tar.gz","has_sig":false,"md5_digest":"4d019670b94b17e329007d64e67e045e","packagetype":"sdist","python_version":"source","requires_python":null,"size":348710,"upload_time":"2013-05-20T20:11:09","upload_time_iso_8601":"2013-05-20T20:11:09.817186Z","url":"https://files.pythonhosted.org/packages/3b/9e/bfa03431335e778854da3d562697e067df40870a78ca81b35089822c6583/requests-1.2.1.tar.gz","yanked":false,"yanked_reason":null}],"1.2.2":[{"comment_text":"","digests":{"blake2b_256":"c04484a4b7a4e9d5fd1b358dbabd03f17e3dd91ce8881fc3446fbd2fd996be88","md5":"1f655ab7f2aa7447a1657ed69786f436","sha256":"56929d7b5dec9b37a9a8520f15202bada0ad55d2888a7c3243b9b194f2ef603d"},"downloads":-1,"filename":"requests-1.2.2.tar.gz","has_sig":false,"md5_digest":"1f655ab7f2aa7447a1657ed69786f436","packagetype":"sdist","python_version":"source","requires_python":null,"size":348851,"upload_time":"2013-05-21T21:44:44","upload_time_iso_8601":"2013-05-21T21:44:44.405678Z","url":"https://files.pythonhosted.org/packages/c0/44/84a4b7a4e9d5fd1b358dbabd03f17e3dd91ce8881fc3446fbd2fd996be88/requests-1.2.2.tar.gz","yanked":false,"yanked_reason":null}],"1.2.3":[{"comment_text":"","digests":{"blake2b_256":"6179efc316760a906763de872d7328c9bf8c5af28708a35fdae57fbb4ee005f7","md5":"adbd3f18445f7fe5e77f65c502e264fb","sha256":"156bf3ec27ba9ec7e0cf8fbe02808718099d218de403eb64a714d73ba1a29ab1"},"downloads":-1,"filename":"requests-1.2.3.tar.gz","has_sig":false,"md5_digest":"adbd3f18445f7fe5e77f65c502e264fb","packagetype":"sdist","python_version":"source","requires_python":null,"size":348854,"upload_time":"2013-05-25T16:48:36","upload_time_iso_8601":"2013-05-25T16:48:36.421087Z","url":"https://files.pythonhosted.org/packages/61/79/efc316760a906763de872d7328c9bf8c5af28708a35fdae57fbb4ee005f7/requests-1.2.3.tar.gz","yanked":false,"yanked_reason":null}],"2.0.0":[{"comment_text":"","digests":{"blake2b_256":"bf78be2b4c440ea767336d8448fe671fe1d78ca499e49d77dac90f92191cca0e","md5":"6af9c16dbddd2fc751ae4f1606d041e8","sha256":"2ef65639cb9600443f85451df487818c31f993ab288f313d29cc9db4f3cbe6ed"},"downloads":-1,"filename":"requests-2.0.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"6af9c16dbddd2fc751ae4f1606d041e8","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":391141,"upload_time":"2013-11-15T19:09:51","upload_time_iso_8601":"2013-11-15T19:09:51.527323Z","url":"https://files.pythonhosted.org/packages/bf/78/be2b4c440ea767336d8448fe671fe1d78ca499e49d77dac90f92191cca0e/requests-2.0.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"8e88102742c48605aef8d39fa719d932c67783d789679628fa1433cb4b2c7a2a","md5":"856fc825c17483e25fd55db115028e3f","sha256":"78536038f54cff6ade3be6863403146665b5a3923dd61108c98d8b64141f9d70"},"downloads":-1,"filename":"requests-2.0.0.tar.gz","has_sig":false,"md5_digest":"856fc825c17483e25fd55db115028e3f","packagetype":"sdist","python_version":"source","requires_python":null,"size":362994,"upload_time":"2013-09-24T18:39:33","upload_time_iso_8601":"2013-09-24T18:39:33.154169Z","url":"https://files.pythonhosted.org/packages/8e/88/102742c48605aef8d39fa719d932c67783d789679628fa1433cb4b2c7a2a/requests-2.0.0.tar.gz","yanked":false,"yanked_reason":null}],"2.0.1":[{"comment_text":"","digests":{"blake2b_256":"8fea140f18072bbcd81885a9490abb171792fd2961fd7f366be58396f4c6d634","md5":"d524f9a38a29efe1732fd130e5ebe433","sha256":"f4ebc402e0ea5a87a3d42e300b76c292612d8467024f45f9858a8768f9fb6f6e"},"downloads":-1,"filename":"requests-2.0.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"d524f9a38a29efe1732fd130e5ebe433","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":439330,"upload_time":"2013-11-15T19:12:20","upload_time_iso_8601":"2013-11-15T19:12:20.555241Z","url":"https://files.pythonhosted.org/packages/8f/ea/140f18072bbcd81885a9490abb171792fd2961fd7f366be58396f4c6d634/requests-2.0.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"1c8e376c93bb72bdae6a754797b8e31370df1e996e8b7dcc928e66691dbf611a","md5":"38e61c2856d2ba2782286730241975e6","sha256":"8cfddb97667c2a9edaf28b506d2479f1b8dc0631cbdcd0ea8c8864def59c698b"},"downloads":-1,"filename":"requests-2.0.1.tar.gz","has_sig":false,"md5_digest":"38e61c2856d2ba2782286730241975e6","packagetype":"sdist","python_version":"source","requires_python":null,"size":412648,"upload_time":"2013-10-24T14:33:21","upload_time_iso_8601":"2013-10-24T14:33:21.606209Z","url":"https://files.pythonhosted.org/packages/1c/8e/376c93bb72bdae6a754797b8e31370df1e996e8b7dcc928e66691dbf611a/requests-2.0.1.tar.gz","yanked":false,"yanked_reason":null}],"2.1.0":[{"comment_text":"","digests":{"blake2b_256":"1e97f0a8e5e71c75a2abf5ec91438b84ec1a40a5e1b5f985c06721a3ebe57c0a","md5":"0848cbc0cc7edd150cb8d6ddc25ca906","sha256":"fcef306d62b1c061eb00b8402cf136ff0ea1daf7a53b60cdef9563a22850072c"},"downloads":-1,"filename":"requests-2.1.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"0848cbc0cc7edd150cb8d6ddc25ca906","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":445280,"upload_time":"2013-12-05T22:51:41","upload_time_iso_8601":"2013-12-05T22:51:41.312732Z","url":"https://files.pythonhosted.org/packages/1e/97/f0a8e5e71c75a2abf5ec91438b84ec1a40a5e1b5f985c06721a3ebe57c0a/requests-2.1.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"515d3729c242ed7693f29941fd9d40e936d4994b0aa704dfd0c023312fcce8a3","md5":"28543001831f46b1ff40686ebc027deb","sha256":"a57307f3a5f35ec9e1254aaf3e0484063ee3ee6b5f123fb35c5b2673492efa71"},"downloads":-1,"filename":"requests-2.1.0.tar.gz","has_sig":false,"md5_digest":"28543001831f46b1ff40686ebc027deb","packagetype":"sdist","python_version":"source","requires_python":null,"size":420289,"upload_time":"2013-12-05T22:51:38","upload_time_iso_8601":"2013-12-05T22:51:38.634004Z","url":"https://files.pythonhosted.org/packages/51/5d/3729c242ed7693f29941fd9d40e936d4994b0aa704dfd0c023312fcce8a3/requests-2.1.0.tar.gz","yanked":false,"yanked_reason":null}],"2.10.0":[{"comment_text":"","digests":{"blake2b_256":"99b463d99ba8e189c47d906b43bae18af4396e336f2b1bfec86af31efe2d2cb8","md5":"abf5a77de3e8a5973c738cca884502a0","sha256":"09bc1b5f3a56cd8c48d433213a8cba51a67d12936568f73b5f1793fcb0c0979e"},"downloads":-1,"filename":"requests-2.10.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"abf5a77de3e8a5973c738cca884502a0","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":506877,"upload_time":"2016-04-29T22:12:39","upload_time_iso_8601":"2016-04-29T22:12:39.027730Z","url":"https://files.pythonhosted.org/packages/99/b4/63d99ba8e189c47d906b43bae18af4396e336f2b1bfec86af31efe2d2cb8/requests-2.10.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"496f183063f01aae1e025cf0130772b55848750a2f3a89bfa11b385b35d7329d","md5":"a36f7a64600f1bfec4d55ae021d232ae","sha256":"63f1815788157130cee16a933b2ee184038e975f0017306d723ac326b5525b54"},"downloads":-1,"filename":"requests-2.10.0.tar.gz","has_sig":false,"md5_digest":"a36f7a64600f1bfec4d55ae021d232ae","packagetype":"sdist","python_version":"source","requires_python":null,"size":477617,"upload_time":"2016-04-29T22:12:32","upload_time_iso_8601":"2016-04-29T22:12:32.122862Z","url":"https://files.pythonhosted.org/packages/49/6f/183063f01aae1e025cf0130772b55848750a2f3a89bfa11b385b35d7329d/requests-2.10.0.tar.gz","yanked":false,"yanked_reason":null}],"2.11.0":[{"comment_text":"","digests":{"blake2b_256":"f89042d5e0d9b5c4c3629a3d99823bbc3748fb85616f0f7a45e79ba7908d4642","md5":"369b7333bf2f710143a1b6678f2f214c","sha256":"8b9b147f3dff1fc4055ff794ff931f735ed25e87efe667ed7c845a4bafae9b73"},"downloads":-1,"filename":"requests-2.11.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"369b7333bf2f710143a1b6678f2f214c","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":514336,"upload_time":"2016-08-08T15:07:35","upload_time_iso_8601":"2016-08-08T15:07:35.742323Z","url":"https://files.pythonhosted.org/packages/f8/90/42d5e0d9b5c4c3629a3d99823bbc3748fb85616f0f7a45e79ba7908d4642/requests-2.11.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"8d66649f861f980c0a168dd4cccc4dd0ed8fa5bd6c1bed3bea9a286434632771","md5":"147afc07d8967cf46359701551a6cb69","sha256":"b2ff053e93ef11ea08b0e596a1618487c4e4c5f1006d7a1706e3671c57dea385"},"downloads":-1,"filename":"requests-2.11.0.tar.gz","has_sig":false,"md5_digest":"147afc07d8967cf46359701551a6cb69","packagetype":"sdist","python_version":"source","requires_python":null,"size":485199,"upload_time":"2016-08-08T15:07:32","upload_time_iso_8601":"2016-08-08T15:07:32.250147Z","url":"https://files.pythonhosted.org/packages/8d/66/649f861f980c0a168dd4cccc4dd0ed8fa5bd6c1bed3bea9a286434632771/requests-2.11.0.tar.gz","yanked":false,"yanked_reason":null}],"2.11.1":[{"comment_text":"","digests":{"blake2b_256":"ea0392d3278bf8287c5caa07dbd9ea139027d5a3592b0f4d14abf072f890fab2","md5":"b4269c6fb64b9361288620ba028fd385","sha256":"545c4855cd9d7c12671444326337013766f4eea6068c3f0307fb2dc2696d580e"},"downloads":-1,"filename":"requests-2.11.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"b4269c6fb64b9361288620ba028fd385","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":514827,"upload_time":"2016-08-17T20:04:30","upload_time_iso_8601":"2016-08-17T20:04:30.871534Z","url":"https://files.pythonhosted.org/packages/ea/03/92d3278bf8287c5caa07dbd9ea139027d5a3592b0f4d14abf072f890fab2/requests-2.11.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"2eade627446492cc374c284e82381215dcd9a0a87c4f6e90e9789afefe6da0ad","md5":"ad5f9c47b5c5dfdb28363ad7546b0763","sha256":"5acf980358283faba0b897c73959cecf8b841205bb4b2ad3ef545f46eae1a133"},"downloads":-1,"filename":"requests-2.11.1.tar.gz","has_sig":false,"md5_digest":"ad5f9c47b5c5dfdb28363ad7546b0763","packagetype":"sdist","python_version":"source","requires_python":null,"size":485936,"upload_time":"2016-08-17T20:04:26","upload_time_iso_8601":"2016-08-17T20:04:26.747542Z","url":"https://files.pythonhosted.org/packages/2e/ad/e627446492cc374c284e82381215dcd9a0a87c4f6e90e9789afefe6da0ad/requests-2.11.1.tar.gz","yanked":false,"yanked_reason":null}],"2.12.0":[{"comment_text":"","digests":{"blake2b_256":"00939c5c04821578c2ee11af83189c5cbd8338724b5e04e1de5dc3643bbc5bbf","md5":"018b0e512fc0c0c3f30c7fa3c376bb7a","sha256":"a7d8f8f46603b78f03a925227f33988276fbe6c1f3c8cb20174ba9bfc5114c4d"},"downloads":-1,"filename":"requests-2.12.0-py2.py3-none-any.whl","has_sig":true,"md5_digest":"018b0e512fc0c0c3f30c7fa3c376bb7a","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":574416,"upload_time":"2016-11-15T10:32:00","upload_time_iso_8601":"2016-11-15T10:32:00.148361Z","url":"https://files.pythonhosted.org/packages/00/93/9c5c04821578c2ee11af83189c5cbd8338724b5e04e1de5dc3643bbc5bbf/requests-2.12.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"6a977b856a8c8a0efebebb0bbba70c7ee879ee3f9654f28928665b64026ef09a","md5":"d0d3e5fb81c6b4d87c08ed5cad677337","sha256":"57b6c314a2c5f014dce634a0e1eeeb1707741b2e30bc7fee9c5b01fa216d57a3"},"downloads":-1,"filename":"requests-2.12.0.tar.gz","has_sig":true,"md5_digest":"d0d3e5fb81c6b4d87c08ed5cad677337","packagetype":"sdist","python_version":"source","requires_python":null,"size":545112,"upload_time":"2016-11-15T10:32:06","upload_time_iso_8601":"2016-11-15T10:32:06.217543Z","url":"https://files.pythonhosted.org/packages/6a/97/7b856a8c8a0efebebb0bbba70c7ee879ee3f9654f28928665b64026ef09a/requests-2.12.0.tar.gz","yanked":false,"yanked_reason":null}],"2.12.1":[{"comment_text":"","digests":{"blake2b_256":"9b31e9925a2b9a06f97c3450bac6107928d3533bfe64ca5615442504104321e8","md5":"384ec19e410ffeb43951782c11d3223b","sha256":"3f3f27a9d0f9092935efc78054ef324eb9f8166718270aefe036dfa1e4f68e1e"},"downloads":-1,"filename":"requests-2.12.1-py2.py3-none-any.whl","has_sig":true,"md5_digest":"384ec19e410ffeb43951782c11d3223b","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":574526,"upload_time":"2016-11-16T10:45:37","upload_time_iso_8601":"2016-11-16T10:45:37.051370Z","url":"https://files.pythonhosted.org/packages/9b/31/e9925a2b9a06f97c3450bac6107928d3533bfe64ca5615442504104321e8/requests-2.12.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"6e407434b2d9fe24107ada25ec90a1fc646e97f346130a2c51aa6a2b1aba28de","md5":"8c8ff05ea401ea22718038c3a416ea50","sha256":"2109ecea94df90980be040490ff1d879971b024861539abb00054062388b612e"},"downloads":-1,"filename":"requests-2.12.1.tar.gz","has_sig":true,"md5_digest":"8c8ff05ea401ea22718038c3a416ea50","packagetype":"sdist","python_version":"source","requires_python":null,"size":545246,"upload_time":"2016-11-16T10:45:42","upload_time_iso_8601":"2016-11-16T10:45:42.744303Z","url":"https://files.pythonhosted.org/packages/6e/40/7434b2d9fe24107ada25ec90a1fc646e97f346130a2c51aa6a2b1aba28de/requests-2.12.1.tar.gz","yanked":false,"yanked_reason":null}],"2.12.2":[{"comment_text":"","digests":{"blake2b_256":"59dc54d39bef11678853ca78fc6167cc1b57becf491548942246dd2226bf2bd2","md5":"8c58fa0a054badea1cfbfa54a23299d2","sha256":"e5a102790b234bde8f949090e50e294490c2be0d81e3d55530fd91f3b5eded63"},"downloads":-1,"filename":"requests-2.12.2-py2.py3-none-any.whl","has_sig":true,"md5_digest":"8c58fa0a054badea1cfbfa54a23299d2","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":575582,"upload_time":"2016-11-30T12:39:31","upload_time_iso_8601":"2016-11-30T12:39:31.252307Z","url":"https://files.pythonhosted.org/packages/59/dc/54d39bef11678853ca78fc6167cc1b57becf491548942246dd2226bf2bd2/requests-2.12.2-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"18873c46a06df7b29cd3ab51f055cae2a954758ee3dcbd075d7f4c9a4e8aafbc","md5":"1ec26adca0265ead9afd42919867c370","sha256":"09dadb7c5c4210ebbc7f1b14a351a754f1191bd7cd5a5b60ee1929b8c7dcbbe6"},"downloads":-1,"filename":"requests-2.12.2.tar.gz","has_sig":true,"md5_digest":"1ec26adca0265ead9afd42919867c370","packagetype":"sdist","python_version":"source","requires_python":null,"size":546512,"upload_time":"2016-11-30T12:39:34","upload_time_iso_8601":"2016-11-30T12:39:34.983059Z","url":"https://files.pythonhosted.org/packages/18/87/3c46a06df7b29cd3ab51f055cae2a954758ee3dcbd075d7f4c9a4e8aafbc/requests-2.12.2.tar.gz","yanked":false,"yanked_reason":null}],"2.12.3":[{"comment_text":"","digests":{"blake2b_256":"8468f0acceafe80354aa9ff4ae49de0572d27929b6d262f0c55196424eb86b2f","md5":"9b4e857c4a27a9c282cb1abb53ebaba2","sha256":"d92ed9912bab3f5e52d8e231be82c106650f648185e952f83c44ab4f2be55c0c"},"downloads":-1,"filename":"requests-2.12.3-py2.py3-none-any.whl","has_sig":true,"md5_digest":"9b4e857c4a27a9c282cb1abb53ebaba2","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":575922,"upload_time":"2016-12-01T10:49:02","upload_time_iso_8601":"2016-12-01T10:49:02.775404Z","url":"https://files.pythonhosted.org/packages/84/68/f0acceafe80354aa9ff4ae49de0572d27929b6d262f0c55196424eb86b2f/requests-2.12.3-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"d903155b3e67fe35fe5b6f4227a8d9e96a14fda828b18199800d161bcefc1359","md5":"0cafdecd95a46b081dd5fcfa4978db7a","sha256":"de5d266953875e9647e37ef7bfe6ef1a46ff8ddfe61b5b3652edf7ea717ee2b2"},"downloads":-1,"filename":"requests-2.12.3.tar.gz","has_sig":true,"md5_digest":"0cafdecd95a46b081dd5fcfa4978db7a","packagetype":"sdist","python_version":"source","requires_python":null,"size":546994,"upload_time":"2016-12-01T10:49:08","upload_time_iso_8601":"2016-12-01T10:49:08.086038Z","url":"https://files.pythonhosted.org/packages/d9/03/155b3e67fe35fe5b6f4227a8d9e96a14fda828b18199800d161bcefc1359/requests-2.12.3.tar.gz","yanked":false,"yanked_reason":null}],"2.12.4":[{"comment_text":"","digests":{"blake2b_256":"ed9e60cc074968c095f728f0d8d28370e8d396fa60afb7582735563cccf223dd","md5":"3989eaeaa2ccad20470afc61710d3498","sha256":"000748df49e087784441b2621c50fb81046c5c8e80e0d91674ffad65b9e13844"},"downloads":-1,"filename":"requests-2.12.4-py2.py3-none-any.whl","has_sig":true,"md5_digest":"3989eaeaa2ccad20470afc61710d3498","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":576448,"upload_time":"2016-12-14T11:39:35","upload_time_iso_8601":"2016-12-14T11:39:35.297490Z","url":"https://files.pythonhosted.org/packages/ed/9e/60cc074968c095f728f0d8d28370e8d396fa60afb7582735563cccf223dd/requests-2.12.4-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"5b0b34be574b1ec997247796e5d516f3a6b6509c4e064f2885a96ed885ce7579","md5":"acdb48888a9d3c7309da12fc7f83fedb","sha256":"ed98431a0631e309bb4b63c81d561c1654822cb103de1ac7b47e45c26be7ae34"},"downloads":-1,"filename":"requests-2.12.4.tar.gz","has_sig":true,"md5_digest":"acdb48888a9d3c7309da12fc7f83fedb","packagetype":"sdist","python_version":"source","requires_python":null,"size":547650,"upload_time":"2016-12-14T11:39:39","upload_time_iso_8601":"2016-12-14T11:39:39.385140Z","url":"https://files.pythonhosted.org/packages/5b/0b/34be574b1ec997247796e5d516f3a6b6509c4e064f2885a96ed885ce7579/requests-2.12.4.tar.gz","yanked":false,"yanked_reason":null}],"2.12.5":[{"comment_text":"","digests":{"blake2b_256":"bf99af6139323bac0ca0c6023eabbdc526579525f5584278d001dd2e169f8300","md5":"eeb46098018d358d86c45131a8342060","sha256":"d57dae49f4267e8cb378aff9e426c9304a78794d03e945e39bfc607355715658"},"downloads":-1,"filename":"requests-2.12.5-py2.py3-none-any.whl","has_sig":true,"md5_digest":"eeb46098018d358d86c45131a8342060","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":576765,"upload_time":"2017-01-18T12:43:08","upload_time_iso_8601":"2017-01-18T12:43:08.631826Z","url":"https://files.pythonhosted.org/packages/bf/99/af6139323bac0ca0c6023eabbdc526579525f5584278d001dd2e169f8300/requests-2.12.5-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"b6617b374462d5b6b1d824977182db287758d549d8680444bad8d530195acba2","md5":"360bb3af97881a7056ed5bb3d0a3e8a3","sha256":"d902a54f08d086a7cc6e58c20e2bb225b1ae82c19c35e5925269ee94fb9fce00"},"downloads":-1,"filename":"requests-2.12.5.tar.gz","has_sig":true,"md5_digest":"360bb3af97881a7056ed5bb3d0a3e8a3","packagetype":"sdist","python_version":"source","requires_python":null,"size":548336,"upload_time":"2017-01-18T12:43:12","upload_time_iso_8601":"2017-01-18T12:43:12.017010Z","url":"https://files.pythonhosted.org/packages/b6/61/7b374462d5b6b1d824977182db287758d549d8680444bad8d530195acba2/requests-2.12.5.tar.gz","yanked":false,"yanked_reason":null}],"2.13.0":[{"comment_text":"","digests":{"blake2b_256":"7eaca80ed043485a3764053f59ca92f809cc8a18344692817152b0e8bd3ca891","md5":"5e432dcf5bd1e3402ea1656700d99365","sha256":"1a720e8862a41aa22e339373b526f508ef0c8988baf48b84d3fc891a8e237efb"},"downloads":-1,"filename":"requests-2.13.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"5e432dcf5bd1e3402ea1656700d99365","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":584556,"upload_time":"2017-01-24T12:53:25","upload_time_iso_8601":"2017-01-24T12:53:25.259314Z","url":"https://files.pythonhosted.org/packages/7e/ac/a80ed043485a3764053f59ca92f809cc8a18344692817152b0e8bd3ca891/requests-2.13.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"160937b69de7c924d318e51ece1c4ceb679bf93be9d05973bb30c35babd596e2","md5":"921ec6b48f2ddafc8bb6160957baf444","sha256":"5722cd09762faa01276230270ff16af7acf7c5c45d623868d9ba116f15791ce8"},"downloads":-1,"filename":"requests-2.13.0.tar.gz","has_sig":false,"md5_digest":"921ec6b48f2ddafc8bb6160957baf444","packagetype":"sdist","python_version":"source","requires_python":null,"size":557508,"upload_time":"2017-01-24T12:53:28","upload_time_iso_8601":"2017-01-24T12:53:28.060212Z","url":"https://files.pythonhosted.org/packages/16/09/37b69de7c924d318e51ece1c4ceb679bf93be9d05973bb30c35babd596e2/requests-2.13.0.tar.gz","yanked":false,"yanked_reason":null}],"2.14.0":[{"comment_text":"","digests":{"blake2b_256":"1bd3f2541f2965e78f139bff9f001594d41ed90f4b2ce4b61bca387e60c1d3b4","md5":"09e9f0852d50bee105ca859095298923","sha256":"a90555c0be723f5c711de36f256b21a65fc599602274fb3d5c4f83ac23aae3c5"},"downloads":-1,"filename":"requests-2.14.0-py2.py3-none-any.whl","has_sig":true,"md5_digest":"09e9f0852d50bee105ca859095298923","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":559873,"upload_time":"2017-05-09T15:45:03","upload_time_iso_8601":"2017-05-09T15:45:03.006047Z","url":"https://files.pythonhosted.org/packages/1b/d3/f2541f2965e78f139bff9f001594d41ed90f4b2ce4b61bca387e60c1d3b4/requests-2.14.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"0bacffd3674211bc47ae3bf55c7cd4a8fe484b7289af2ffd9cfed5683708690a","md5":"09c5b60caced97cbe69064d486d6db53","sha256":"8c4f778459cb4a6bad7ceff4aa65a75697db28c21a6b41ea9a6c371df2a822c2"},"downloads":-1,"filename":"requests-2.14.0.tar.gz","has_sig":true,"md5_digest":"09c5b60caced97cbe69064d486d6db53","packagetype":"sdist","python_version":"source","requires_python":null,"size":520782,"upload_time":"2017-05-09T15:45:05","upload_time_iso_8601":"2017-05-09T15:45:05.815269Z","url":"https://files.pythonhosted.org/packages/0b/ac/ffd3674211bc47ae3bf55c7cd4a8fe484b7289af2ffd9cfed5683708690a/requests-2.14.0.tar.gz","yanked":false,"yanked_reason":null}],"2.14.1":[{"comment_text":"","digests":{"blake2b_256":"74ac789eb98e0f5431d6d1ce36549ead88b2ab3154260f37c7dac9a34fd170b1","md5":"81754d76f9a71a2d25f8c413fcf86e2c","sha256":"c5a42004b9cd384e5ad0f868b1cc968a3c2bb0276dccc12e4bdc7330591b5f51"},"downloads":-1,"filename":"requests-2.14.1-py2.py3-none-any.whl","has_sig":true,"md5_digest":"81754d76f9a71a2d25f8c413fcf86e2c","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":559930,"upload_time":"2017-05-09T19:00:26","upload_time_iso_8601":"2017-05-09T19:00:26.274919Z","url":"https://files.pythonhosted.org/packages/74/ac/789eb98e0f5431d6d1ce36549ead88b2ab3154260f37c7dac9a34fd170b1/requests-2.14.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"8cff78297074b9b4cf102f9bbd71b62508965dd5c1876e016ef131e5b15c16a4","md5":"e985e49070df0024777a55fd59ceef46","sha256":"b3b191d677e526c1e512db86bc7387ccb8356e8826bcc7faa07f78f09afe68dd"},"downloads":-1,"filename":"requests-2.14.1.tar.gz","has_sig":true,"md5_digest":"e985e49070df0024777a55fd59ceef46","packagetype":"sdist","python_version":"source","requires_python":null,"size":520890,"upload_time":"2017-05-09T19:00:30","upload_time_iso_8601":"2017-05-09T19:00:30.585216Z","url":"https://files.pythonhosted.org/packages/8c/ff/78297074b9b4cf102f9bbd71b62508965dd5c1876e016ef131e5b15c16a4/requests-2.14.1.tar.gz","yanked":false,"yanked_reason":null}],"2.14.2":[{"comment_text":"","digests":{"blake2b_256":"e4b0286e8a936158e5cc5791d5fa3bc4b1d5a7e1ff4e5b3f3766b63d8e97708a","md5":"a1b2f02e7ba45dff7c76f621cde042c4","sha256":"3b39cde35be51762885631cf586f4dc2284951b44d479a4454020758d767cc2f"},"downloads":-1,"filename":"requests-2.14.2-py2.py3-none-any.whl","has_sig":true,"md5_digest":"a1b2f02e7ba45dff7c76f621cde042c4","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":560030,"upload_time":"2017-05-10T14:05:39","upload_time_iso_8601":"2017-05-10T14:05:39.911571Z","url":"https://files.pythonhosted.org/packages/e4/b0/286e8a936158e5cc5791d5fa3bc4b1d5a7e1ff4e5b3f3766b63d8e97708a/requests-2.14.2-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"72464abc3f5aaf7bf16a52206bb0c68677a26c216c1e6625c78c5aef695b5359","md5":"4c3c169ed67466088a2a6947784fe444","sha256":"a274abba399a23e8713ffd2b5706535ae280ebe2b8069ee6a941cb089440d153"},"downloads":-1,"filename":"requests-2.14.2.tar.gz","has_sig":true,"md5_digest":"4c3c169ed67466088a2a6947784fe444","packagetype":"sdist","python_version":"source","requires_python":null,"size":521027,"upload_time":"2017-05-10T14:05:43","upload_time_iso_8601":"2017-05-10T14:05:43.749338Z","url":"https://files.pythonhosted.org/packages/72/46/4abc3f5aaf7bf16a52206bb0c68677a26c216c1e6625c78c5aef695b5359/requests-2.14.2.tar.gz","yanked":false,"yanked_reason":null}],"2.15.0":[],"2.15.1":[{"comment_text":"","digests":{"blake2b_256":"faa5e04c4607dc96e3e6b22dfa13ba8776c64bb65cb97ab90f05a3ee14096a0a","md5":"bdf7767141594c4a927188f60665705a","sha256":"ff753b2196cd18b1bbeddc9dcd5c864056599f7a7d9a4fb5677e723efa2b7fb9"},"downloads":-1,"filename":"requests-2.15.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"bdf7767141594c4a927188f60665705a","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":558730,"upload_time":"2017-05-27T02:14:19","upload_time_iso_8601":"2017-05-27T02:14:19.048380Z","url":"https://files.pythonhosted.org/packages/fa/a5/e04c4607dc96e3e6b22dfa13ba8776c64bb65cb97ab90f05a3ee14096a0a/requests-2.15.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"6ded3adebdc29ca33f11bca00c38c72125cd4a51091e13685375ba4426fb59dc","md5":"1bcf7a286fa26e40a5a397f06ece00e4","sha256":"e5659b9315a0610505e050bb7190bf6fa2ccee1ac295f2b760ef9d8a03ebbb2e"},"downloads":-1,"filename":"requests-2.15.1.tar.gz","has_sig":false,"md5_digest":"1bcf7a286fa26e40a5a397f06ece00e4","packagetype":"sdist","python_version":"source","requires_python":null,"size":548172,"upload_time":"2017-05-27T02:14:22","upload_time_iso_8601":"2017-05-27T02:14:22.414350Z","url":"https://files.pythonhosted.org/packages/6d/ed/3adebdc29ca33f11bca00c38c72125cd4a51091e13685375ba4426fb59dc/requests-2.15.1.tar.gz","yanked":false,"yanked_reason":null}],"2.16.0":[{"comment_text":"","digests":{"blake2b_256":"35b88ff3310309beb5fbca033b56504f869b0c65c1f284ae2a7900593b5acd3c","md5":"f219013c8cacaaae7534ce2373cbeadc","sha256":"012cddec41f96a1ce4bab4b0a0ed40263ae6b2b03aa4bc4711e00418e7f3157c"},"downloads":-1,"filename":"requests-2.16.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"f219013c8cacaaae7534ce2373cbeadc","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":85432,"upload_time":"2017-05-27T03:45:40","upload_time_iso_8601":"2017-05-27T03:45:40.367893Z","url":"https://files.pythonhosted.org/packages/35/b8/8ff3310309beb5fbca033b56504f869b0c65c1f284ae2a7900593b5acd3c/requests-2.16.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"26e74f1ec439ecbcfe3989bb79a9c323d2482e7beea3d8d453e07443302648ec","md5":"5ca9eafc020445c86efc0be1f28f602e","sha256":"88eee720e83bc1dcb009ad5e2a8f1d41e903892121ec2a36eba7bf5a2d3ac2a0"},"downloads":-1,"filename":"requests-2.16.0.tar.gz","has_sig":false,"md5_digest":"5ca9eafc020445c86efc0be1f28f602e","packagetype":"sdist","python_version":"source","requires_python":null,"size":120726,"upload_time":"2017-05-27T03:48:25","upload_time_iso_8601":"2017-05-27T03:48:25.729621Z","url":"https://files.pythonhosted.org/packages/26/e7/4f1ec439ecbcfe3989bb79a9c323d2482e7beea3d8d453e07443302648ec/requests-2.16.0.tar.gz","yanked":false,"yanked_reason":null}],"2.16.1":[{"comment_text":"","digests":{"blake2b_256":"c75d7711f9fc9b028dc7572f84589e206220f0072e29fd9c7ae3507e7d17d8a6","md5":"0a825bf34bf2cd89b13a04a3a7800e61","sha256":"b81b3651a206f02709e374c52071b4ac9bdf463c193701a560ce8e25c9ecc80b"},"downloads":-1,"filename":"requests-2.16.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"0a825bf34bf2cd89b13a04a3a7800e61","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":85732,"upload_time":"2017-05-27T13:43:53","upload_time_iso_8601":"2017-05-27T13:43:53.090483Z","url":"https://files.pythonhosted.org/packages/c7/5d/7711f9fc9b028dc7572f84589e206220f0072e29fd9c7ae3507e7d17d8a6/requests-2.16.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"4c541d3abddbd4c7544138b88e8329ef5294ffdc6c5d7ea965bf42e3cc4c9c39","md5":"4acb351824461eb3ae1f74ec3a65ff28","sha256":"14d663571c66410a7c3634f4cb9040b16a1c083078e37a0f8cc3710eae63411e"},"downloads":-1,"filename":"requests-2.16.1.tar.gz","has_sig":false,"md5_digest":"4acb351824461eb3ae1f74ec3a65ff28","packagetype":"sdist","python_version":"source","requires_python":null,"size":120972,"upload_time":"2017-05-27T13:44:20","upload_time_iso_8601":"2017-05-27T13:44:20.358570Z","url":"https://files.pythonhosted.org/packages/4c/54/1d3abddbd4c7544138b88e8329ef5294ffdc6c5d7ea965bf42e3cc4c9c39/requests-2.16.1.tar.gz","yanked":false,"yanked_reason":null}],"2.16.2":[{"comment_text":"","digests":{"blake2b_256":"6791b3893b0db7c645b9f92aa827ce3db630eef2dd3a2ad3109c2a28cdc9e6b7","md5":"cc40805ee6f06d148aaa5e76d3e24a07","sha256":"afebb4fcabd66ba6e3188fd31f09915f5afd213b204014ea02448011eca1e49a"},"downloads":-1,"filename":"requests-2.16.2-py2.py3-none-any.whl","has_sig":false,"md5_digest":"cc40805ee6f06d148aaa5e76d3e24a07","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":86285,"upload_time":"2017-05-27T14:53:09","upload_time_iso_8601":"2017-05-27T14:53:09.839813Z","url":"https://files.pythonhosted.org/packages/67/91/b3893b0db7c645b9f92aa827ce3db630eef2dd3a2ad3109c2a28cdc9e6b7/requests-2.16.2-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"3c69d49fd9a7be23c55278c92e60af6d57336c463d8593afe7260a1665346965","md5":"e5425e53aa95e27a9a8267a097feafdc","sha256":"a2956efcf8dd2d526286431fdb0ec78eff25ab8db8a03c4f9d66f5fe6024f168"},"downloads":-1,"filename":"requests-2.16.2.tar.gz","has_sig":false,"md5_digest":"e5425e53aa95e27a9a8267a097feafdc","packagetype":"sdist","python_version":"source","requires_python":null,"size":121652,"upload_time":"2017-05-27T14:53:31","upload_time_iso_8601":"2017-05-27T14:53:31.935404Z","url":"https://files.pythonhosted.org/packages/3c/69/d49fd9a7be23c55278c92e60af6d57336c463d8593afe7260a1665346965/requests-2.16.2.tar.gz","yanked":false,"yanked_reason":null}],"2.16.3":[{"comment_text":"","digests":{"blake2b_256":"76b6e3035b7baa98e20d248fe17af2097b882ec7724d9a8ee7ae195ad7110f82","md5":"0db7fa396a581c66ca4c1b8d02ce1bd4","sha256":"bcdc06ebfc25f2a198274ae4710c3217fb968c5f9468dc410cd603a59c47bff2"},"downloads":-1,"filename":"requests-2.16.3-py2.py3-none-any.whl","has_sig":false,"md5_digest":"0db7fa396a581c66ca4c1b8d02ce1bd4","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":86310,"upload_time":"2017-05-27T16:24:47","upload_time_iso_8601":"2017-05-27T16:24:47.512647Z","url":"https://files.pythonhosted.org/packages/76/b6/e3035b7baa98e20d248fe17af2097b882ec7724d9a8ee7ae195ad7110f82/requests-2.16.3-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"07db3ed266e9cd3e3f69af3af38f56a0b4e21dadf3065521b2860030889284d7","md5":"c9816b77406fd9f8e9b80ec8a560d4d8","sha256":"7fda55400281de8fba713dd120b4614eabc10c0b096c22bfc88ccc671227c3d4"},"downloads":-1,"filename":"requests-2.16.3.tar.gz","has_sig":false,"md5_digest":"c9816b77406fd9f8e9b80ec8a560d4d8","packagetype":"sdist","python_version":"source","requires_python":null,"size":121736,"upload_time":"2017-05-27T16:24:49","upload_time_iso_8601":"2017-05-27T16:24:49.598403Z","url":"https://files.pythonhosted.org/packages/07/db/3ed266e9cd3e3f69af3af38f56a0b4e21dadf3065521b2860030889284d7/requests-2.16.3.tar.gz","yanked":false,"yanked_reason":null}],"2.16.4":[{"comment_text":"","digests":{"blake2b_256":"135241fb28aa332ed68cd616cd1fc44d9e9c4bb85aa60c28d275f8857da561e5","md5":"d1a5f370e6c5236f898f27aa40a84358","sha256":"784213e164287b403497195cf7f45071ae5eec60ae260cbc9a26368a91445f57"},"downloads":-1,"filename":"requests-2.16.4-py2.py3-none-any.whl","has_sig":false,"md5_digest":"d1a5f370e6c5236f898f27aa40a84358","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":87567,"upload_time":"2017-05-27T21:17:38","upload_time_iso_8601":"2017-05-27T21:17:38.023572Z","url":"https://files.pythonhosted.org/packages/13/52/41fb28aa332ed68cd616cd1fc44d9e9c4bb85aa60c28d275f8857da561e5/requests-2.16.4-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"47684fe8c7e9e95133d15e342b1403a1751909cddb814a5a9cced2ba4c63487d","md5":"badefd50cfc5bc36926a2693e792d277","sha256":"14db43bfaa61fd3102eecaf447a593e0650ba0dc261c72597109a973c23091ab"},"downloads":-1,"filename":"requests-2.16.4.tar.gz","has_sig":false,"md5_digest":"badefd50cfc5bc36926a2693e792d277","packagetype":"sdist","python_version":"source","requires_python":null,"size":122918,"upload_time":"2017-05-27T21:17:41","upload_time_iso_8601":"2017-05-27T21:17:41.534350Z","url":"https://files.pythonhosted.org/packages/47/68/4fe8c7e9e95133d15e342b1403a1751909cddb814a5a9cced2ba4c63487d/requests-2.16.4.tar.gz","yanked":false,"yanked_reason":null}],"2.16.5":[{"comment_text":"","digests":{"blake2b_256":"659c57484d6ac262af20a10b52cd95ebc99843f282342ef008997ef60f9eeb9c","md5":"d10cd92d383805c5cc5a0683cf231e55","sha256":"3a27020d547958f5270fd5e9d62250119ee7db7454644599b65fda20cb542ded"},"downloads":-1,"filename":"requests-2.16.5-py2.py3-none-any.whl","has_sig":false,"md5_digest":"d10cd92d383805c5cc5a0683cf231e55","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":87597,"upload_time":"2017-05-28T04:35:44","upload_time_iso_8601":"2017-05-28T04:35:44.914574Z","url":"https://files.pythonhosted.org/packages/65/9c/57484d6ac262af20a10b52cd95ebc99843f282342ef008997ef60f9eeb9c/requests-2.16.5-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"de4c7c36954d002030c82df31d000338d40fd91b4a993941a8f3c2dbe523c749","md5":"cca4f82209373759f5799fc0df6aca23","sha256":"f717303ebff661099cc5b73ce723ae1246f19ac39faa4c8005be56744d1a1006"},"downloads":-1,"filename":"requests-2.16.5.tar.gz","has_sig":false,"md5_digest":"cca4f82209373759f5799fc0df6aca23","packagetype":"sdist","python_version":"source","requires_python":null,"size":122929,"upload_time":"2017-05-28T04:35:48","upload_time_iso_8601":"2017-05-28T04:35:48.205458Z","url":"https://files.pythonhosted.org/packages/de/4c/7c36954d002030c82df31d000338d40fd91b4a993941a8f3c2dbe523c749/requests-2.16.5.tar.gz","yanked":false,"yanked_reason":null}],"2.17.0":[{"comment_text":"","digests":{"blake2b_256":"5bb69a18db79553524246aa1b081829e6f977667ec558cef684988895c1092d9","md5":"6856177470710847da6eb8c5ffb94ed6","sha256":"73b4088c05f7fb5ca8e68651ed802df3ca40621281acf74bb321b4a8408aab7e"},"downloads":-1,"filename":"requests-2.17.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"6856177470710847da6eb8c5ffb94ed6","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":87361,"upload_time":"2017-05-29T17:24:35","upload_time_iso_8601":"2017-05-29T17:24:35.939176Z","url":"https://files.pythonhosted.org/packages/5b/b6/9a18db79553524246aa1b081829e6f977667ec558cef684988895c1092d9/requests-2.17.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"7c84617aaa311f6504489459c016daff4c66df6bbd54ee35b4cbed3e994f322d","md5":"60e16f82a83d02ba30f9139310bf5301","sha256":"eff227db5864238d44270cbadc8ac4133e69b69a2e7092b7b316ed1e4761cbd6"},"downloads":-1,"filename":"requests-2.17.0.tar.gz","has_sig":false,"md5_digest":"60e16f82a83d02ba30f9139310bf5301","packagetype":"sdist","python_version":"source","requires_python":null,"size":122994,"upload_time":"2017-05-29T17:24:38","upload_time_iso_8601":"2017-05-29T17:24:38.973041Z","url":"https://files.pythonhosted.org/packages/7c/84/617aaa311f6504489459c016daff4c66df6bbd54ee35b4cbed3e994f322d/requests-2.17.0.tar.gz","yanked":false,"yanked_reason":null}],"2.17.1":[{"comment_text":"","digests":{"blake2b_256":"5041f6fdaf24a80c726a72f76b15869a20734b7a527081129a380ddce99ffae0","md5":"6ef65029dde7091e65fae2561f36305a","sha256":"02242978c6aaee47953da9e4d20d9d9929a1284a6b3a8a63a243ac1b842bd12c"},"downloads":-1,"filename":"requests-2.17.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"6ef65029dde7091e65fae2561f36305a","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":87498,"upload_time":"2017-05-29T19:59:39","upload_time_iso_8601":"2017-05-29T19:59:39.065426Z","url":"https://files.pythonhosted.org/packages/50/41/f6fdaf24a80c726a72f76b15869a20734b7a527081129a380ddce99ffae0/requests-2.17.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"d0c0f66d080e64a361382ed665023b9925e274d833f410f8c7282fb878e9c60e","md5":"53318fe8030b8b234ca672cde82916e4","sha256":"9cf3698006012c000af2804fe4186042a4d55df0303552dd190a74f5eaafe69b"},"downloads":-1,"filename":"requests-2.17.1.tar.gz","has_sig":false,"md5_digest":"53318fe8030b8b234ca672cde82916e4","packagetype":"sdist","python_version":"source","requires_python":null,"size":123045,"upload_time":"2017-05-29T19:59:40","upload_time_iso_8601":"2017-05-29T19:59:40.643067Z","url":"https://files.pythonhosted.org/packages/d0/c0/f66d080e64a361382ed665023b9925e274d833f410f8c7282fb878e9c60e/requests-2.17.1.tar.gz","yanked":false,"yanked_reason":null}],"2.17.2":[{"comment_text":"","digests":{"blake2b_256":"9a0b7a65b391bde96d7b1749dc3562ce22f9cc86f37bd37122f71162304e3164","md5":"30bd4d2841ae4c86ffd89db2a2703c75","sha256":"76d2f962485ebb3b3c380f146d56f5475310e53fd0defd6df0eb1c014187d45c"},"downloads":-1,"filename":"requests-2.17.2-py2.py3-none-any.whl","has_sig":false,"md5_digest":"30bd4d2841ae4c86ffd89db2a2703c75","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":87516,"upload_time":"2017-05-29T21:33:32","upload_time_iso_8601":"2017-05-29T21:33:32.234721Z","url":"https://files.pythonhosted.org/packages/9a/0b/7a65b391bde96d7b1749dc3562ce22f9cc86f37bd37122f71162304e3164/requests-2.17.2-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"23c299fe3c5c15f3d06f0620bc0867bee95ec64074cbd7c9805bb5ad3010411e","md5":"f28069fe8ef82543387f3dbe152cffa3","sha256":"3cc7a584aad15e84d193a6d7c9176af0cf49bc6611f24ec2e04be6b05957c96d"},"downloads":-1,"filename":"requests-2.17.2.tar.gz","has_sig":false,"md5_digest":"f28069fe8ef82543387f3dbe152cffa3","packagetype":"sdist","python_version":"source","requires_python":null,"size":123058,"upload_time":"2017-05-29T21:33:37","upload_time_iso_8601":"2017-05-29T21:33:37.405434Z","url":"https://files.pythonhosted.org/packages/23/c2/99fe3c5c15f3d06f0620bc0867bee95ec64074cbd7c9805bb5ad3010411e/requests-2.17.2.tar.gz","yanked":false,"yanked_reason":null}],"2.17.3":[{"comment_text":"","digests":{"blake2b_256":"29b9d26a6ab2ee178415ab8c0c591d2a1eb782a50c42a417ae390055f86a63c1","md5":"66a7f010b985631e768485af6f3c61df","sha256":"baf701b4a9d4cbe40169e8ab77816f7abadbad502ba459c30f7a2bc138e4d612"},"downloads":-1,"filename":"requests-2.17.3-py2.py3-none-any.whl","has_sig":false,"md5_digest":"66a7f010b985631e768485af6f3c61df","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":87526,"upload_time":"2017-05-29T21:53:19","upload_time_iso_8601":"2017-05-29T21:53:19.494862Z","url":"https://files.pythonhosted.org/packages/29/b9/d26a6ab2ee178415ab8c0c591d2a1eb782a50c42a417ae390055f86a63c1/requests-2.17.3-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"27c7a45641c83c6e28f4922ba6af3d4ae4d79b41932c2f3d77fed9e0bf878149","md5":"b1b8e6412e11e00e12adbb7786c3f2a3","sha256":"8d29f97ed1541709b57caddb77bb20592411d7ca10ec4f03275f49ee8456e225"},"downloads":-1,"filename":"requests-2.17.3.tar.gz","has_sig":false,"md5_digest":"b1b8e6412e11e00e12adbb7786c3f2a3","packagetype":"sdist","python_version":"source","requires_python":null,"size":123148,"upload_time":"2017-05-29T21:53:22","upload_time_iso_8601":"2017-05-29T21:53:22.237539Z","url":"https://files.pythonhosted.org/packages/27/c7/a45641c83c6e28f4922ba6af3d4ae4d79b41932c2f3d77fed9e0bf878149/requests-2.17.3.tar.gz","yanked":false,"yanked_reason":null}],"2.18.0":[{"comment_text":"","digests":{"blake2b_256":"e2f0c81405acbf53d0412b984eb3fc578cdd10e347374e1aec074638a500c186","md5":"6f34e2439fcb3dd1b6e3304903bb6be8","sha256":"5e88d64aa56ac0fda54e77fb9762ebc65879e171b746d5479a33c4082519d6c6"},"downloads":-1,"filename":"requests-2.18.0-py2.py3-none-any.whl","has_sig":true,"md5_digest":"6f34e2439fcb3dd1b6e3304903bb6be8","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":563596,"upload_time":"2017-06-14T15:44:35","upload_time_iso_8601":"2017-06-14T15:44:35.080617Z","url":"https://files.pythonhosted.org/packages/e2/f0/c81405acbf53d0412b984eb3fc578cdd10e347374e1aec074638a500c186/requests-2.18.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"e097e2f972b6826c9cfe57b6934e3773d2783733bc2d345d810bafd309df3d15","md5":"b8b333ace1653652ddcce95284577f5c","sha256":"cd0189f962787284bff715fddaad478eb4d9c15aa167bd64e52ea0f661e7ea5c"},"downloads":-1,"filename":"requests-2.18.0.tar.gz","has_sig":true,"md5_digest":"b8b333ace1653652ddcce95284577f5c","packagetype":"sdist","python_version":"source","requires_python":null,"size":124085,"upload_time":"2017-06-14T15:44:37","upload_time_iso_8601":"2017-06-14T15:44:37.484470Z","url":"https://files.pythonhosted.org/packages/e0/97/e2f972b6826c9cfe57b6934e3773d2783733bc2d345d810bafd309df3d15/requests-2.18.0.tar.gz","yanked":false,"yanked_reason":null}],"2.18.1":[{"comment_text":"","digests":{"blake2b_256":"5a58671011e3ff4a06e2969322267d78dcfda1bf4d1576551df1cce93cd7239d","md5":"a7fbdc82134a2610b3d0cdc7e59f0bde","sha256":"6afd3371c1f4c1970497cdcace5c5ecbbe58267bf05ca1abd93d99d170803ab7"},"downloads":-1,"filename":"requests-2.18.1-py2.py3-none-any.whl","has_sig":true,"md5_digest":"a7fbdc82134a2610b3d0cdc7e59f0bde","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":88107,"upload_time":"2017-06-14T17:51:25","upload_time_iso_8601":"2017-06-14T17:51:25.096686Z","url":"https://files.pythonhosted.org/packages/5a/58/671011e3ff4a06e2969322267d78dcfda1bf4d1576551df1cce93cd7239d/requests-2.18.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"2cb52b6e8ef8dd18203b6399e9f28c7d54f6de7b7549853fe36d575bd31e29a7","md5":"40f723ed01dddeaf990d0609d073f021","sha256":"c6f3bdf4a4323ac7b45d01e04a6f6c20e32a052cd04de81e05103abc049ad9b9"},"downloads":-1,"filename":"requests-2.18.1.tar.gz","has_sig":true,"md5_digest":"40f723ed01dddeaf990d0609d073f021","packagetype":"sdist","python_version":"source","requires_python":null,"size":124229,"upload_time":"2017-06-14T17:51:28","upload_time_iso_8601":"2017-06-14T17:51:28.960131Z","url":"https://files.pythonhosted.org/packages/2c/b5/2b6e8ef8dd18203b6399e9f28c7d54f6de7b7549853fe36d575bd31e29a7/requests-2.18.1.tar.gz","yanked":false,"yanked_reason":null}],"2.18.2":[{"comment_text":"","digests":{"blake2b_256":"cffa31b222e4b44975de1b5ac3e1a725abdfeb00e0d761567ab426ee28a7fc73","md5":"08026e24839d8bf36d248abfb2b6b674","sha256":"414459f05392835d4d653b57b8e58f98aea9c6ff2782e37de0a1ee92891ce900"},"downloads":-1,"filename":"requests-2.18.2-py2.py3-none-any.whl","has_sig":true,"md5_digest":"08026e24839d8bf36d248abfb2b6b674","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":88342,"upload_time":"2017-07-25T15:23:15","upload_time_iso_8601":"2017-07-25T15:23:15.338694Z","url":"https://files.pythonhosted.org/packages/cf/fa/31b222e4b44975de1b5ac3e1a725abdfeb00e0d761567ab426ee28a7fc73/requests-2.18.2-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"072e81fdfdfac91cf3cb2518fb149ac67caf0e081b485eab68e9aee63396f7e8","md5":"49bd9924d3be341871bc922cde6f372e","sha256":"5b26fcc5e72757a867e4d562333f841eddcef93548908a1bb1a9207260618da9"},"downloads":-1,"filename":"requests-2.18.2.tar.gz","has_sig":true,"md5_digest":"49bd9924d3be341871bc922cde6f372e","packagetype":"sdist","python_version":"source","requires_python":null,"size":125381,"upload_time":"2017-07-25T15:23:18","upload_time_iso_8601":"2017-07-25T15:23:18.103843Z","url":"https://files.pythonhosted.org/packages/07/2e/81fdfdfac91cf3cb2518fb149ac67caf0e081b485eab68e9aee63396f7e8/requests-2.18.2.tar.gz","yanked":false,"yanked_reason":null}],"2.18.3":[{"comment_text":"","digests":{"blake2b_256":"ba92c35ed010e8f96781f08dfa6d9a6a19445a175a9304aceedece77cd48b68f","md5":"d2d34c959a45f7da592a383485ad8b8c","sha256":"b62be4ec5999c24d10c98d248a136e7db20ca6616a2b65060cd9399417331e8a"},"downloads":-1,"filename":"requests-2.18.3-py2.py3-none-any.whl","has_sig":true,"md5_digest":"d2d34c959a45f7da592a383485ad8b8c","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":88626,"upload_time":"2017-08-02T13:23:31","upload_time_iso_8601":"2017-08-02T13:23:31.998938Z","url":"https://files.pythonhosted.org/packages/ba/92/c35ed010e8f96781f08dfa6d9a6a19445a175a9304aceedece77cd48b68f/requests-2.18.3-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"c338d95ddb6cc8558930600be088e174a2152261a1e0708a18bf91b5b8c90b22","md5":"c8f60cf816a35c0c3fef0a40d0e407a6","sha256":"fb68a7baef4965c12d9cd67c0f5a46e6e28be3d8c7b6910c758fbcc99880b518"},"downloads":-1,"filename":"requests-2.18.3.tar.gz","has_sig":true,"md5_digest":"c8f60cf816a35c0c3fef0a40d0e407a6","packagetype":"sdist","python_version":"source","requires_python":null,"size":126008,"upload_time":"2017-08-02T13:23:35","upload_time_iso_8601":"2017-08-02T13:23:35.599515Z","url":"https://files.pythonhosted.org/packages/c3/38/d95ddb6cc8558930600be088e174a2152261a1e0708a18bf91b5b8c90b22/requests-2.18.3.tar.gz","yanked":false,"yanked_reason":null}],"2.18.4":[{"comment_text":"","digests":{"blake2b_256":"49df50aa1999ab9bde74656c2919d9c0c085fd2b3775fd3eca826012bef76d8c","md5":"eb9be71cc41fd73a51a7c9cd1adde5de","sha256":"6a1b267aa90cac58ac3a765d067950e7dbbf75b1da07e895d1f594193a40a38b"},"downloads":-1,"filename":"requests-2.18.4-py2.py3-none-any.whl","has_sig":true,"md5_digest":"eb9be71cc41fd73a51a7c9cd1adde5de","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":88704,"upload_time":"2017-08-15T13:23:43","upload_time_iso_8601":"2017-08-15T13:23:43.489631Z","url":"https://files.pythonhosted.org/packages/49/df/50aa1999ab9bde74656c2919d9c0c085fd2b3775fd3eca826012bef76d8c/requests-2.18.4-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"b0e1eab4fc3752e3d240468a8c0b284607899d2fbfb236a56b7377a329aa8d09","md5":"081412b2ef79bdc48229891af13f4d82","sha256":"9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"},"downloads":-1,"filename":"requests-2.18.4.tar.gz","has_sig":true,"md5_digest":"081412b2ef79bdc48229891af13f4d82","packagetype":"sdist","python_version":"source","requires_python":null,"size":126224,"upload_time":"2017-08-15T13:23:46","upload_time_iso_8601":"2017-08-15T13:23:46.348325Z","url":"https://files.pythonhosted.org/packages/b0/e1/eab4fc3752e3d240468a8c0b284607899d2fbfb236a56b7377a329aa8d09/requests-2.18.4.tar.gz","yanked":false,"yanked_reason":null}],"2.19.0":[{"comment_text":"","digests":{"blake2b_256":"cc15e1c318dbc20032ffbe5628837ca0de2d5b116ffd1b849c699634010f6a5d","md5":"1ae2b89f8ea3e4aea8b199987fb2aae9","sha256":"421cfc8d9dde7d6aff68196420afd86b88c65d77d8da9cf83f4ecad785d7b9d6"},"downloads":-1,"filename":"requests-2.19.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"1ae2b89f8ea3e4aea8b199987fb2aae9","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*","size":91865,"upload_time":"2018-06-12T14:46:15","upload_time_iso_8601":"2018-06-12T14:46:15.289074Z","url":"https://files.pythonhosted.org/packages/cc/15/e1c318dbc20032ffbe5628837ca0de2d5b116ffd1b849c699634010f6a5d/requests-2.19.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"752782da3fa4ea7a8c3526c48eaafe427352ff9c931633b917c2251826a43697","md5":"8a7844c58d496e9e92481de459830229","sha256":"cc408268d0e21589bcc2b2c248e42932b8c4d112f499c12c92e99e2178a6134c"},"downloads":-1,"filename":"requests-2.19.0.tar.gz","has_sig":false,"md5_digest":"8a7844c58d496e9e92481de459830229","packagetype":"sdist","python_version":"source","requires_python":">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*","size":130875,"upload_time":"2018-06-12T14:46:17","upload_time_iso_8601":"2018-06-12T14:46:17.223245Z","url":"https://files.pythonhosted.org/packages/75/27/82da3fa4ea7a8c3526c48eaafe427352ff9c931633b917c2251826a43697/requests-2.19.0.tar.gz","yanked":false,"yanked_reason":null}],"2.19.1":[{"comment_text":"","digests":{"blake2b_256":"65477e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda","md5":"81af0806ab8cb000f46139970c81ad56","sha256":"63b52e3c866428a224f97cab011de738c36aec0185aa91cfacd418b5d58911d1"},"downloads":-1,"filename":"requests-2.19.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"81af0806ab8cb000f46139970c81ad56","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*","size":91979,"upload_time":"2018-06-14T13:40:38","upload_time_iso_8601":"2018-06-14T13:40:38.236729Z","url":"https://files.pythonhosted.org/packages/65/47/7e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda/requests-2.19.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"541f782a5734931ddf2e1494e4cd615a51ff98e1879cbe9eecbdfeaf09aa75e9","md5":"6c1a31afec9d614e2e71a91ee6ca2878","sha256":"ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a"},"downloads":-1,"filename":"requests-2.19.1.tar.gz","has_sig":false,"md5_digest":"6c1a31afec9d614e2e71a91ee6ca2878","packagetype":"sdist","python_version":"source","requires_python":">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*","size":131068,"upload_time":"2018-06-14T13:40:41","upload_time_iso_8601":"2018-06-14T13:40:41.014589Z","url":"https://files.pythonhosted.org/packages/54/1f/782a5734931ddf2e1494e4cd615a51ff98e1879cbe9eecbdfeaf09aa75e9/requests-2.19.1.tar.gz","yanked":false,"yanked_reason":null}],"2.2.0":[{"comment_text":"","digests":{"blake2b_256":"3b99a8acc0c986281232f9476575c27a81ab697afbf089f42f05c196f51892c0","md5":"8f989615bb0d276d5f3158e7efab494c","sha256":"889d334044cd3364d07419c37671ba4f213d0f59601109dcb54c8a7ebdde38ee"},"downloads":-1,"filename":"requests-2.2.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"8f989615bb0d276d5f3158e7efab494c","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":623932,"upload_time":"2014-01-09T19:33:37","upload_time_iso_8601":"2014-01-09T19:33:37.785784Z","url":"https://files.pythonhosted.org/packages/3b/99/a8acc0c986281232f9476575c27a81ab697afbf089f42f05c196f51892c0/requests-2.2.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"c95aaa687599abd76de72ae5a554e2e70328fc311d59e0b1e999263fb094baf3","md5":"4d2e17221d478ece045e2e81cdb177f5","sha256":"1ff74f88bbfddf94f92aa20bd8473c7d46d3398c95b1842d81b2f3c475d5625d"},"downloads":-1,"filename":"requests-2.2.0.tar.gz","has_sig":false,"md5_digest":"4d2e17221d478ece045e2e81cdb177f5","packagetype":"sdist","python_version":"source","requires_python":null,"size":421997,"upload_time":"2014-01-09T19:33:32","upload_time_iso_8601":"2014-01-09T19:33:32.362704Z","url":"https://files.pythonhosted.org/packages/c9/5a/aa687599abd76de72ae5a554e2e70328fc311d59e0b1e999263fb094baf3/requests-2.2.0.tar.gz","yanked":false,"yanked_reason":null}],"2.2.1":[{"comment_text":"","digests":{"blake2b_256":"7d156efffc6aee666e1456852c2bf1d483b46bf971a2d509b35a98fc3eae1c60","md5":"1e38addb978e50bd86f62bda53956b03","sha256":"b5bd2e1b78d28051108ebaa6248750221f9ccef52b4f054cb727de61b0406de0"},"downloads":-1,"filename":"requests-2.2.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"1e38addb978e50bd86f62bda53956b03","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":625382,"upload_time":"2014-01-23T18:26:15","upload_time_iso_8601":"2014-01-23T18:26:15.042092Z","url":"https://files.pythonhosted.org/packages/7d/15/6efffc6aee666e1456852c2bf1d483b46bf971a2d509b35a98fc3eae1c60/requests-2.2.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"d10c2dc2996268bc64b531a5a2dc6f4ec04552f3a8a2a86e88aeedcb92987741","md5":"ac27081135f58d1a43e4fb38258d6f4e","sha256":"1266921f1bed5fbf364cd83cf239b6d7b3ea5c32ccccbc93980d9ba12cdcfd02"},"downloads":-1,"filename":"requests-2.2.1.tar.gz","has_sig":false,"md5_digest":"ac27081135f58d1a43e4fb38258d6f4e","packagetype":"sdist","python_version":"source","requires_python":null,"size":421978,"upload_time":"2014-01-23T18:26:12","upload_time_iso_8601":"2014-01-23T18:26:12.018048Z","url":"https://files.pythonhosted.org/packages/d1/0c/2dc2996268bc64b531a5a2dc6f4ec04552f3a8a2a86e88aeedcb92987741/requests-2.2.1.tar.gz","yanked":false,"yanked_reason":null}],"2.20.0":[{"comment_text":"","digests":{"blake2b_256":"f1ca10332a30cb25b627192b4ea272c351bce3ca1091e541245cccbace6051d8","md5":"ce72dd5c4d378dfb1c20c065c523f5ec","sha256":"a84b8c9ab6239b578f22d1c21d51b696dcfe004032bb80ea832398d6909d7279"},"downloads":-1,"filename":"requests-2.20.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"ce72dd5c4d378dfb1c20c065c523f5ec","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*","size":60980,"upload_time":"2018-10-18T15:46:10","upload_time_iso_8601":"2018-10-18T15:46:10.776819Z","url":"https://files.pythonhosted.org/packages/f1/ca/10332a30cb25b627192b4ea272c351bce3ca1091e541245cccbace6051d8/requests-2.20.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"971092d25b93e9c266c94b76a5548f020f3f1dd0eb40649cb1993532c0af8f4c","md5":"cf034ab571854453719594120366f467","sha256":"99dcfdaaeb17caf6e526f32b6a7b780461512ab3f1d992187801694cba42770c"},"downloads":-1,"filename":"requests-2.20.0.tar.gz","has_sig":false,"md5_digest":"cf034ab571854453719594120366f467","packagetype":"sdist","python_version":"source","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*","size":111179,"upload_time":"2018-10-18T15:46:12","upload_time_iso_8601":"2018-10-18T15:46:12.763897Z","url":"https://files.pythonhosted.org/packages/97/10/92d25b93e9c266c94b76a5548f020f3f1dd0eb40649cb1993532c0af8f4c/requests-2.20.0.tar.gz","yanked":false,"yanked_reason":null}],"2.20.1":[{"comment_text":"","digests":{"blake2b_256":"ff175cbb026005115301a8fb2f9b0e3e8d32313142fe8b617070e7baad20554f","md5":"2b8ae222e77e2468f60517b77e163ac5","sha256":"65b3a120e4329e33c9889db89c80976c5272f56ea92d3e74da8a463992e3ff54"},"downloads":-1,"filename":"requests-2.20.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"2b8ae222e77e2468f60517b77e163ac5","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*","size":57987,"upload_time":"2018-11-08T17:20:29","upload_time_iso_8601":"2018-11-08T17:20:29.533862Z","url":"https://files.pythonhosted.org/packages/ff/17/5cbb026005115301a8fb2f9b0e3e8d32313142fe8b617070e7baad20554f/requests-2.20.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"4035298c36d839547b50822985a2cf0611b3b978a5ab7a5af5562b8ebe3e1369","md5":"2918817ea4688f4ea21cb4b11e353448","sha256":"ea881206e59f41dbd0bd445437d792e43906703fff75ca8ff43ccdb11f33f263"},"downloads":-1,"filename":"requests-2.20.1.tar.gz","has_sig":false,"md5_digest":"2918817ea4688f4ea21cb4b11e353448","packagetype":"sdist","python_version":"source","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*","size":111475,"upload_time":"2018-11-08T17:20:31","upload_time_iso_8601":"2018-11-08T17:20:31.391071Z","url":"https://files.pythonhosted.org/packages/40/35/298c36d839547b50822985a2cf0611b3b978a5ab7a5af5562b8ebe3e1369/requests-2.20.1.tar.gz","yanked":false,"yanked_reason":null}],"2.21.0":[{"comment_text":"","digests":{"blake2b_256":"7de320f3d364d6c8e5d2353c72a67778eb189176f08e873c9900e10c0287b84b","md5":"ed3af234ffcad0b3c1e521e1dfde19be","sha256":"7bf2a778576d825600030a110f3c0e3e8edc51dfaafe1c146e39a2027784957b"},"downloads":-1,"filename":"requests-2.21.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"ed3af234ffcad0b3c1e521e1dfde19be","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*","size":57987,"upload_time":"2018-12-10T15:40:08","upload_time_iso_8601":"2018-12-10T15:40:08.741431Z","url":"https://files.pythonhosted.org/packages/7d/e3/20f3d364d6c8e5d2353c72a67778eb189176f08e873c9900e10c0287b84b/requests-2.21.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"522c514e4ac25da2b08ca5a464c50463682126385c4272c18193876e91f4bc38","md5":"1bcd0e0977c3f8db1848ba0e2b7ab904","sha256":"502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e"},"downloads":-1,"filename":"requests-2.21.0.tar.gz","has_sig":false,"md5_digest":"1bcd0e0977c3f8db1848ba0e2b7ab904","packagetype":"sdist","python_version":"source","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*","size":111528,"upload_time":"2018-12-10T15:40:11","upload_time_iso_8601":"2018-12-10T15:40:11.072000Z","url":"https://files.pythonhosted.org/packages/52/2c/514e4ac25da2b08ca5a464c50463682126385c4272c18193876e91f4bc38/requests-2.21.0.tar.gz","yanked":false,"yanked_reason":null}],"2.22.0":[{"comment_text":"","digests":{"blake2b_256":"51bd23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb","md5":"d5327a0023c190febb7e2f491d5ca905","sha256":"9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31"},"downloads":-1,"filename":"requests-2.22.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"d5327a0023c190febb7e2f491d5ca905","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*","size":57952,"upload_time":"2019-05-16T14:37:14","upload_time_iso_8601":"2019-05-16T14:37:14.357166Z","url":"https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"0162ddcf76d1d19885e8579acb1b1df26a852b03472c0e46d2b959a714c90608","md5":"ee28bee2de76e9198fc41e48f3a7dd47","sha256":"11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4"},"downloads":-1,"filename":"requests-2.22.0.tar.gz","has_sig":false,"md5_digest":"ee28bee2de76e9198fc41e48f3a7dd47","packagetype":"sdist","python_version":"source","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*","size":113406,"upload_time":"2019-05-16T14:37:18","upload_time_iso_8601":"2019-05-16T14:37:18.093794Z","url":"https://files.pythonhosted.org/packages/01/62/ddcf76d1d19885e8579acb1b1df26a852b03472c0e46d2b959a714c90608/requests-2.22.0.tar.gz","yanked":false,"yanked_reason":null}],"2.23.0":[{"comment_text":"","digests":{"blake2b_256":"190a6efa24d3589a8595a7293bd9716bbd4608fcc668a27aa83fff9043c515f7","md5":"f0da649ef267cd36692187489bbb1761","sha256":"5d2d0ffbb515f39417009a46c14256291061ac01ba8f875b90cad137de83beb4"},"downloads":-1,"filename":"requests-2.23.0-py2.7.egg","has_sig":false,"md5_digest":"f0da649ef267cd36692187489bbb1761","packagetype":"bdist_egg","python_version":"2.7","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*","size":57274,"upload_time":"2020-06-17T16:30:11","upload_time_iso_8601":"2020-06-17T16:30:11.334360Z","url":"https://files.pythonhosted.org/packages/19/0a/6efa24d3589a8595a7293bd9716bbd4608fcc668a27aa83fff9043c515f7/requests-2.23.0-py2.7.egg","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"1a701935c770cb3be6e3a8b78ced23d7e0f3b187f5cbfab4749523ed65d7c9b1","md5":"71e867ff3d34b2b6a75e0f74f833cafe","sha256":"43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee"},"downloads":-1,"filename":"requests-2.23.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"71e867ff3d34b2b6a75e0f74f833cafe","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*","size":58406,"upload_time":"2020-02-19T18:50:59","upload_time_iso_8601":"2020-02-19T18:50:59.409378Z","url":"https://files.pythonhosted.org/packages/1a/70/1935c770cb3be6e3a8b78ced23d7e0f3b187f5cbfab4749523ed65d7c9b1/requests-2.23.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"f54f280162d4bd4d8aad241a21aecff7a6e46891b905a4341e7ab549ebaf7915","md5":"abfdc28db1065bbd0bc32592ac9d27a6","sha256":"b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6"},"downloads":-1,"filename":"requests-2.23.0.tar.gz","has_sig":false,"md5_digest":"abfdc28db1065bbd0bc32592ac9d27a6","packagetype":"sdist","python_version":"source","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*","size":114327,"upload_time":"2020-02-19T18:51:01","upload_time_iso_8601":"2020-02-19T18:51:01.710547Z","url":"https://files.pythonhosted.org/packages/f5/4f/280162d4bd4d8aad241a21aecff7a6e46891b905a4341e7ab549ebaf7915/requests-2.23.0.tar.gz","yanked":false,"yanked_reason":null}],"2.24.0":[{"comment_text":"","digests":{"blake2b_256":"451e0c169c6a5381e241ba7404532c16a21d86ab872c9bed8bdcd4c423954103","md5":"d80d503dc463ef3ee3013a74831571f9","sha256":"fe75cc94a9443b9246fc7049224f75604b113c36acb93f87b80ed42c44cbb898"},"downloads":-1,"filename":"requests-2.24.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"d80d503dc463ef3ee3013a74831571f9","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*","size":61826,"upload_time":"2020-06-17T16:30:08","upload_time_iso_8601":"2020-06-17T16:30:08.738735Z","url":"https://files.pythonhosted.org/packages/45/1e/0c169c6a5381e241ba7404532c16a21d86ab872c9bed8bdcd4c423954103/requests-2.24.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"da67672b422d9daf07365259958912ba533a0ecab839d4084c487a5fe9a5405f","md5":"b54bff26a389e5932e8b1c4983a99ce7","sha256":"b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b"},"downloads":-1,"filename":"requests-2.24.0.tar.gz","has_sig":false,"md5_digest":"b54bff26a389e5932e8b1c4983a99ce7","packagetype":"sdist","python_version":"source","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*","size":115071,"upload_time":"2020-06-17T16:30:14","upload_time_iso_8601":"2020-06-17T16:30:14.123456Z","url":"https://files.pythonhosted.org/packages/da/67/672b422d9daf07365259958912ba533a0ecab839d4084c487a5fe9a5405f/requests-2.24.0.tar.gz","yanked":false,"yanked_reason":null}],"2.25.0":[{"comment_text":"","digests":{"blake2b_256":"39fcf91eac5a39a65f75a7adb58eac7fa78871ea9872283fb9c44e6545998134","md5":"2966d68a5a4e6832d967763d41f48d04","sha256":"e786fa28d8c9154e6a4de5d46a1d921b8749f8b74e28bde23768e5e16eece998"},"downloads":-1,"filename":"requests-2.25.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"2966d68a5a4e6832d967763d41f48d04","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*","size":61132,"upload_time":"2020-11-11T20:05:15","upload_time_iso_8601":"2020-11-11T20:05:15.870484Z","url":"https://files.pythonhosted.org/packages/39/fc/f91eac5a39a65f75a7adb58eac7fa78871ea9872283fb9c44e6545998134/requests-2.25.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"9f144a6542a078773957aa83101336375c9597e6fe5889d20abda9c38f9f3ff2","md5":"94cd712029077897e252212c5f402b79","sha256":"7f1a0b932f4a60a1a65caa4263921bb7d9ee911957e0ae4a23a6dd08185ad5f8"},"downloads":-1,"filename":"requests-2.25.0.tar.gz","has_sig":false,"md5_digest":"94cd712029077897e252212c5f402b79","packagetype":"sdist","python_version":"source","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*","size":101897,"upload_time":"2020-11-11T20:05:17","upload_time_iso_8601":"2020-11-11T20:05:17.193088Z","url":"https://files.pythonhosted.org/packages/9f/14/4a6542a078773957aa83101336375c9597e6fe5889d20abda9c38f9f3ff2/requests-2.25.0.tar.gz","yanked":false,"yanked_reason":null}],"2.25.1":[{"comment_text":"","digests":{"blake2b_256":"29c124814557f1d22c56d50280771a17307e6bf87b70727d975fd6b2ce6b014a","md5":"ec79209809129bf13cb002a0a573ef45","sha256":"c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"},"downloads":-1,"filename":"requests-2.25.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"ec79209809129bf13cb002a0a573ef45","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*","size":61216,"upload_time":"2020-12-16T19:38:34","upload_time_iso_8601":"2020-12-16T19:38:34.329342Z","url":"https://files.pythonhosted.org/packages/29/c1/24814557f1d22c56d50280771a17307e6bf87b70727d975fd6b2ce6b014a/requests-2.25.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"6b47c14abc08432ab22dc18b9892252efaf005ab44066de871e72a38d6af464b","md5":"514d6f7eba77ada0b8c98ec7818828db","sha256":"27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"},"downloads":-1,"filename":"requests-2.25.1.tar.gz","has_sig":false,"md5_digest":"514d6f7eba77ada0b8c98ec7818828db","packagetype":"sdist","python_version":"source","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*","size":102161,"upload_time":"2020-12-16T19:38:36","upload_time_iso_8601":"2020-12-16T19:38:36.779257Z","url":"https://files.pythonhosted.org/packages/6b/47/c14abc08432ab22dc18b9892252efaf005ab44066de871e72a38d6af464b/requests-2.25.1.tar.gz","yanked":false,"yanked_reason":null}],"2.26.0":[{"comment_text":"","digests":{"blake2b_256":"9296144f70b972a9c0eabbd4391ef93ccd49d0f2747f4f6a2a2738e99e5adc65","md5":"deb79adc50b8205783221cfff7075d1e","sha256":"6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"},"downloads":-1,"filename":"requests-2.26.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"deb79adc50b8205783221cfff7075d1e","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*","size":62251,"upload_time":"2021-07-13T14:55:06","upload_time_iso_8601":"2021-07-13T14:55:06.933494Z","url":"https://files.pythonhosted.org/packages/92/96/144f70b972a9c0eabbd4391ef93ccd49d0f2747f4f6a2a2738e99e5adc65/requests-2.26.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"e7013569e0b535fb2e4a6c384bdbed00c55b9d78b5084e0fb7f4d0bf523d7670","md5":"8c745949ad3e9ae83d9927fed213db8a","sha256":"b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"},"downloads":-1,"filename":"requests-2.26.0.tar.gz","has_sig":false,"md5_digest":"8c745949ad3e9ae83d9927fed213db8a","packagetype":"sdist","python_version":"source","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*","size":104433,"upload_time":"2021-07-13T14:55:08","upload_time_iso_8601":"2021-07-13T14:55:08.972521Z","url":"https://files.pythonhosted.org/packages/e7/01/3569e0b535fb2e4a6c384bdbed00c55b9d78b5084e0fb7f4d0bf523d7670/requests-2.26.0.tar.gz","yanked":false,"yanked_reason":null}],"2.27.0":[{"comment_text":"","digests":{"blake2b_256":"4701f420e7add78110940639a958e5af0e3f8e07a8a8b62049bac55ee117aa91","md5":"2ec257c73468c1831efa501dc04103a1","sha256":"f71a09d7feba4a6b64ffd8e9d9bc60f9bf7d7e19fd0e04362acb1cfc2e3d98df"},"downloads":-1,"filename":"requests-2.27.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"2ec257c73468c1831efa501dc04103a1","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*","size":63074,"upload_time":"2022-01-03T15:09:26","upload_time_iso_8601":"2022-01-03T15:09:26.599400Z","url":"https://files.pythonhosted.org/packages/47/01/f420e7add78110940639a958e5af0e3f8e07a8a8b62049bac55ee117aa91/requests-2.27.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"c0e3826e27b942352a74b656e8f58b4dc7ed9495ce2d4eeb498181167c615303","md5":"1a2a343ad35e8cd5a353418f62ec5d64","sha256":"8e5643905bf20a308e25e4c1dd379117c09000bf8a82ebccc462cfb1b34a16b5"},"downloads":-1,"filename":"requests-2.27.0.tar.gz","has_sig":false,"md5_digest":"1a2a343ad35e8cd5a353418f62ec5d64","packagetype":"sdist","python_version":"source","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*","size":108487,"upload_time":"2022-01-03T15:09:28","upload_time_iso_8601":"2022-01-03T15:09:28.067178Z","url":"https://files.pythonhosted.org/packages/c0/e3/826e27b942352a74b656e8f58b4dc7ed9495ce2d4eeb498181167c615303/requests-2.27.0.tar.gz","yanked":false,"yanked_reason":null}],"2.27.1":[{"comment_text":"","digests":{"blake2b_256":"2d6108076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d","md5":"435db0f122c83decd27524f690e89650","sha256":"f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"},"downloads":-1,"filename":"requests-2.27.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"435db0f122c83decd27524f690e89650","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*","size":63133,"upload_time":"2022-01-05T15:40:49","upload_time_iso_8601":"2022-01-05T15:40:49.334679Z","url":"https://files.pythonhosted.org/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"60f326ff3767f099b73e0efa138a9998da67890793bfa475d8278f84a30fec77","md5":"bcc01b73974a305cc7c5b092e7d07004","sha256":"68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"},"downloads":-1,"filename":"requests-2.27.1.tar.gz","has_sig":false,"md5_digest":"bcc01b73974a305cc7c5b092e7d07004","packagetype":"sdist","python_version":"source","requires_python":">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*","size":106758,"upload_time":"2022-01-05T15:40:51","upload_time_iso_8601":"2022-01-05T15:40:51.698067Z","url":"https://files.pythonhosted.org/packages/60/f3/26ff3767f099b73e0efa138a9998da67890793bfa475d8278f84a30fec77/requests-2.27.1.tar.gz","yanked":false,"yanked_reason":null}],"2.28.0":[{"comment_text":"","digests":{"blake2b_256":"415b2209eba8133fc081d3ffff02e1f6376e3117e52bb16f674721a83e67e68e","md5":"455b867ea9dbb453a0f700f1e81021b7","sha256":"bc7861137fbce630f17b03d3ad02ad0bf978c844f3536d0edda6499dafce2b6f"},"downloads":-1,"filename":"requests-2.28.0-py3-none-any.whl","has_sig":false,"md5_digest":"455b867ea9dbb453a0f700f1e81021b7","packagetype":"bdist_wheel","python_version":"py3","requires_python":">=3.7, <4","size":62849,"upload_time":"2022-06-09T14:44:34","upload_time_iso_8601":"2022-06-09T14:44:34.115743Z","url":"https://files.pythonhosted.org/packages/41/5b/2209eba8133fc081d3ffff02e1f6376e3117e52bb16f674721a83e67e68e/requests-2.28.0-py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"e923384d9953bb968731212dc37af87cb75a885dc48e0615bd6a303577c4dc4b","md5":"5c1f6e737e1cb6f86a91d7a1473eda95","sha256":"d568723a7ebd25875d8d1eaf5dfa068cd2fc8194b2e483d7b1f7c81918dbec6b"},"downloads":-1,"filename":"requests-2.28.0.tar.gz","has_sig":false,"md5_digest":"5c1f6e737e1cb6f86a91d7a1473eda95","packagetype":"sdist","python_version":"source","requires_python":">=3.7, <4","size":109748,"upload_time":"2022-06-09T14:44:36","upload_time_iso_8601":"2022-06-09T14:44:36.903113Z","url":"https://files.pythonhosted.org/packages/e9/23/384d9953bb968731212dc37af87cb75a885dc48e0615bd6a303577c4dc4b/requests-2.28.0.tar.gz","yanked":false,"yanked_reason":null}],"2.28.1":[{"comment_text":"","digests":{"blake2b_256":"ca916d9b8ccacd0412c08820f72cebaa4f0c0441b5cda699c90f618b6f8a1b42","md5":"d18f682863389367f878339e288817f2","sha256":"8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"},"downloads":-1,"filename":"requests-2.28.1-py3-none-any.whl","has_sig":false,"md5_digest":"d18f682863389367f878339e288817f2","packagetype":"bdist_wheel","python_version":"py3","requires_python":">=3.7, <4","size":62843,"upload_time":"2022-06-29T15:13:40","upload_time_iso_8601":"2022-06-29T15:13:40.685859Z","url":"https://files.pythonhosted.org/packages/ca/91/6d9b8ccacd0412c08820f72cebaa4f0c0441b5cda699c90f618b6f8a1b42/requests-2.28.1-py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"a561a867851fd5ab77277495a8709ddda0861b28163c4613b011bc00228cc724","md5":"796ea875cdae283529c03b9203d9c454","sha256":"7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"},"downloads":-1,"filename":"requests-2.28.1.tar.gz","has_sig":false,"md5_digest":"796ea875cdae283529c03b9203d9c454","packagetype":"sdist","python_version":"source","requires_python":">=3.7, <4","size":109805,"upload_time":"2022-06-29T15:13:42","upload_time_iso_8601":"2022-06-29T15:13:42.715104Z","url":"https://files.pythonhosted.org/packages/a5/61/a867851fd5ab77277495a8709ddda0861b28163c4613b011bc00228cc724/requests-2.28.1.tar.gz","yanked":false,"yanked_reason":null}],"2.28.2":[{"comment_text":"","digests":{"blake2b_256":"d2f4274d1dbe96b41cf4e0efb70cbced278ffd61b5c7bb70338b62af94ccb25b","md5":"e892fbf03cc3d566ce58970b2c943070","sha256":"64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"},"downloads":-1,"filename":"requests-2.28.2-py3-none-any.whl","has_sig":false,"md5_digest":"e892fbf03cc3d566ce58970b2c943070","packagetype":"bdist_wheel","python_version":"py3","requires_python":">=3.7, <4","size":62822,"upload_time":"2023-01-12T16:24:52","upload_time_iso_8601":"2023-01-12T16:24:52.241259Z","url":"https://files.pythonhosted.org/packages/d2/f4/274d1dbe96b41cf4e0efb70cbced278ffd61b5c7bb70338b62af94ccb25b/requests-2.28.2-py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"9dee391076f5937f0a8cdf5e53b701ffc91753e87b07d66bae4a09aa671897bf","md5":"09b752e0b0a672d805ae54455c128d42","sha256":"98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf"},"downloads":-1,"filename":"requests-2.28.2.tar.gz","has_sig":false,"md5_digest":"09b752e0b0a672d805ae54455c128d42","packagetype":"sdist","python_version":"source","requires_python":">=3.7, <4","size":108206,"upload_time":"2023-01-12T16:24:54","upload_time_iso_8601":"2023-01-12T16:24:54.687770Z","url":"https://files.pythonhosted.org/packages/9d/ee/391076f5937f0a8cdf5e53b701ffc91753e87b07d66bae4a09aa671897bf/requests-2.28.2.tar.gz","yanked":false,"yanked_reason":null}],"2.3.0":[{"comment_text":"","digests":{"blake2b_256":"f7517aa1e337862118bee783c0249debd64cb07b8fbdfef154b1e185754b02d5","md5":"f2d850fd48fc10a93aa03d69b87b96b4","sha256":"3648802492e955ffeb28f6dab864ad714059f5438bf6798d82f9d477c666aca3"},"downloads":-1,"filename":"requests-2.3.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"f2d850fd48fc10a93aa03d69b87b96b4","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":452902,"upload_time":"2014-05-16T17:57:05","upload_time_iso_8601":"2014-05-16T17:57:05.539691Z","url":"https://files.pythonhosted.org/packages/f7/51/7aa1e337862118bee783c0249debd64cb07b8fbdfef154b1e185754b02d5/requests-2.3.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"abf94425c8410faf7c7d420dbd64e127f2cfb68cfef869a374b332610b6abc09","md5":"7449ffdc8ec9ac37bbcd286003c80f00","sha256":"1c1473875d846fe563d70868acf05b1953a4472f4695b7b3566d1d978957b8fc"},"downloads":-1,"filename":"requests-2.3.0.tar.gz","has_sig":false,"md5_digest":"7449ffdc8ec9ac37bbcd286003c80f00","packagetype":"sdist","python_version":"source","requires_python":null,"size":429521,"upload_time":"2014-05-16T17:57:02","upload_time_iso_8601":"2014-05-16T17:57:02.237698Z","url":"https://files.pythonhosted.org/packages/ab/f9/4425c8410faf7c7d420dbd64e127f2cfb68cfef869a374b332610b6abc09/requests-2.3.0.tar.gz","yanked":false,"yanked_reason":null}],"2.4.0":[{"comment_text":"","digests":{"blake2b_256":"781423cf8ede304c7c8b69b929b17074292073827239c31659ab8c7beb22a059","md5":"47948d2fb3f2aa04235e6f637814b226","sha256":"8b2cc9e334b3e66aa5df15f2e4967f2c95b5164a4e6df7e92dd70ca67400912a"},"downloads":-1,"filename":"requests-2.4.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"47948d2fb3f2aa04235e6f637814b226","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":457810,"upload_time":"2014-08-29T14:32:48","upload_time_iso_8601":"2014-08-29T14:32:48.896671Z","url":"https://files.pythonhosted.org/packages/78/14/23cf8ede304c7c8b69b929b17074292073827239c31659ab8c7beb22a059/requests-2.4.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"efa09863b20b6a87e45cd4353c10277d9674f9ddfd7c28c58e61a339e273a119","md5":"99b830d1afe2e5920adbea0fe3120948","sha256":"7007e03cbc73e357b5055c6ea0ad6e447e2afa00f1a1f843cd792a1ebaa3763e"},"downloads":-1,"filename":"requests-2.4.0.tar.gz","has_sig":false,"md5_digest":"99b830d1afe2e5920adbea0fe3120948","packagetype":"sdist","python_version":"source","requires_python":null,"size":436334,"upload_time":"2014-08-29T14:32:45","upload_time_iso_8601":"2014-08-29T14:32:45.073609Z","url":"https://files.pythonhosted.org/packages/ef/a0/9863b20b6a87e45cd4353c10277d9674f9ddfd7c28c58e61a339e273a119/requests-2.4.0.tar.gz","yanked":false,"yanked_reason":null}],"2.4.1":[{"comment_text":"","digests":{"blake2b_256":"bf8122c8ed95e8088c0a7c022969534c8157930f0bed6ae77e12e86fdc2e855c","md5":"19d5413dc71309e4fb1f8103b8eb99ce","sha256":"b9e3c10e5092b444bb4c1b0b337f57e6c3d7680ad7c5192f597e84dd931fb598"},"downloads":-1,"filename":"requests-2.4.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"19d5413dc71309e4fb1f8103b8eb99ce","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":458354,"upload_time":"2014-09-09T16:35:12","upload_time_iso_8601":"2014-09-09T16:35:12.771388Z","url":"https://files.pythonhosted.org/packages/bf/81/22c8ed95e8088c0a7c022969534c8157930f0bed6ae77e12e86fdc2e855c/requests-2.4.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"0fd0e80371e64a7a7bafa303ea50465456e5292d9436504ce39b9619b6ba24be","md5":"931461f761c70708c46ea65b7889da58","sha256":"35d890b0aaa6e09ec40d49361d823b998ced86cc7673a9ce70bbc4f986e13ad8"},"downloads":-1,"filename":"requests-2.4.1.tar.gz","has_sig":false,"md5_digest":"931461f761c70708c46ea65b7889da58","packagetype":"sdist","python_version":"source","requires_python":null,"size":436872,"upload_time":"2014-09-09T16:35:08","upload_time_iso_8601":"2014-09-09T16:35:08.552539Z","url":"https://files.pythonhosted.org/packages/0f/d0/e80371e64a7a7bafa303ea50465456e5292d9436504ce39b9619b6ba24be/requests-2.4.1.tar.gz","yanked":false,"yanked_reason":null}],"2.4.2":[{"comment_text":"","digests":{"blake2b_256":"a287afb7990b87f76ec9d11fd15668c2362a8fbe8436e0a780c7fe5aedf1a299","md5":"f49f34b1fcdef6b557964deea1a80cf3","sha256":"49df4571ecd49d00a4587237b7d8be9664bb326052e06d2c488255b34f13393d"},"downloads":-1,"filename":"requests-2.4.2-py2.py3-none-any.whl","has_sig":false,"md5_digest":"f49f34b1fcdef6b557964deea1a80cf3","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":459326,"upload_time":"2014-10-05T17:15:53","upload_time_iso_8601":"2014-10-05T17:15:53.632369Z","url":"https://files.pythonhosted.org/packages/a2/87/afb7990b87f76ec9d11fd15668c2362a8fbe8436e0a780c7fe5aedf1a299/requests-2.4.2-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"f8251599a06d261fdd84256829d88f7a415c80a6e249988f9e17ba5016119b6f","md5":"a2476d2dd83a0520847f216ce0b5f9d1","sha256":"b98a76df30e95ef636af5e040ff7c5d0bc0b482899fd7a187b0ae525e41fe8f1"},"downloads":-1,"filename":"requests-2.4.2.tar.gz","has_sig":false,"md5_digest":"a2476d2dd83a0520847f216ce0b5f9d1","packagetype":"sdist","python_version":"source","requires_python":null,"size":437898,"upload_time":"2014-10-05T17:15:45","upload_time_iso_8601":"2014-10-05T17:15:45.276538Z","url":"https://files.pythonhosted.org/packages/f8/25/1599a06d261fdd84256829d88f7a415c80a6e249988f9e17ba5016119b6f/requests-2.4.2.tar.gz","yanked":false,"yanked_reason":null}],"2.4.3":[{"comment_text":"","digests":{"blake2b_256":"8a98bf72c7bd3ecfaf46dc2de3e59dcda6e61766526d3cf5897e9edd599795fc","md5":"0a66a9c4c22272680430fbb9fb4ca34f","sha256":"124890f41723c85aa82dfe0807432aea46d24aeb0dafce340969d2089548c2c3"},"downloads":-1,"filename":"requests-2.4.3-py2.py3-none-any.whl","has_sig":false,"md5_digest":"0a66a9c4c22272680430fbb9fb4ca34f","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":459464,"upload_time":"2014-10-06T09:44:49","upload_time_iso_8601":"2014-10-06T09:44:49.312197Z","url":"https://files.pythonhosted.org/packages/8a/98/bf72c7bd3ecfaf46dc2de3e59dcda6e61766526d3cf5897e9edd599795fc/requests-2.4.3-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"f4ff34a5a2eb91e35280e65585c48304094b61b58f9966de74ab72673c2fde9d","md5":"02214b3a179e445545de4b7a98d3dd17","sha256":"53c68313c5c6149b1a899234c000296e60a8900682accf73d6f0c6d608afc6b1"},"downloads":-1,"filename":"requests-2.4.3.tar.gz","has_sig":false,"md5_digest":"02214b3a179e445545de4b7a98d3dd17","packagetype":"sdist","python_version":"source","requires_python":null,"size":438132,"upload_time":"2014-10-06T09:44:44","upload_time_iso_8601":"2014-10-06T09:44:44.221787Z","url":"https://files.pythonhosted.org/packages/f4/ff/34a5a2eb91e35280e65585c48304094b61b58f9966de74ab72673c2fde9d/requests-2.4.3.tar.gz","yanked":false,"yanked_reason":null}],"2.5.0":[{"comment_text":"","digests":{"blake2b_256":"320e11cfb3a5e269605d0bbe3bbca9845da9b57aed90e75bd489e5e7e3509c13","md5":"9d29a8a0210c236d9329bed49277b3fa","sha256":"66cbb850987e47177a3b4112392490bcb76eb75b37cc53da007e35f3ec894bc1"},"downloads":-1,"filename":"requests-2.5.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"9d29a8a0210c236d9329bed49277b3fa","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":464196,"upload_time":"2014-12-01T23:27:51","upload_time_iso_8601":"2014-12-01T23:27:51.119048Z","url":"https://files.pythonhosted.org/packages/32/0e/11cfb3a5e269605d0bbe3bbca9845da9b57aed90e75bd489e5e7e3509c13/requests-2.5.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"c8fbd14d1c5166a8449d36c9a3b2656706c506a2cf261d37a79d16c18c37b646","md5":"b8bf3ddca75e7ecf1b6776da1e6e3385","sha256":"d2daef4919fc87262b8b3cb5a9d214cac8ce1e50950f8423bbc1d31c2e63d38e"},"downloads":-1,"filename":"requests-2.5.0.tar.gz","has_sig":false,"md5_digest":"b8bf3ddca75e7ecf1b6776da1e6e3385","packagetype":"sdist","python_version":"source","requires_python":null,"size":443222,"upload_time":"2014-12-01T23:27:58","upload_time_iso_8601":"2014-12-01T23:27:58.129251Z","url":"https://files.pythonhosted.org/packages/c8/fb/d14d1c5166a8449d36c9a3b2656706c506a2cf261d37a79d16c18c37b646/requests-2.5.0.tar.gz","yanked":false,"yanked_reason":null}],"2.5.1":[{"comment_text":"","digests":{"blake2b_256":"549aee6051b19c62728d5467dead279c532798c287e39c3bc8becb1cfa9f525a","md5":"11dc91bc96c5c5e0b566ce8f9c9644ab","sha256":"1f046dcf5ec712ed3be8684b9f33c95b76e28cd1c825db0f5e1557bfd87b3745"},"downloads":-1,"filename":"requests-2.5.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"11dc91bc96c5c5e0b566ce8f9c9644ab","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":464421,"upload_time":"2014-12-23T17:55:59","upload_time_iso_8601":"2014-12-23T17:55:59.876986Z","url":"https://files.pythonhosted.org/packages/54/9a/ee6051b19c62728d5467dead279c532798c287e39c3bc8becb1cfa9f525a/requests-2.5.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"61fe2c0a4ca99c68ea24eec65d3094d6539d54635562678ee7a58420005c12b6","md5":"c270eb5551a02e8ab7a4cbb83e22af2e","sha256":"7b7735efd3b1e2323dc9fcef060b380d05f5f18bd0f247f5e9e74a628279de66"},"downloads":-1,"filename":"requests-2.5.1.tar.gz","has_sig":false,"md5_digest":"c270eb5551a02e8ab7a4cbb83e22af2e","packagetype":"sdist","python_version":"source","requires_python":null,"size":443633,"upload_time":"2014-12-23T17:56:08","upload_time_iso_8601":"2014-12-23T17:56:08.223795Z","url":"https://files.pythonhosted.org/packages/61/fe/2c0a4ca99c68ea24eec65d3094d6539d54635562678ee7a58420005c12b6/requests-2.5.1.tar.gz","yanked":false,"yanked_reason":null}],"2.5.2":[{"comment_text":"","digests":{"blake2b_256":"20fc53f45b9bdfa8bd5f11b7d60b50052a8e4729346fcc8d5854e0e1449d92b5","md5":"7e72dfe8ed9d4ce5fd9dd9d799b3add1","sha256":"b4d1a981c443e19ee3f527b352022d698e16a298913d9b78ea1133f089eeb779"},"downloads":-1,"filename":"requests-2.5.2-py2.py3-none-any.whl","has_sig":false,"md5_digest":"7e72dfe8ed9d4ce5fd9dd9d799b3add1","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":474275,"upload_time":"2015-02-23T22:37:39","upload_time_iso_8601":"2015-02-23T22:37:39.435391Z","url":"https://files.pythonhosted.org/packages/20/fc/53f45b9bdfa8bd5f11b7d60b50052a8e4729346fcc8d5854e0e1449d92b5/requests-2.5.2-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"d6f71a4c1cae7618ad3d9fe5536ef74f47b2cb1028938e12d6dfe0a9806a8e1b","md5":"424e2469202c9bace4e8bf4642d4217a","sha256":"306ead91d47a48b6a25d495d2495de99694641bd7d2cac5bcc405a8837c7a612"},"downloads":-1,"filename":"requests-2.5.2.tar.gz","has_sig":false,"md5_digest":"424e2469202c9bace4e8bf4642d4217a","packagetype":"sdist","python_version":"source","requires_python":null,"size":455688,"upload_time":"2015-02-23T22:37:46","upload_time_iso_8601":"2015-02-23T22:37:46.983551Z","url":"https://files.pythonhosted.org/packages/d6/f7/1a4c1cae7618ad3d9fe5536ef74f47b2cb1028938e12d6dfe0a9806a8e1b/requests-2.5.2.tar.gz","yanked":false,"yanked_reason":null}],"2.5.3":[{"comment_text":"","digests":{"blake2b_256":"955444dc83b5f11c6da06bf9abd18c8a0905e0e297e0a9c3bfbc0c6ee4bdd33d","md5":"233249f4627ac5481c948e494d2a090e","sha256":"3e66d7ba78e7a6a8eccd2e901079ab8d24e408b5375cf32eb51f291306302418"},"downloads":-1,"filename":"requests-2.5.3-py2.py3-none-any.whl","has_sig":false,"md5_digest":"233249f4627ac5481c948e494d2a090e","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":468593,"upload_time":"2015-02-24T16:33:49","upload_time_iso_8601":"2015-02-24T16:33:49.703522Z","url":"https://files.pythonhosted.org/packages/95/54/44dc83b5f11c6da06bf9abd18c8a0905e0e297e0a9c3bfbc0c6ee4bdd33d/requests-2.5.3-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"a63606a7d4261f91552f21f017fe162d69df95ca7925d1436c8acf73283ee3d0","md5":"23bf4fcc89ea8d353eb5353bb4a475b1","sha256":"55d7f5619daae94ec49ee81ed8c865e5a2a47f0bbf8e06cf94636bee103eaf65"},"downloads":-1,"filename":"requests-2.5.3.tar.gz","has_sig":false,"md5_digest":"23bf4fcc89ea8d353eb5353bb4a475b1","packagetype":"sdist","python_version":"source","requires_python":null,"size":448318,"upload_time":"2015-02-24T16:33:58","upload_time_iso_8601":"2015-02-24T16:33:58.415782Z","url":"https://files.pythonhosted.org/packages/a6/36/06a7d4261f91552f21f017fe162d69df95ca7925d1436c8acf73283ee3d0/requests-2.5.3.tar.gz","yanked":false,"yanked_reason":null}],"2.6.0":[{"comment_text":"","digests":{"blake2b_256":"7363b0729be549494a3e31316437053bc4e0a8bb71a07a6ee6059434b8f1cd5f","md5":"3ab1972bbaf2802d94516fb86b9b0d0b","sha256":"fdb9af60d47ca57a80df0a213336019a34ff6192d8fff361c349f2c8398fe460"},"downloads":-1,"filename":"requests-2.6.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"3ab1972bbaf2802d94516fb86b9b0d0b","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":469802,"upload_time":"2015-03-14T16:44:37","upload_time_iso_8601":"2015-03-14T16:44:37.146829Z","url":"https://files.pythonhosted.org/packages/73/63/b0729be549494a3e31316437053bc4e0a8bb71a07a6ee6059434b8f1cd5f/requests-2.6.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"eb70237e11db04807a9409ed39997097118208e7814309d9bc3da7bb98d1fe3d","md5":"25287278fa3ea106207461112bb37050","sha256":"1cdbed1f0e236f35ef54e919982c7a338e4fea3786310933d3a7887a04b74d75"},"downloads":-1,"filename":"requests-2.6.0.tar.gz","has_sig":false,"md5_digest":"25287278fa3ea106207461112bb37050","packagetype":"sdist","python_version":"source","requires_python":null,"size":450389,"upload_time":"2015-03-14T16:44:48","upload_time_iso_8601":"2015-03-14T16:44:48.433132Z","url":"https://files.pythonhosted.org/packages/eb/70/237e11db04807a9409ed39997097118208e7814309d9bc3da7bb98d1fe3d/requests-2.6.0.tar.gz","yanked":false,"yanked_reason":null}],"2.6.1":[{"comment_text":"","digests":{"blake2b_256":"64745bedd762987b5cb4ad5de4901d12942ad7635bffa5ae4f6b5e725d1b2068","md5":"adb8e91b3367bc0417ef1e4a6dced9b1","sha256":"79515d60eae4f5d426b8813ffd60ed874169d78b8815844e8e85798ef27a599f"},"downloads":-1,"filename":"requests-2.6.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"adb8e91b3367bc0417ef1e4a6dced9b1","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":469962,"upload_time":"2015-04-23T02:27:04","upload_time_iso_8601":"2015-04-23T02:27:04.893535Z","url":"https://files.pythonhosted.org/packages/64/74/5bedd762987b5cb4ad5de4901d12942ad7635bffa5ae4f6b5e725d1b2068/requests-2.6.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"08d53dfb95813d697d1e5a3eccb9b88f9d91a233fc35b0ddbb5bc238142f9de0","md5":"da6e487f89e6a531699b7fd97ff182af","sha256":"490b111c824d64b84797a899a4c22618bbc45323ac24a0a0bb4b73a8758e943c"},"downloads":-1,"filename":"requests-2.6.1.tar.gz","has_sig":false,"md5_digest":"da6e487f89e6a531699b7fd97ff182af","packagetype":"sdist","python_version":"source","requires_python":null,"size":450975,"upload_time":"2015-04-23T02:27:12","upload_time_iso_8601":"2015-04-23T02:27:12.848707Z","url":"https://files.pythonhosted.org/packages/08/d5/3dfb95813d697d1e5a3eccb9b88f9d91a233fc35b0ddbb5bc238142f9de0/requests-2.6.1.tar.gz","yanked":false,"yanked_reason":null}],"2.6.2":[{"comment_text":"","digests":{"blake2b_256":"9f3ec09023432b822a09d965878640de63f8126d77c948f45c24dcad13d42721","md5":"36746c275589b2154307bbcc6d28320a","sha256":"8f0f56813f82d0c27d9578221268ac9af48f076c71ee69693305ceca6ca355bd"},"downloads":-1,"filename":"requests-2.6.2-py2.py3-none-any.whl","has_sig":false,"md5_digest":"36746c275589b2154307bbcc6d28320a","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":470140,"upload_time":"2015-04-23T16:30:52","upload_time_iso_8601":"2015-04-23T16:30:52.318157Z","url":"https://files.pythonhosted.org/packages/9f/3e/c09023432b822a09d965878640de63f8126d77c948f45c24dcad13d42721/requests-2.6.2-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"37b3d1a5d9768240a1104a620730a1226975ceb9dd3882a8cfd8935b314ee0ca","md5":"0d703e5be558566e0f8c37f960d95372","sha256":"0577249d4b6c4b11fd97c28037e98664bfaa0559022fee7bcef6b752a106e505"},"downloads":-1,"filename":"requests-2.6.2.tar.gz","has_sig":false,"md5_digest":"0d703e5be558566e0f8c37f960d95372","packagetype":"sdist","python_version":"source","requires_python":null,"size":451109,"upload_time":"2015-04-23T16:31:01","upload_time_iso_8601":"2015-04-23T16:31:01.589754Z","url":"https://files.pythonhosted.org/packages/37/b3/d1a5d9768240a1104a620730a1226975ceb9dd3882a8cfd8935b314ee0ca/requests-2.6.2.tar.gz","yanked":false,"yanked_reason":null}],"2.7.0":[{"comment_text":"","digests":{"blake2b_256":"26ffc71b3943bebdd9f7ceb9e137296370587eb0b33fe2eb3732ae168bc45204","md5":"564fb256f865a79f977e57b79d31659a","sha256":"20f976cdce02a42b69ce80e9e03897a51814b36d448b37288546086ebc473146"},"downloads":-1,"filename":"requests-2.7.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"564fb256f865a79f977e57b79d31659a","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":470641,"upload_time":"2015-05-03T15:01:28","upload_time_iso_8601":"2015-05-03T15:01:28.821871Z","url":"https://files.pythonhosted.org/packages/26/ff/c71b3943bebdd9f7ceb9e137296370587eb0b33fe2eb3732ae168bc45204/requests-2.7.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"0a008cc925deac3a87046a4148d7846b571cf433515872b5430de4cd9dea83cb","md5":"29b173fd5fa572ec0764d1fd7b527260","sha256":"398a3db6d61899d25fd4a06c6ca12051b0ce171d705decd7ed5511517b4bb93d"},"downloads":-1,"filename":"requests-2.7.0.tar.gz","has_sig":false,"md5_digest":"29b173fd5fa572ec0764d1fd7b527260","packagetype":"sdist","python_version":"source","requires_python":null,"size":451723,"upload_time":"2015-05-03T15:01:21","upload_time_iso_8601":"2015-05-03T15:01:21.105760Z","url":"https://files.pythonhosted.org/packages/0a/00/8cc925deac3a87046a4148d7846b571cf433515872b5430de4cd9dea83cb/requests-2.7.0.tar.gz","yanked":false,"yanked_reason":null}],"2.8.0":[{"comment_text":"","digests":{"blake2b_256":"5da690f822c17b4fc905da67aed49b511f110207242ff164aeda926461101dc6","md5":"52236eb6f886db4d2afba43775c97050","sha256":"3a34af0dd06fed021286d93da464bbb76dcc0c709d02e7d3cdca195b1341c380"},"downloads":-1,"filename":"requests-2.8.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"52236eb6f886db4d2afba43775c97050","packagetype":"bdist_wheel","python_version":"py2.py3","requires_python":null,"size":476582,"upload_time":"2015-10-06T14:47:57","upload_time_iso_8601":"2015-10-06T14:47:57.677398Z","url":"https://files.pythonhosted.org/packages/5d/a6/90f822c17b4fc905da67aed49b511f110207242ff164aeda926461101dc6/requests-2.8.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"1b920632a7eb5e94bfedd300a3a5f4ebbf8505fd9768ba00ab259b5bf786de5f","md5":"3ec7198fc935d83c3eacff1ed4095ce4","sha256":"b2f003589b60924909c0acde472590c5ea83906986a7a25b6f7929eb20923b7b"},"downloads":-1,"filename":"requests-2.8.0.tar.gz","has_sig":false,"md5_digest":"3ec7198fc935d83c3eacff1ed4095ce4","packagetype":"sdist","python_version":"source","requires_python":null,"size":457879,"upload_time":"2015-10-06T14:48:08","upload_time_iso_8601":"2015-10-06T14:48:08.860481Z","url":"https://files.pythonhosted.org/packages/1b/92/0632a7eb5e94bfedd300a3a5f4ebbf8505fd9768ba00ab259b5bf786de5f/requests-2.8.0.tar.gz","yanked":false,"yanked_reason":null}],"2.8.1":[{"comment_text":"","digests":{"blake2b_256":"c00fa911a44c89ba01b23d8fe3defbdfca1e962de6f11a11da32658902cdc2a4","md5":"46f1d621daa3ab38958a42f51478b1ee","sha256":"89f1b1f25dcd7b68f514e8d341a5b2eb466f960ae756822eaab480a3c1a81c28"},"downloads":-1,"filename":"requests-2.8.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"46f1d621daa3ab38958a42f51478b1ee","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":497953,"upload_time":"2015-10-13T12:56:41","upload_time_iso_8601":"2015-10-13T12:56:41.375848Z","url":"https://files.pythonhosted.org/packages/c0/0f/a911a44c89ba01b23d8fe3defbdfca1e962de6f11a11da32658902cdc2a4/requests-2.8.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"382d290d33417c079a5248fcd06b0b8492acdd1851e54e4bdad54c3859dab600","md5":"a27ea3d72d7822906ddce5e252d6add9","sha256":"84fe8d5bf4dcdcc49002446c47a146d17ac10facf00d9086659064ac43b6c25b"},"downloads":-1,"filename":"requests-2.8.1.tar.gz","has_sig":false,"md5_digest":"a27ea3d72d7822906ddce5e252d6add9","packagetype":"sdist","python_version":"source","requires_python":null,"size":480803,"upload_time":"2015-10-13T12:56:34","upload_time_iso_8601":"2015-10-13T12:56:34.254896Z","url":"https://files.pythonhosted.org/packages/38/2d/290d33417c079a5248fcd06b0b8492acdd1851e54e4bdad54c3859dab600/requests-2.8.1.tar.gz","yanked":false,"yanked_reason":null}],"2.9.0":[{"comment_text":"","digests":{"blake2b_256":"bfb7c0b5a7fcf561577178ffd65af9af37c412cf6fbb1a2a198b9308b343d63f","md5":"149560afb69fe9e5048d05322eeb8ada","sha256":"1f4726bc7636edcbd141ba9c868dd92ecb77dbc869f68a28c32e9e149b070854"},"downloads":-1,"filename":"requests-2.9.0-py2.py3-none-any.whl","has_sig":false,"md5_digest":"149560afb69fe9e5048d05322eeb8ada","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":500695,"upload_time":"2015-12-15T15:30:34","upload_time_iso_8601":"2015-12-15T15:30:34.276097Z","url":"https://files.pythonhosted.org/packages/bf/b7/c0b5a7fcf561577178ffd65af9af37c412cf6fbb1a2a198b9308b343d63f/requests-2.9.0-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"e4993e33bfe263894278a094c374f87031554406e57fd0b1ad22520357556627","md5":"2f46fdceaf4f63e5e3665a8cb50d284f","sha256":"4881966532b5a36c552244fd909de66d1b8c4a26086f56fd5837cfcde63f8eb8"},"downloads":-1,"filename":"requests-2.9.0.tar.gz","has_sig":false,"md5_digest":"2f46fdceaf4f63e5e3665a8cb50d284f","packagetype":"sdist","python_version":"source","requires_python":null,"size":483589,"upload_time":"2015-12-15T15:29:58","upload_time_iso_8601":"2015-12-15T15:29:58.086640Z","url":"https://files.pythonhosted.org/packages/e4/99/3e33bfe263894278a094c374f87031554406e57fd0b1ad22520357556627/requests-2.9.0.tar.gz","yanked":false,"yanked_reason":null}],"2.9.1":[{"comment_text":"","digests":{"blake2b_256":"b8f73bb4d18c234a8ce7044d5ee2e1082b7d72bf6c550afb8d51ae266dea56f1","md5":"58a444aaa02780ad01983f5f540e67b2","sha256":"113fbba5531a9e34945b7d36b33a084e8ba5d0664b703c81a7c572d91919a5b8"},"downloads":-1,"filename":"requests-2.9.1-py2.py3-none-any.whl","has_sig":false,"md5_digest":"58a444aaa02780ad01983f5f540e67b2","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":501205,"upload_time":"2015-12-21T14:55:10","upload_time_iso_8601":"2015-12-21T14:55:10.646407Z","url":"https://files.pythonhosted.org/packages/b8/f7/3bb4d18c234a8ce7044d5ee2e1082b7d72bf6c550afb8d51ae266dea56f1/requests-2.9.1-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"f96d07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748","md5":"0b7f480d19012ec52bab78292efd976d","sha256":"c577815dd00f1394203fc44eb979724b098f88264a9ef898ee45b8e5e9cf587f"},"downloads":-1,"filename":"requests-2.9.1.tar.gz","has_sig":false,"md5_digest":"0b7f480d19012ec52bab78292efd976d","packagetype":"sdist","python_version":"source","requires_python":null,"size":484252,"upload_time":"2015-12-21T14:55:00","upload_time_iso_8601":"2015-12-21T14:55:00.266465Z","url":"https://files.pythonhosted.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz","yanked":false,"yanked_reason":null}],"2.9.2":[{"comment_text":"","digests":{"blake2b_256":"8be7229a428b8eb9a7f925ef16ff09ab25856efe789410d661f10157919f2ae2","md5":"afecc76f13f3ae5e5dab18ae64c73c84","sha256":"22a8c72dfc7fc18db1aca6784e97a638e9d09abe2cd387be473f88bd6dcba22f"},"downloads":-1,"filename":"requests-2.9.2-py2.py3-none-any.whl","has_sig":false,"md5_digest":"afecc76f13f3ae5e5dab18ae64c73c84","packagetype":"bdist_wheel","python_version":"2.7","requires_python":null,"size":502812,"upload_time":"2016-04-29T21:57:23","upload_time_iso_8601":"2016-04-29T21:57:23.021820Z","url":"https://files.pythonhosted.org/packages/8b/e7/229a428b8eb9a7f925ef16ff09ab25856efe789410d661f10157919f2ae2/requests-2.9.2-py2.py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"64202133a092a0e87d1c250fe48704974b73a1341b7e4f800edecf40462a825d","md5":"18d0e51cd5e84c7d8b6dcbdd51551984","sha256":"d8be941a08cf36e4f424ac76073eb911e5e646a33fcb3402e1642c426bf34682"},"downloads":-1,"filename":"requests-2.9.2.tar.gz","has_sig":false,"md5_digest":"18d0e51cd5e84c7d8b6dcbdd51551984","packagetype":"sdist","python_version":"source","requires_python":null,"size":474018,"upload_time":"2016-04-29T21:57:10","upload_time_iso_8601":"2016-04-29T21:57:10.487144Z","url":"https://files.pythonhosted.org/packages/64/20/2133a092a0e87d1c250fe48704974b73a1341b7e4f800edecf40462a825d/requests-2.9.2.tar.gz","yanked":false,"yanked_reason":null}]},"urls":[{"comment_text":"","digests":{"blake2b_256":"d2f4274d1dbe96b41cf4e0efb70cbced278ffd61b5c7bb70338b62af94ccb25b","md5":"e892fbf03cc3d566ce58970b2c943070","sha256":"64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"},"downloads":-1,"filename":"requests-2.28.2-py3-none-any.whl","has_sig":false,"md5_digest":"e892fbf03cc3d566ce58970b2c943070","packagetype":"bdist_wheel","python_version":"py3","requires_python":">=3.7, <4","size":62822,"upload_time":"2023-01-12T16:24:52","upload_time_iso_8601":"2023-01-12T16:24:52.241259Z","url":"https://files.pythonhosted.org/packages/d2/f4/274d1dbe96b41cf4e0efb70cbced278ffd61b5c7bb70338b62af94ccb25b/requests-2.28.2-py3-none-any.whl","yanked":false,"yanked_reason":null},{"comment_text":"","digests":{"blake2b_256":"9dee391076f5937f0a8cdf5e53b701ffc91753e87b07d66bae4a09aa671897bf","md5":"09b752e0b0a672d805ae54455c128d42","sha256":"98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf"},"downloads":-1,"filename":"requests-2.28.2.tar.gz","has_sig":false,"md5_digest":"09b752e0b0a672d805ae54455c128d42","packagetype":"sdist","python_version":"source","requires_python":">=3.7, <4","size":108206,"upload_time":"2023-01-12T16:24:54","upload_time_iso_8601":"2023-01-12T16:24:54.687770Z","url":"https://files.pythonhosted.org/packages/9d/ee/391076f5937f0a8cdf5e53b701ffc91753e87b07d66bae4a09aa671897bf/requests-2.28.2.tar.gz","yanked":false,"yanked_reason":null}],"vulnerabilities":[]} \ No newline at end of file diff --git a/pip/worker/decoder.go b/pip/worker/decoder.go index 639ea86..c3ba21f 100644 --- a/pip/worker/decoder.go +++ b/pip/worker/decoder.go @@ -19,30 +19,32 @@ type GetPackageDetailsFunc = func(PackageName string) (string, error) type MetadataDecoder struct { getPkgDetailsFunc GetPackageDetailsFunc + pf PypiPackageDataFactory } -// New Metadata Decoder ... -func NewMetadataDecoder(pkgDetailsFunc GetPackageDetailsFunc) *MetadataDecoder { +// NewMetadataDecoder ... +func NewMetadataDecoder(pkgDetailsFunc GetPackageDetailsFunc, pf PypiPackageDataFactory) *MetadataDecoder { return &MetadataDecoder{ getPkgDetailsFunc: pkgDetailsFunc, + pf: pf, } } -func SetMetadataValues(matadata *Metadata, datamap map[string]string) { - matadata.Name = datamap[KeyName] - matadata.Version = datamap[KeyVersion] - matadata.Description = datamap[KeySummary] - matadata.HomePage = datamap[KeyHomePage] - matadata.Author = datamap[KeyAuthor] - matadata.AuthorEmail = datamap[KeyAuthorEmail] - matadata.License = datamap[KeyLicense] - matadata.Location = datamap[KeyLocation] +func SetMetadataValues(metadata *Metadata, datamap map[string]string) { + metadata.Name = datamap[KeyName] + metadata.Version = datamap[KeyVersion] + metadata.Description = datamap[KeySummary] + metadata.HomePage = datamap[KeyHomePage] + metadata.Author = datamap[KeyAuthor] + metadata.AuthorEmail = datamap[KeyAuthorEmail] + metadata.License = datamap[KeyLicense] + metadata.Location = datamap[KeyLocation] // Parsing "Requires" if len(datamap[KeyRequires]) != 0 { - matadata.Modules = strings.Split(datamap[KeyRequires], ",") - for i, v := range matadata.Modules { - matadata.Modules[i] = strings.TrimSpace(v) + metadata.Modules = strings.Split(datamap[KeyRequires], ",") + for i, v := range metadata.Modules { + metadata.Modules[i] = strings.TrimSpace(v) } } } @@ -144,7 +146,7 @@ func (d *MetadataDecoder) BuildModule(metadata Metadata) meta.Package { module.PackageURL = metadata.HomePage } - pypiData, err := GetPackageDataFromPyPi(metadata.PackageJSONURL) + pypiData, err := d.pf.GetPackageData(metadata.PackageJSONURL) if err != nil { log.Warnf("Unable to get `%s` package details from pypi.org", metadata.Name) if (len(metadata.HomePage) > 0) && (metadata.HomePage != "None") { @@ -154,7 +156,7 @@ func (d *MetadataDecoder) BuildModule(metadata Metadata) meta.Package { // Prepare supplier contact if len(metadata.Author) > 0 && metadata.Author == "None" { - metadata.Author, metadata.AuthorEmail = GetMaintenerDataFromPyPiPackageData(pypiData) + metadata.Author, metadata.AuthorEmail = d.pf.GetMaintainerData(pypiData) } contactType := meta.Person @@ -169,11 +171,11 @@ func (d *MetadataDecoder) BuildModule(metadata Metadata) meta.Package { } // Prepare checksum - checksum := GetChecksumeFromPyPiPackageData(pypiData, metadata) + checksum := d.pf.GetChecksum(pypiData, metadata) module.Checksum = *checksum // Prepare download location - downloadURL := GetDownloadLocationFromPyPiPackageData(pypiData, metadata) + downloadURL := d.pf.GetDownloadLocationFromPyPiPackageData(pypiData, metadata) module.PackageDownloadLocation = downloadURL if len(downloadURL) == 0 { if metadata.Root { diff --git a/pip/worker/pypi.go b/pip/worker/pypi.go index 43a3218..4153db3 100644 --- a/pip/worker/pypi.go +++ b/pip/worker/pypi.go @@ -5,11 +5,13 @@ package worker import ( "encoding/json" "errors" + "fmt" "io" "net/http" "reflect" "strings" + "github.com/opensbom-generator/parsers/internal/helper" "github.com/opensbom-generator/parsers/meta" ) @@ -82,32 +84,36 @@ var HashAlgoPickOrder []meta.HashAlgorithm = []meta.HashAlgorithm{ meta.HashAlgoMD2, } -func makeGetRequest(packageJSONURL string) (*http.Response, error) { - url := "https://" + packageJSONURL - - request, _ := http.NewRequest("GET", url, nil) - request.Header.Set("Accept", "application/json") +type pypiPackageDataFactory struct { + client *helper.Client +} - client := &http.Client{} - response, err := client.Do(request) - if err != nil { - return nil, err - } +type PypiPackageDataFactory interface { + GetPackageData(packageJSONURL string) (PypiPackageData, error) + GetMaintainerData(pkgData PypiPackageData) (string, string) + GetChecksum(pkgData PypiPackageData, metadata Metadata) *meta.Checksum + GetDownloadLocationFromPyPiPackageData(pkgData PypiPackageData, metadata Metadata) string +} - if response.StatusCode != http.StatusOK { - return nil, errorPypiCouldNotFetchPkgData +// NewPypiPackageDataFactory ... +func NewPypiPackageDataFactory(client *helper.Client) PypiPackageDataFactory { + return &pypiPackageDataFactory{ + client: client, } - - return response, err } -func GetPackageDataFromPyPi(packageJSONURL string) (PypiPackageData, error) { +func (pf *pypiPackageDataFactory) GetPackageData(packageJSONURL string) (PypiPackageData, error) { packageInfo := PypiPackageData{} - response, err := makeGetRequest(packageJSONURL) + packageJSONURL = strings.Replace(packageJSONURL, "pypi.org", "", 1) + response, err := pf.client.HTTP.Get(fmt.Sprintf("%s%s", pf.client.BaseURL, packageJSONURL)) if err != nil { return packageInfo, err } + + if response.StatusCode != http.StatusOK { + return packageInfo, errorPypiCouldNotFetchPkgData + } defer response.Body.Close() jsondata, _ := io.ReadAll(response.Body) @@ -119,7 +125,7 @@ func GetPackageDataFromPyPi(packageJSONURL string) (PypiPackageData, error) { return packageInfo, nil } -func GetMaintenerDataFromPyPiPackageData(pkgData PypiPackageData) (string, string) { +func (pf *pypiPackageDataFactory) GetMaintainerData(pkgData PypiPackageData) (string, string) { var name string var email string if len(pkgData.Info.Maintainer) > 0 { @@ -131,27 +137,54 @@ func GetMaintenerDataFromPyPiPackageData(pkgData PypiPackageData) (string, strin return name, email } -func GetHighestOrderHashData(digests DigestTypes) (meta.HashAlgorithm, string) { - var algoType meta.HashAlgorithm - var digestValue string +func (pf *pypiPackageDataFactory) GetChecksum(pkgData PypiPackageData, metadata Metadata) *meta.Checksum { + checksum := meta.Checksum{ + Algorithm: meta.HashAlgoSHA1, + Content: []byte(pkgData.Info.Name), + } - v := reflect.ValueOf(digests) - for _, algo := range HashAlgoPickOrder { - f := v.FieldByName(string(algo)) - if f.IsValid() { - algoType = algo - digestValue = f.String() - return algoType, digestValue + for _, packageDistInfo := range pkgData.Urls { + distInfo, status := getPackageBDistWheelInfo(packageDistInfo, metadata.Generator, metadata.Tag, metadata.CPVersion) + if status { + algo, value := getHighestOrderHashData(distInfo.Digests) + checksum.Algorithm = algo + checksum.Value = value + return &checksum + } + + distInfo, status = getPackageSDistInfo(packageDistInfo, "sdist") + if status { + algo, value := getHighestOrderHashData(distInfo.Digests) + checksum.Algorithm = algo + checksum.Value = value + return &checksum } } - return algoType, digestValue + return &checksum +} + +func (pf *pypiPackageDataFactory) GetDownloadLocationFromPyPiPackageData(pkgData PypiPackageData, metadata Metadata) string { + for _, packageDistInfo := range pkgData.Urls { + distInfo, status := getPackageBDistWheelInfo(packageDistInfo, metadata.Generator, metadata.Tag, metadata.CPVersion) + if status { + return distInfo.URL + } + + distInfo, status = getPackageSDistInfo(packageDistInfo, "sdist") + if status { + return distInfo.URL + } + } + + return "" } -func GetPackageBDistWheelInfo(distInfo PypiPackageDistInfo, generator string, tag string, cpversion string) (PypiPackageDistInfo, bool) { +func getPackageBDistWheelInfo(distInfo PypiPackageDistInfo, generator string, + tag string, cpVersion string) (PypiPackageDistInfo, bool) { PackageType := strings.EqualFold(distInfo.PackageType, generator) Tag := strings.Contains(strings.ToLower(distInfo.Filename), strings.ToLower(tag)) - CPVersion := strings.EqualFold(distInfo.PythonVersion, cpversion) + CPVersion := strings.EqualFold(distInfo.PythonVersion, cpVersion) Py2Py3 := strings.Contains(strings.ToLower("py2.py3"), strings.ToLower(distInfo.PythonVersion)) status := false @@ -163,7 +196,7 @@ func GetPackageBDistWheelInfo(distInfo PypiPackageDistInfo, generator string, ta return distInfo, status } -func GetPackageSDistInfo(distInfo PypiPackageDistInfo, generator string) (PypiPackageDistInfo, bool) { +func getPackageSDistInfo(distInfo PypiPackageDistInfo, generator string) (PypiPackageDistInfo, bool) { PackageType := strings.EqualFold(distInfo.PackageType, generator) Source := strings.EqualFold(distInfo.PythonVersion, "source") @@ -176,45 +209,19 @@ func GetPackageSDistInfo(distInfo PypiPackageDistInfo, generator string) (PypiPa return distInfo, status } -func GetChecksumeFromPyPiPackageData(pkgData PypiPackageData, metadata Metadata) *meta.Checksum { - checksum := meta.Checksum{ - Algorithm: meta.HashAlgoSHA1, - Content: []byte(pkgData.Info.Name), - } - - for _, packageDistInfo := range pkgData.Urls { - distInfo, status := GetPackageBDistWheelInfo(packageDistInfo, metadata.Generator, metadata.Tag, metadata.CPVersion) - if status { - algo, value := GetHighestOrderHashData(distInfo.Digests) - checksum.Algorithm = algo - checksum.Value = value - return &checksum - } - - distInfo, status = GetPackageSDistInfo(packageDistInfo, "sdist") - if status { - algo, value := GetHighestOrderHashData(distInfo.Digests) - checksum.Algorithm = algo - checksum.Value = value - return &checksum - } - } - - return &checksum -} - -func GetDownloadLocationFromPyPiPackageData(pkgData PypiPackageData, metadata Metadata) string { - for _, packageDistInfo := range pkgData.Urls { - distInfo, status := GetPackageBDistWheelInfo(packageDistInfo, metadata.Generator, metadata.Tag, metadata.CPVersion) - if status { - return distInfo.URL - } +func getHighestOrderHashData(digests DigestTypes) (meta.HashAlgorithm, string) { + var algoType meta.HashAlgorithm + var digestValue string - distInfo, status = GetPackageSDistInfo(packageDistInfo, "sdist") - if status { - return distInfo.URL + v := reflect.ValueOf(digests) + for _, algo := range HashAlgoPickOrder { + f := v.FieldByName(string(algo)) + if f.IsValid() { + algoType = algo + digestValue = f.String() + return algoType, digestValue } } - return "" + return algoType, digestValue } diff --git a/pip/worker/pypi_test.go b/pip/worker/pypi_test.go new file mode 100644 index 0000000..bfd4497 --- /dev/null +++ b/pip/worker/pypi_test.go @@ -0,0 +1,48 @@ +package worker + +import ( + "net/http" + "net/http/httptest" + "os" + "strings" + "testing" + + "github.com/opensbom-generator/parsers/internal/helper" + "github.com/stretchr/testify/require" +) + +func TestGetPackageDataFromPyPi(t *testing.T) { + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch strings.TrimSpace(r.URL.Path) { + case "/pypi/requests/jso": + byteData, err := os.ReadFile("../testdata/requests_pypi_data.json") + if err != nil { + panic(err) + } + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusOK) + w.Write(byteData) + default: + http.NotFoundHandler().ServeHTTP(w, r) + } + })) + defer server.Close() + + for name, tc := range map[string]struct { + packageJSONUrl string + expectedErr error + }{ + "valid package url": { + packageJSONUrl: "/pypi/requests/jso", + expectedErr: nil, + }, + } { + t.Run(name, func(t *testing.T) { + mockClient := helper.NewClient(server.URL) + factory := NewPypiPackageDataFactory(mockClient) + packageInfo, err := factory.GetPackageData(tc.packageJSONUrl) + require.ErrorIs(t, tc.expectedErr, err) + require.NotNil(t, packageInfo) + }) + } +} From c6bd37c31c4a97bf3b3809caf1598ba9c93c9585 Mon Sep 17 00:00:00 2001 From: Rahul Tiwari Date: Sat, 25 Feb 2023 16:36:34 +0530 Subject: [PATCH 2/3] chore: use ReplaceAll --- pip/worker/pypi.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pip/worker/pypi.go b/pip/worker/pypi.go index 4153db3..40f2d0e 100644 --- a/pip/worker/pypi.go +++ b/pip/worker/pypi.go @@ -105,7 +105,7 @@ func NewPypiPackageDataFactory(client *helper.Client) PypiPackageDataFactory { func (pf *pypiPackageDataFactory) GetPackageData(packageJSONURL string) (PypiPackageData, error) { packageInfo := PypiPackageData{} - packageJSONURL = strings.Replace(packageJSONURL, "pypi.org", "", 1) + packageJSONURL = strings.ReplaceAll(packageJSONURL, "pypi.org", "") response, err := pf.client.HTTP.Get(fmt.Sprintf("%s%s", pf.client.BaseURL, packageJSONURL)) if err != nil { return packageInfo, err From 7e1e69353a3a0a6c11c3352f05f50f1221318e33 Mon Sep 17 00:00:00 2001 From: Rahul Tiwari Date: Thu, 2 Mar 2023 10:00:05 +0530 Subject: [PATCH 3/3] fix: add pypi as a dependency to poetry and pyenv --- pip/pipenv/handler.go | 3 +-- pip/poetry/handler.go | 4 +++- pip/pyenv/handler.go | 3 ++- pip/worker/pypi.go | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pip/pipenv/handler.go b/pip/pipenv/handler.go index 7fc7ed2..51e6cdd 100644 --- a/pip/pipenv/handler.go +++ b/pip/pipenv/handler.go @@ -20,7 +20,6 @@ const ( placeholderPkgName = "{PACKAGE}" packageSrcLocation = "/src/" packageSiteLocation = "/site-packages" - pypiURL = "https://pypi.org" ) var ( @@ -114,7 +113,7 @@ func (m *PipEnv) ListUsedModules(path string) ([]meta.Package, error) { return m.allModules, errFailedToConvertModules } - pypiDataFactory := worker.NewPypiPackageDataFactory(helper.NewClient(pypiURL)) + pypiDataFactory := worker.NewPypiPackageDataFactory(helper.NewClient(worker.PyPiURL)) decoder := worker.NewMetadataDecoder(m.GetPackageDetails, pypiDataFactory) metainfo, err := decoder.ConvertMetadataToModules(m.pkgs, &m.allModules) if err != nil { diff --git a/pip/poetry/handler.go b/pip/poetry/handler.go index 9b89608..ee33168 100644 --- a/pip/poetry/handler.go +++ b/pip/poetry/handler.go @@ -36,6 +36,7 @@ type Poetry struct { pkgs []worker.Packages metainfo map[string]worker.Metadata allModules []meta.Package + pf worker.PypiPackageDataFactory } // New ... @@ -47,6 +48,7 @@ func New() *Poetry { Manifest: []string{manifestLockFile}, ModulePath: []string{}, }, + pf: worker.NewPypiPackageDataFactory(helper.NewClient(worker.PyPiURL)), } } @@ -111,7 +113,7 @@ func (m *Poetry) ListUsedModules(path string) ([]meta.Package, error) { return m.allModules, errFailedToConvertModules } - decoder := worker.NewMetadataDecoder(m.GetPackageDetails) + decoder := worker.NewMetadataDecoder(m.GetPackageDetails, m.pf) metainfo, err := decoder.ConvertMetadataToModules(m.pkgs, &m.allModules) if err != nil { return m.allModules, err diff --git a/pip/pyenv/handler.go b/pip/pyenv/handler.go index 77c4666..25c583f 100644 --- a/pip/pyenv/handler.go +++ b/pip/pyenv/handler.go @@ -43,6 +43,7 @@ type PyEnv struct { metainfo map[string]worker.Metadata allModules []meta.Package venv string + pf worker.PypiPackageDataFactory } // New ... @@ -129,7 +130,7 @@ func (m *PyEnv) ListUsedModules(path string) ([]meta.Package, error) { return m.allModules, errFailedToConvertModules } - decoder := worker.NewMetadataDecoder(m.GetPackageDetails) + decoder := worker.NewMetadataDecoder(m.GetPackageDetails, m.pf) metainfo, err := decoder.ConvertMetadataToModules(m.pkgs, &m.allModules) if err != nil { return m.allModules, err diff --git a/pip/worker/pypi.go b/pip/worker/pypi.go index 40f2d0e..3830222 100644 --- a/pip/worker/pypi.go +++ b/pip/worker/pypi.go @@ -17,6 +17,7 @@ import ( var ( errorPypiCouldNotFetchPkgData = errors.New("could not fetch package data from PyPI") + PyPiURL = "https://pypi.org" ) type PypiPackageData struct {