{ "info": { "author": "Scrapinghub", "author_email": "info@scrapinghub.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "==============================================\n[DEPRECATED] HubStorage service client library\n==============================================\n\n[WARNING] This package is deprecated, please use `python-scrapinghub`_ (>=1.9.0) instead.\n\n.. image:: https://badge.fury.io/py/hubstorage.png\n :target: http://badge.fury.io/py/hubstorage\n\n.. image:: https://travis-ci.org/scrapinghub/python-hubstorage.svg?branch=master\n :target: https://travis-ci.org/scrapinghub/python-hubstorage\n\n.. note:: This module is experimental and its API may change without previous notice.\n\n\nOverview\n========\n\nThis Python library can be used for interaction with spiders, jobs and scraped data through ``storage.scrapinghub.com`` endpoints, see `Scrapinghub API`_.\n\nRequirements\n------------\n\n* requests: http://pypi.python.org/pypi/requests\n\nTesting\n-------\n\nRunning the tests require the hubstorage backend to be running,\nand the python `responses` library (see `requirements-test.txt`).\n\nUsage\n---------\n\nFirst, use your API key for authorization:\n\n>>> from hubstorage import HubstorageClient\n>>> h\u0441 = HubstorageClient(auth='apikey')\n>>> hc.server_timestamp()\n1446222762611\n\nProject\n**********\n\nTo get project settings or jobs summary:\n\n>>> project = hc.get_project('1111111')\n>>> project.settings['botgroups']\n[u'botgroup1', ]\n>>> project.jobsummary()\n{u'finished': 6,\n u'has_capacity': True,\n u'pending': 0,\n u'project': 1111111,\n u'running': 0}\n\nSpider\n**********\n\nTo get spider id correlated with its name:\n\n>>> project.ids.spider('foo')\n1\n\nTo see last jobs summaries:\n\n>>> summaries = project.spiders.lastjobsummary(count=3)\n\nTo get job summary per spider:\n\n>>> summary = project.spiders.lastjobsummary(spiderid='1')\n\nJob\n**********\n\nJob can be **retrieved** directly by id (project_id/spider_id/job_id):\n\n>>> job = hc.get_job('1111111/1/1')\n>>> job.key\n'1111111/1/1'\n>>> job.metadata['state']\nu'finished'\n\n**Creating** a new job requires a spider name:\n\n>>> job = hc.push_job(projectid='1111111', spidername='foo')\n>>> job.key\n'1111111/1/1'\n\nPriority can be between 0 and 4 (from lowest to highest), the default is 2.\n\nTo push job from project level with the highest priority:\n\n>>> job = project.push_job(spidername='foo', priority=4)\n>>> job.metadata['priority']\n4\n\nPushing a job with spider arguments:\n\n>>> project.push_job(spidername='foo', spider_args={'arg1': 'foo', 'arg2': 'bar'})\n\nRunning job can be **cancelled** by calling ``request_cancel()``:\n\n>>> job.request_cancel()\n>>> job.metadata['cancelled_by']\nu'John'\n\nTo **delete** job:\n\n>>> job.purged()\n>>> job.metadata['state']\nu'deleted'\n\nJob details\n******************\n\nJob details can be found in jobs metadata and it's scrapystats:\n\n>>> job = hc.get_job('1111111/1/1')\n>>> job.metadata['version']\nu'5123a86-master'\n>>> job.metadata['scrapystats']\n...\nu'downloader/response_count': 104,\nu'downloader/response_status_count/200': 104,\nu'finish_reason': u'finished',\nu'finish_time': 1447160494937,\nu'item_scraped_count': 50,\nu'log_count/DEBUG': 157,\nu'log_count/INFO': 1365,\nu'log_count/WARNING': 3,\nu'memusage/max': 182988800,\nu'memusage/startup': 62439424,\n...\n\nAnything can be stored in metadata, here is example how to add tags:\n\n>>> job.update_metadata({'tags': 'obsolete'})\n\nJobs\n*************\n\nTo iterate through all jobs metadata per project (descending order):\n\n>>> jobs_metadata = project.jobq.list()\n>>> [j['key'] for j in jobs_metadata]\n['1111111/1/3', '1111111/1/2', '1111111/1/1']\n\nJobq metadata fieldset is less detailed, than ``job.metadata``, but contains few new fields as well.\nAdditional fields can be requested using the ``jobmeta`` parameter.\nIf it used, then it's up to the user to list all the required fields, so only few default fields would be added except requested ones.\n\n>>> metadata = next(project.jobq.list())\n>>> metadata.get('spider', 'missing')\nu'foo'\n>>> jobs_metadata = project.jobq.list(jobmeta=['scheduled_by', ])\n>>> metadata = next(jobs_metadata)\n>>> metadata.get('scheduled_by', 'missing')\nu'John'\n>>> metadata.get('spider', 'missing')\nmissing\n\nBy default ``jobq.list()`` returns maximum last 1000 results. Pagination is available using the ``start`` parameter:\n\n>>> jobs_metadata = project.jobq.list(start=1000)\n\nThere are several filters like spider, state, has_tag, lacks_tag, startts and endts.\nTo get jobs filtered by tags:\n\n>>> jobs_metadata = project.jobq.list(has_tag=['new', 'verified'], lacks_tag='obsolete')\n\nList of tags has ``OR`` power, so in the case above jobs with 'new' or 'verified' tag are expected.\n\nTo get certain number of last finished jobs per some spider:\n\n>>> jobs_metadata = project.jobq.list(spider='foo', state='finished' count=3)\n\nThere are 4 possible job states, which can be used as values for filtering by state:\n\n- pending\n- running\n- finished\n- deleted\n\nItems\n*********\n\nTo iterate through items:\n\n>>> items = job.items.iter_values()\n>>> for item in items:\n # do something, item is just a dict\n\nLogs\n********\n\nTo iterate through 10 first logs for example:\n\n>>> logs = job.logs.iter_values(count=10)\n>>> for log in logs:\n # do something, log is a dict with log level, message and time keys\n\nCollections\n**************\n\nLet's store hash and timestamp pair for foo spider. Usual workflow with `Collections`_ would be:\n\n>>> collections = project.collections\n>>> foo_store = collections.new_store('foo_store')\n>>> foo_store.set({'_key': '002d050ee3ff6192dcbecc4e4b4457d7', 'value': '1447221694537'})\n>>> foo_store.count()\n1\n>>> foo_store.get('002d050ee3ff6192dcbecc4e4b4457d7')\n'1447221694537'\n>>> for result in foo_store.iter_values():\n # do something with _key & value pair\n>>> foo_store.delete('002d050ee3ff6192dcbecc4e4b4457d7')\n>>> foo_store.count()\n0\n\nFrontier\n**************\n\nTypical workflow with `Frontier`_:\n\n>>> frontier = project.frontier\n\nAdd a request to the frontier:\n\n>>> frontier.add('test', 'example.com', [{'fp': '/some/path.html'}])\n>>> frontier.flush()\n>>> frontier.newcount\n1\n\nAdd requests with additional parameters:\n\n>>> frontier.add('test', 'example.com', [{'fp': '/'}, {'fp': 'page1.html', 'p': 1, 'qdata': {'depth': 1}}])\n>>> frontier.flush()\n>>> frontier.newcount\n2\n\nTo delete the slot ``example.com`` from the frontier:\n\n>>> frontier.delete_slot('test', 'example.com')\n\nTo retrieve requests for a given slot:\n\n>>> reqs = frontier.read('test', 'example.com')\n\nTo delete a batch of requests:\n\n>>> frontier.delete('test', 'example.com', '00013967d8af7b0001')\n\nTo retrieve fingerprints for a given slot:\n\n>>> fps = [req['requests'] for req in frontier.read('test', 'example.com')]\n\n.. _Scrapinghub API: http://doc.scrapinghub.com/api.html\n.. _Collections: http://doc.scrapinghub.com/api/collections.html\n.. _Frontier: http://doc.scrapinghub.com/api/frontier.html\n.. _python-scrapinghub: https://github.com/scrapinghub/python-scrapinghub\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://scrapinghub.com", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "hubstorage", "package_url": "https://pypi.org/project/hubstorage/", "platform": "Any", "project_url": "https://pypi.org/project/hubstorage/", "project_urls": { "Homepage": "http://scrapinghub.com" }, "release_url": "https://pypi.org/project/hubstorage/0.23.6/", "requires_dist": [ "requests", "retrying (>=1.3.3)", "six (>=1.10.0)", "msgpack-python (>=0.4.7); extra == 'msgpack'" ], "requires_python": "", "summary": "Client interface for Scrapinghub HubStorage", "version": "0.23.6" }, "last_serial": 2499974, "releases": { "0.10": [ { "comment_text": "", "digests": { "md5": "a0cac6f6cf7f7869030e235a7adf74f2", "sha256": "ecbc52e567df4be23475adb7a95bf84ed1fd26c9c72e693eca15556881273696" }, "downloads": -1, "filename": "hubstorage-0.10.tar.gz", "has_sig": false, "md5_digest": "a0cac6f6cf7f7869030e235a7adf74f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10569, "upload_time": "2013-11-25T13:05:21", "url": "https://files.pythonhosted.org/packages/88/a6/2a90ec0b17548353e954417edb9cffee855134a8529d7c2e11d19442eefb/hubstorage-0.10.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "0f174c6fb2cdf69593686980b4feb140", "sha256": "6bfa1ad586a187a0f1b4f8e744609459e1fd65af358f7017838155a071f4367d" }, "downloads": -1, "filename": "hubstorage-0.11.tar.gz", "has_sig": false, "md5_digest": "0f174c6fb2cdf69593686980b4feb140", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10855, "upload_time": "2013-11-27T16:44:00", "url": "https://files.pythonhosted.org/packages/bd/9c/91ea03ff5d2c8ff39e7ca5e8de20b045d59bd75202fa8d0e2c3711219127/hubstorage-0.11.tar.gz" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "d63a203d191c4dec2973780a42cf371f", "sha256": "ed819134c6fd7d28aeca47cf2922d05dd9e46111750e36b8f8d7656d74184c4d" }, "downloads": -1, "filename": "hubstorage-0.12.tar.gz", "has_sig": false, "md5_digest": "d63a203d191c4dec2973780a42cf371f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10878, "upload_time": "2013-12-17T15:19:03", "url": "https://files.pythonhosted.org/packages/6b/1b/041194f7bda4106672eab4f0bde6bbe4e0672a90f4343d5f4fa24cefd49f/hubstorage-0.12.tar.gz" } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "322dcf60f1e8a7c8622734c0d1c94210", "sha256": "ab93752f00ad8e9f69b5e481620390886eed0dec8f848db34542c54980837035" }, "downloads": -1, "filename": "hubstorage-0.13.0.tar.gz", "has_sig": false, "md5_digest": "322dcf60f1e8a7c8622734c0d1c94210", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12207, "upload_time": "2014-01-31T16:52:39", "url": "https://files.pythonhosted.org/packages/44/23/05b7cff80190eba85b2f747c70087c5edda6acde8f3edd042b0b0e1017ed/hubstorage-0.13.0.tar.gz" } ], "0.13.1": [ { "comment_text": "", "digests": { "md5": "a05fb3a91beffdaf1c3b816362faf6c1", "sha256": "937780e624221585b0864ae700758327d829fc0d095573da3b23bc988a83dfeb" }, "downloads": -1, "filename": "hubstorage-0.13.1.tar.gz", "has_sig": false, "md5_digest": "a05fb3a91beffdaf1c3b816362faf6c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12184, "upload_time": "2014-02-18T00:52:51", "url": "https://files.pythonhosted.org/packages/3f/e4/39e9d8f2f43d296b39b4cf2f161e04fecee65311ec5f18c72cd562fbdb28/hubstorage-0.13.1.tar.gz" } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "05b7bbbec17889c8bdf90c18957eb1c4", "sha256": "ec9bc509473417ff92efc19df772366ab7b727b8d6964d1d96d9455e663b30d7" }, "downloads": -1, "filename": "hubstorage-0.14.0.tar.gz", "has_sig": false, "md5_digest": "05b7bbbec17889c8bdf90c18957eb1c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12877, "upload_time": "2014-06-24T16:07:10", "url": "https://files.pythonhosted.org/packages/23/9d/cb3585100b1775ecf7274bdcbdc59a044d0443a5c2bb4a79e64ff3a728bc/hubstorage-0.14.0.tar.gz" } ], "0.14.1": [ { "comment_text": "", "digests": { "md5": "a2236d6a9ed2af55554c0d5024e5041e", "sha256": "2fa23f93921977d5c2af3404ef37c3fe4932c6d089df9d6127ffabdc7510f2e7" }, "downloads": -1, "filename": "hubstorage-0.14.1.tar.gz", "has_sig": false, "md5_digest": "a2236d6a9ed2af55554c0d5024e5041e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12985, "upload_time": "2014-06-24T19:14:36", "url": "https://files.pythonhosted.org/packages/74/69/ef5288eae93ddd6830e565f2f418fe13975d0378c71f8f1b3cd8ccb77b46/hubstorage-0.14.1.tar.gz" } ], "0.14.2": [ { "comment_text": "", "digests": { "md5": "eb7f3984988041bb3f2261a6375473f2", "sha256": "d22a30085e403e1b0c60d514006ce54c5b511453e7c76972720ab2413a350e10" }, "downloads": -1, "filename": "hubstorage-0.14.2-py2-none-any.whl", "has_sig": false, "md5_digest": "eb7f3984988041bb3f2261a6375473f2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16833, "upload_time": "2014-06-24T21:04:41", "url": "https://files.pythonhosted.org/packages/58/f6/2ccd5e40b6a79ac496468fc28f756d40bc9cf9a29fc86a898e02230a9d0e/hubstorage-0.14.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a48b2ae0f212aee8f033e00881c636f2", "sha256": "90be9b7978d8b31fef1f973827597178362dd6e1f1a9788e00735b412fe260c5" }, "downloads": -1, "filename": "hubstorage-0.14.2.tar.gz", "has_sig": false, "md5_digest": "a48b2ae0f212aee8f033e00881c636f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13140, "upload_time": "2014-06-24T21:04:39", "url": "https://files.pythonhosted.org/packages/1a/92/c587ddbb896d103341b2989f20bc49bff11d7f0a0fd62b77bbee114d97a5/hubstorage-0.14.2.tar.gz" } ], "0.14.3": [ { "comment_text": "", "digests": { "md5": "6ec4ba636b5c1fc875ab4bf576254713", "sha256": "79e23e8240681753c5b7a85eaa8aaf73d96ded950094ac6d088bd7baccca7a2d" }, "downloads": -1, "filename": "hubstorage-0.14.3-py2-none-any.whl", "has_sig": false, "md5_digest": "6ec4ba636b5c1fc875ab4bf576254713", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16831, "upload_time": "2014-06-25T03:50:29", "url": "https://files.pythonhosted.org/packages/ff/20/d7d3e47bf368a733686830a4eb5265d991e3b8d7e66202692c44a692928e/hubstorage-0.14.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "457f144d6e890cc0a30f394ace692cb5", "sha256": "44e0156a7e7eae903d695c5f41e1d8ec5348356690859a8f1b7dbad0f4431feb" }, "downloads": -1, "filename": "hubstorage-0.14.3.tar.gz", "has_sig": false, "md5_digest": "457f144d6e890cc0a30f394ace692cb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13285, "upload_time": "2014-06-25T03:50:27", "url": "https://files.pythonhosted.org/packages/87/6e/86ce2896c54311f9bc6d7998bf2d32b0ffc80842d6b9812a16a2d6b36330/hubstorage-0.14.3.tar.gz" } ], "0.16.0": [ { "comment_text": "", "digests": { "md5": "16deb7e24922edd81934d6ee7305a7eb", "sha256": "513b85e2d7905f4a296b2cd2848b0ff6161611ea8cff76da5ea39fa82a195546" }, "downloads": -1, "filename": "hubstorage-0.16.0-py2-none-any.whl", "has_sig": false, "md5_digest": "16deb7e24922edd81934d6ee7305a7eb", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16947, "upload_time": "2014-07-30T17:45:25", "url": "https://files.pythonhosted.org/packages/57/94/3838637c346c72076641ba5a5dec8c30b68c717dc61f5afeaccd061a6f04/hubstorage-0.16.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "18c8a72a71730fbde5276c6f0ada5612", "sha256": "39f929ea70737399327ae552040a29c025aa9ad06797022235960464038cb4e4" }, "downloads": -1, "filename": "hubstorage-0.16.0.tar.gz", "has_sig": false, "md5_digest": "18c8a72a71730fbde5276c6f0ada5612", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13289, "upload_time": "2014-07-30T17:45:22", "url": "https://files.pythonhosted.org/packages/bf/03/c1f2ea19b5c010cf0743b6587e526da91351e2e51370514c8da71fe2e67a/hubstorage-0.16.0.tar.gz" } ], "0.16.1": [ { "comment_text": "", "digests": { "md5": "5798d9eef421de7ed9e588738abfe79a", "sha256": "36e7c47c5daa203f64d0f3503049f1d77b9b1748e08577ae98a422af2a9fb462" }, "downloads": -1, "filename": "hubstorage-0.16.1-py2-none-any.whl", "has_sig": false, "md5_digest": "5798d9eef421de7ed9e588738abfe79a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 16919, "upload_time": "2014-11-27T14:23:38", "url": "https://files.pythonhosted.org/packages/63/89/40b40884f7ddc487330471776e7ff10a412943d72fd7fec71b4c15b11a50/hubstorage-0.16.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1899d06a48cee9482137b9ff09c2ffe", "sha256": "53985184b020b1c286228526befa324555e95ddcbf69bd5bebcb598407c907e1" }, "downloads": -1, "filename": "hubstorage-0.16.1.tar.gz", "has_sig": false, "md5_digest": "e1899d06a48cee9482137b9ff09c2ffe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13039, "upload_time": "2014-11-27T14:23:36", "url": "https://files.pythonhosted.org/packages/b1/3c/d704667b2c0a2bb7e9083b211757d6a4646c15b2c39217b11003f705ea93/hubstorage-0.16.1.tar.gz" } ], "0.17.0": [ { "comment_text": "", "digests": { "md5": "104a1bb112a8afce5b42494c20d991c2", "sha256": "d2324218c225546c559ba37a7c5744cba0c13c107f534ff15938c438816c308c" }, "downloads": -1, "filename": "hubstorage-0.17.0-py2-none-any.whl", "has_sig": false, "md5_digest": "104a1bb112a8afce5b42494c20d991c2", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17037, "upload_time": "2015-09-04T15:31:19", "url": "https://files.pythonhosted.org/packages/8d/bb/1a7d4862ea6b9804fd258bd52baa7c641ddbd08f92d53d54a330e8e36f18/hubstorage-0.17.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a811a42828906a16c6ab3b8fd3560619", "sha256": "ef25672f594cb265f2b941964f8af743e03a23daa1ab95c6f9a60ccd42e7287b" }, "downloads": -1, "filename": "hubstorage-0.17.0.tar.gz", "has_sig": false, "md5_digest": "a811a42828906a16c6ab3b8fd3560619", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13533, "upload_time": "2015-09-04T15:31:26", "url": "https://files.pythonhosted.org/packages/77/ce/dfb6f19f220cbe24529bfaa32ae61fc60aca796cd5146f7975dde9aff56c/hubstorage-0.17.0.tar.gz" } ], "0.18.0": [ { "comment_text": "", "digests": { "md5": "fce72b6daa2a26a8fa82eda679618bb0", "sha256": "3b846c605f6175ff3added359e7ffc68590c2a528c3a0f94d47253e6cafbaeed" }, "downloads": -1, "filename": "hubstorage-0.18.0-py2-none-any.whl", "has_sig": false, "md5_digest": "fce72b6daa2a26a8fa82eda679618bb0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 16968, "upload_time": "2015-11-10T06:14:26", "url": "https://files.pythonhosted.org/packages/5f/a9/f9c290d4259057944e29d6b712700482087cb8cd5b2fdbb7d538c8bf8e10/hubstorage-0.18.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d20530294d9524ea85ac59e8600ebf5", "sha256": "dcdf322b5956470381177b5e4994ec40e8ed08bb3030ab8466cd6a1305a69ea8" }, "downloads": -1, "filename": "hubstorage-0.18.0.tar.gz", "has_sig": false, "md5_digest": "8d20530294d9524ea85ac59e8600ebf5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13127, "upload_time": "2015-11-10T06:14:30", "url": "https://files.pythonhosted.org/packages/98/3c/32dc83d7d606297e2e62a8e680313dc034da9b2d2cdd4a680fb194dfa49f/hubstorage-0.18.0.tar.gz" } ], "0.18.1": [ { "comment_text": "", "digests": { "md5": "cabc00ed4f43c97f797733d0278766ec", "sha256": "3c42faff9587b7d0e965ae358cf6a88074349470e3c162febe07c05b3639b12d" }, "downloads": -1, "filename": "hubstorage-0.18.1-py2-none-any.whl", "has_sig": false, "md5_digest": "cabc00ed4f43c97f797733d0278766ec", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17274, "upload_time": "2015-11-11T02:08:39", "url": "https://files.pythonhosted.org/packages/2f/64/06adaac9203c27cc9b58c25ed06ec04c6776f84acd50ec71a9d79fcf227a/hubstorage-0.18.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac54acd6b55e760763bcd5e51c813073", "sha256": "e5b1350ff57f52b26dd1fc5bf0bd2bcab372d295ff6de622befbd92466b1e2f6" }, "downloads": -1, "filename": "hubstorage-0.18.1.tar.gz", "has_sig": false, "md5_digest": "ac54acd6b55e760763bcd5e51c813073", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13405, "upload_time": "2015-11-11T02:08:43", "url": "https://files.pythonhosted.org/packages/99/a5/d68a16c0894f7e4e61a5bc6eccf29c07d1a13bb7c303ff89f58cab16ad84/hubstorage-0.18.1.tar.gz" } ], "0.19.0": [ { "comment_text": "", "digests": { "md5": "bf35a45e7993bb404987939725a87a8a", "sha256": "7e8edc01c3509331801aa524737f3c1c34e565ede24fbd9a03f98ea4e23e1721" }, "downloads": -1, "filename": "hubstorage-0.19.0-py2-none-any.whl", "has_sig": false, "md5_digest": "bf35a45e7993bb404987939725a87a8a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 35172, "upload_time": "2015-11-24T13:17:44", "url": "https://files.pythonhosted.org/packages/01/bd/0948fe67e3aea927d0f6cbe580b293226d44b2190764fbfd5a92a49e0a38/hubstorage-0.19.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e3c2401d568ad9a9de2c3285515736e", "sha256": "e9c8a788956f975fd20e5805138ee87c1d131cd8242fa03783b8d5d1c16407ca" }, "downloads": -1, "filename": "hubstorage-0.19.0.tar.gz", "has_sig": false, "md5_digest": "4e3c2401d568ad9a9de2c3285515736e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28515, "upload_time": "2015-11-24T13:17:50", "url": "https://files.pythonhosted.org/packages/e8/a1/b167c9b40590cafd866e16fe5233cdaf57855bdb645df6274472fc914de6/hubstorage-0.19.0.tar.gz" } ], "0.19.1": [ { "comment_text": "", "digests": { "md5": "44384b035480b26b1ae5804714268f94", "sha256": "d45b20d92732079c45fa25708f3ad8264db90c14cb8baa9a97ddce7be193dcfa" }, "downloads": -1, "filename": "hubstorage-0.19.1-py2-none-any.whl", "has_sig": false, "md5_digest": "44384b035480b26b1ae5804714268f94", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 35212, "upload_time": "2015-11-24T15:18:09", "url": "https://files.pythonhosted.org/packages/70/65/af6551942445dd19cbada30f9907c461a8c468231a687d00f3d7c57e96d5/hubstorage-0.19.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c35019f1ca5b88c8d07d98ecf7144f83", "sha256": "31a9aa788206dec1763428e7c36478c43f3efb2323d7a60a00fb660289a51c16" }, "downloads": -1, "filename": "hubstorage-0.19.1.tar.gz", "has_sig": false, "md5_digest": "c35019f1ca5b88c8d07d98ecf7144f83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28540, "upload_time": "2015-11-24T15:18:19", "url": "https://files.pythonhosted.org/packages/fd/ee/b1e635e67a2aca69ab943db8f766c4264cdb2a2b10ad5104705c2fdc6a44/hubstorage-0.19.1.tar.gz" } ], "0.20.0": [ { "comment_text": "", "digests": { "md5": "70a504b7b0c91d59005ed9489ccad811", "sha256": "58c6ca59003d2c4b80d1e3774e32473b118d046a5f01a0d99a6a1c59f783d3fb" }, "downloads": -1, "filename": "hubstorage-0.20.0-py2-none-any.whl", "has_sig": false, "md5_digest": "70a504b7b0c91d59005ed9489ccad811", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 34708, "upload_time": "2015-12-01T19:51:05", "url": "https://files.pythonhosted.org/packages/f8/74/62a813b13797836d7aca981d44dd4e4a31d26dc6a32b245c8891e24a50a2/hubstorage-0.20.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b1141033d8cdef633cbe8677fc8072b", "sha256": "c1311b112f05d296ee1534901259b26dc620fcbb964ca52bfd3f0621ce21b367" }, "downloads": -1, "filename": "hubstorage-0.20.0.tar.gz", "has_sig": false, "md5_digest": "4b1141033d8cdef633cbe8677fc8072b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28044, "upload_time": "2015-12-01T19:51:09", "url": "https://files.pythonhosted.org/packages/42/15/c82324a08ce5844d806da43bb059e49d323419d941ef76ae89226f9d92cf/hubstorage-0.20.0.tar.gz" } ], "0.21.0": [ { "comment_text": "", "digests": { "md5": "a3419dec0c4fa37b2d9322c69afdbd63", "sha256": "50db08f51fd61c1b5922a7bc9088019e028b188621d90301b70cdd3d04b360d8" }, "downloads": -1, "filename": "hubstorage-0.21.0-py2-none-any.whl", "has_sig": false, "md5_digest": "a3419dec0c4fa37b2d9322c69afdbd63", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 34805, "upload_time": "2015-12-26T15:50:08", "url": "https://files.pythonhosted.org/packages/15/c8/0b1c7b7dc2774455c322c5338b40f74df3c1ee5353d59a8efabe1df2900a/hubstorage-0.21.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "889eee330d938e0c0439cc4983434c99", "sha256": "51d2f685aaf6e08deec273701a6555d649edc9118e8ac542f16cea10a4290c72" }, "downloads": -1, "filename": "hubstorage-0.21.0.tar.gz", "has_sig": false, "md5_digest": "889eee330d938e0c0439cc4983434c99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28184, "upload_time": "2015-12-26T15:50:20", "url": "https://files.pythonhosted.org/packages/12/ba/844134e48f37602da07a7f05a2f7a09fc23ca504bf9ce8c43799c9908ee5/hubstorage-0.21.0.tar.gz" } ], "0.22.0": [ { "comment_text": "", "digests": { "md5": "e1f12dbe71e0701357e957b5d1854394", "sha256": "596bfb9d808961baf6699565bbf7f624760907513f08a0b9c50f98cf4ec863c5" }, "downloads": -1, "filename": "hubstorage-0.22.0-py2-none-any.whl", "has_sig": false, "md5_digest": "e1f12dbe71e0701357e957b5d1854394", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 35016, "upload_time": "2016-01-19T23:36:12", "url": "https://files.pythonhosted.org/packages/bf/d6/6e3521d8da1e57a10894601db8c17173bc6128f2652966d838a45063c1fa/hubstorage-0.22.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b6a1801bd713caea671f7766f370058a", "sha256": "1d32dd0121ce6cec9fd717459a27178eab4f693839446957e369f3d5cd5c4220" }, "downloads": -1, "filename": "hubstorage-0.22.0.tar.gz", "has_sig": false, "md5_digest": "b6a1801bd713caea671f7766f370058a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28387, "upload_time": "2016-01-19T23:36:26", "url": "https://files.pythonhosted.org/packages/68/62/5af42c3f39666d01f8b563fade81063af1fba5cb7e5fde9802b219870169/hubstorage-0.22.0.tar.gz" } ], "0.23.0": [ { "comment_text": "", "digests": { "md5": "82b84c2f6df2caf852fb666f1e42860f", "sha256": "eb4d588570a747d39618359635162235647492c0d260b46d24ed878124a8140f" }, "downloads": -1, "filename": "hubstorage-0.23.0-py2-none-any.whl", "has_sig": false, "md5_digest": "82b84c2f6df2caf852fb666f1e42860f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 35734, "upload_time": "2016-05-27T14:48:45", "url": "https://files.pythonhosted.org/packages/01/82/71b97b8525224e4ac3d06076efa75fb8327d3671d40a0ce690e7ad165657/hubstorage-0.23.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74e5076a5145e2aa712280932a4a021a", "sha256": "c2abf72ea5fbf570f0e15c3f43364d51493b4660f38c478197cd0d85d2c09c28" }, "downloads": -1, "filename": "hubstorage-0.23.0.tar.gz", "has_sig": false, "md5_digest": "74e5076a5145e2aa712280932a4a021a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29257, "upload_time": "2016-05-27T14:48:49", "url": "https://files.pythonhosted.org/packages/ce/4b/bf3085c4a648368037caa98c18427f6d8d526daf0400b0efa1244b77dc59/hubstorage-0.23.0.tar.gz" } ], "0.23.1": [ { "comment_text": "", "digests": { "md5": "f2710dfa6ff6339e6f5561fb252fab29", "sha256": "eebde6a1e61e771e96496776365fceefa1f41d1600d44f74e945b9dc70019ecc" }, "downloads": -1, "filename": "hubstorage-0.23.1-py2-none-any.whl", "has_sig": false, "md5_digest": "f2710dfa6ff6339e6f5561fb252fab29", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 35842, "upload_time": "2016-06-20T11:13:59", "url": "https://files.pythonhosted.org/packages/c2/34/d83387e0b9b187b5fc017a4f27f055809a7d1bc9773b7fe7f303e32cfb15/hubstorage-0.23.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6eabec58646a13b38114f794a066ebf5", "sha256": "4b582b6795258f01d9e00cb9747b37b397656817002e75e9cadaacaf56bf6dd5" }, "downloads": -1, "filename": "hubstorage-0.23.1.tar.gz", "has_sig": false, "md5_digest": "6eabec58646a13b38114f794a066ebf5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29356, "upload_time": "2016-06-20T11:14:03", "url": "https://files.pythonhosted.org/packages/d5/8c/b0622ccc7bf4cc01ef74212920bb8be854152539d3e4a246adbac0a1d512/hubstorage-0.23.1.tar.gz" } ], "0.23.2": [ { "comment_text": "", "digests": { "md5": "6054b8b8c3ff09253978c726e9448b84", "sha256": "862b314ea9a91233239e8821fa802b0d6913c4d688544f53347c11ac61e06a88" }, "downloads": -1, "filename": "hubstorage-0.23.2-py2-none-any.whl", "has_sig": false, "md5_digest": "6054b8b8c3ff09253978c726e9448b84", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 35964, "upload_time": "2016-09-19T16:32:15", "url": "https://files.pythonhosted.org/packages/c3/ad/a9f5e1272237fa07a292ccabac92700c8296bd41d39bf07afe993cfa9181/hubstorage-0.23.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddc71652b36628e9d886710c22a436b7", "sha256": "34ffdd6be4cd12f30912a47161d0d9a4dd7f292737180219cfeba395274451dc" }, "downloads": -1, "filename": "hubstorage-0.23.2.tar.gz", "has_sig": false, "md5_digest": "ddc71652b36628e9d886710c22a436b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29488, "upload_time": "2016-09-19T16:32:18", "url": "https://files.pythonhosted.org/packages/35/84/2224eed99263c84b90db5409246b03d1b6c2658a73d26c98261a69b84dd0/hubstorage-0.23.2.tar.gz" } ], "0.23.3": [ { "comment_text": "", "digests": { "md5": "1911dce4679f918d58552c41726d0441", "sha256": "55e2aa4d4762a13b12743811aee09d3aa7070898d01155760f049e115f90cb7f" }, "downloads": -1, "filename": "hubstorage-0.23.3-py2-none-any.whl", "has_sig": false, "md5_digest": "1911dce4679f918d58552c41726d0441", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 36731, "upload_time": "2016-09-29T08:45:19", "url": "https://files.pythonhosted.org/packages/64/e8/12615972c481614cbd21db15f5146418b6b791ca7565ffcc5cf2f735dc9d/hubstorage-0.23.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f554db40e8bf700f6319662b50f76c1", "sha256": "6114ee5564d23a7d4683fa2cad09c25ffcf94924112fdbb7e22ff13472e648d8" }, "downloads": -1, "filename": "hubstorage-0.23.3.tar.gz", "has_sig": false, "md5_digest": "2f554db40e8bf700f6319662b50f76c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30258, "upload_time": "2016-09-29T08:45:22", "url": "https://files.pythonhosted.org/packages/36/da/c8ae498355bd402d2e793d18992ce9f9f38bce934676b219c929814c9cd1/hubstorage-0.23.3.tar.gz" } ], "0.23.4": [ { "comment_text": "", "digests": { "md5": "aefd49322a894d0c0be0dd5bc725d942", "sha256": "0fa002374abcd08ad6e8babbfb0fa0dcdc161e043c584316f744ffa3cb6976e9" }, "downloads": -1, "filename": "hubstorage-0.23.4-py2-none-any.whl", "has_sig": false, "md5_digest": "aefd49322a894d0c0be0dd5bc725d942", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 36734, "upload_time": "2016-09-29T19:59:59", "url": "https://files.pythonhosted.org/packages/8a/09/20ebd7d996326d8d6a4dc2731500f013745e0e3b45dae03667b52f57350f/hubstorage-0.23.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b91ac41f580768e0acfffb46ea9c73c4", "sha256": "66c652fb8340bdd1fdfe786245d3d48f9517ac9af31571d33ebb174546e0df15" }, "downloads": -1, "filename": "hubstorage-0.23.4.tar.gz", "has_sig": false, "md5_digest": "b91ac41f580768e0acfffb46ea9c73c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30260, "upload_time": "2016-09-29T20:00:01", "url": "https://files.pythonhosted.org/packages/ab/9c/a3e0565d587e7cb5a2d6cfd1d398843f7b4c9a6f8a260c63867c2a081cc6/hubstorage-0.23.4.tar.gz" } ], "0.23.5": [ { "comment_text": "", "digests": { "md5": "93498418d743a714d08c49bf6f8e913b", "sha256": "a3828fa3c144a7687d64fa8843b9ef2a17bb4186f0425aa0649434ec2eee98c4" }, "downloads": -1, "filename": "hubstorage-0.23.5-py2-none-any.whl", "has_sig": false, "md5_digest": "93498418d743a714d08c49bf6f8e913b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 36945, "upload_time": "2016-11-09T14:36:01", "url": "https://files.pythonhosted.org/packages/17/e9/9c7bbe75796d363e7b767880d4a1a1920dc89e483e29b36408906361644f/hubstorage-0.23.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83494ebab47f5c90238cc898691068b8", "sha256": "2d322e817de6041cf4213af88016cae0cbd20269fc57a0a96de2fd2e995f357d" }, "downloads": -1, "filename": "hubstorage-0.23.5.tar.gz", "has_sig": false, "md5_digest": "83494ebab47f5c90238cc898691068b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30503, "upload_time": "2016-11-09T14:36:03", "url": "https://files.pythonhosted.org/packages/86/93/dcb3e706eb80b5b8a132e69c6615c86240ff03fac1791232c978c44228dd/hubstorage-0.23.5.tar.gz" } ], "0.23.6": [ { "comment_text": "", "digests": { "md5": "09539b2da1c75216fd8478fcf9a89890", "sha256": "d638143206038e54a2de74c2c1ecf1bf84dff344ac2ef3d9cb63a98e315a8f2d" }, "downloads": -1, "filename": "hubstorage-0.23.6-py2-none-any.whl", "has_sig": false, "md5_digest": "09539b2da1c75216fd8478fcf9a89890", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 37903, "upload_time": "2016-12-05T11:22:02", "url": "https://files.pythonhosted.org/packages/81/ad/6482a708db00cd5871e3e9a24285738e7bce4e401301074b3f2fe09dce74/hubstorage-0.23.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "040cee27ef7f10de746a7bf7e63bbf4a", "sha256": "ed9d10ae949cc282f4e5bc776c9c4890e373aa4f29fa983cfc5845b932a5bcbf" }, "downloads": -1, "filename": "hubstorage-0.23.6.tar.gz", "has_sig": false, "md5_digest": "040cee27ef7f10de746a7bf7e63bbf4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31221, "upload_time": "2016-12-05T11:22:04", "url": "https://files.pythonhosted.org/packages/52/28/881a645d9d549aa077ae4b5548416d5809dbe076d915d44d898c20ea7c24/hubstorage-0.23.6.tar.gz" } ], "0.9": [] }, "urls": [ { "comment_text": "", "digests": { "md5": "09539b2da1c75216fd8478fcf9a89890", "sha256": "d638143206038e54a2de74c2c1ecf1bf84dff344ac2ef3d9cb63a98e315a8f2d" }, "downloads": -1, "filename": "hubstorage-0.23.6-py2-none-any.whl", "has_sig": false, "md5_digest": "09539b2da1c75216fd8478fcf9a89890", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 37903, "upload_time": "2016-12-05T11:22:02", "url": "https://files.pythonhosted.org/packages/81/ad/6482a708db00cd5871e3e9a24285738e7bce4e401301074b3f2fe09dce74/hubstorage-0.23.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "040cee27ef7f10de746a7bf7e63bbf4a", "sha256": "ed9d10ae949cc282f4e5bc776c9c4890e373aa4f29fa983cfc5845b932a5bcbf" }, "downloads": -1, "filename": "hubstorage-0.23.6.tar.gz", "has_sig": false, "md5_digest": "040cee27ef7f10de746a7bf7e63bbf4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31221, "upload_time": "2016-12-05T11:22:04", "url": "https://files.pythonhosted.org/packages/52/28/881a645d9d549aa077ae4b5548416d5809dbe076d915d44d898c20ea7c24/hubstorage-0.23.6.tar.gz" } ] }