{ "info": { "author": "Ken", "author_email": "kenjyco@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries" ], "description": "About\n-----\n\nInstall redis-helper, create an instance of ``redis_helper.Collection``\n(**the args/kwargs define the model**) and use the ``add``, ``get``,\n``update``, ``delete``, and ``find`` methods to:\n\n- quickly store/retrieve/modify Python dicts in Redis\n- filter through indexed fields with simple/flexible find arguments\n- power real-time dashboards with metrics at a variety of time ranges\n- super-charge event logging and system debugging\n- build FAST prototypes and simulators\n- greatly simplify data access patterns throughout application\n\nSee the `request logging demo `__\nand `urls\ndemo `__ (with\n``unique_field`` defined). The\n`examples `__\nthey reference are **short** and **easy to read**.\n\nThe `redis-helper project `__\nevolved from a `reference Python\nproject `__\nthat would be **easy to teach** and follow many practical best practices\nand useful patterns. Main purpose was to have something that was super\n**easy to configure** (a single ``~/.config/redis-helper/settings.ini``\nfile for multiple application environments) that did cool things with\n`Redis `__.\n\nThe `redis-helper package `__\nprovides a ``Collection`` class that was designed to be **easy to\ninteract with** in the shell (for exploration, experimentation, and\ndebugging). Most methods on a ``Collection`` help **minimize typing**\n(passing multiple arguments in a single delimited string when\nappropriate) and do \u201cthe most reasonable thing\u201d whenever possible.\n\nThe first time that ``redis_helper`` is imported, the sample\n`settings.ini `__\nfile will be copied to the ``~/.config/redis-helper`` directory.\n\nInstall Redis and start server\n------------------------------\n\n::\n\n % sudo apt-get install -y redis-server\n\n or\n\n % brew install redis@3.2\n % brew services start redis@3.2\n\nInstall latest tag/release of `redis-helper package `__\n--------------------------------------------------------------------------------------------------\n\n::\n\n % pip3 install redis-helper\n\nInstall latest commit on master of `redis-helper project `__\n-----------------------------------------------------------------------------------------------------\n\n::\n\n % pip3 install git+git://github.com/kenjyco/redis-helper\n\nIntro\n-----\n\n`Redis `__ is a fast in-memory\n**data structure server**, where each stored object is referenced by a\nkey name. Objects in Redis correspond to one of several basic types,\neach having their own set of specialized commands to perform operations.\nThe `redis Python package `__\nprovides the\n`StrictRedis `__\nclass, which contains methods that correspond to all of the Redis server\ncommands.\n\nWhen initializing Collection objects, you must specify the \u201cnamespace\u201d\nand \u201cname\u201d of the collection (which are used to create the internally\nused ``_base_key`` property). All Redis keys associated with a\nCollection will have a name pattern that starts with the ``_base_key``.\n\n.. code:: python\n\n import redis_helper as rh\n\n\n request_logs = rh.Collection(\n 'log',\n 'request',\n index_fields='status, uri, host',\n json_fields='request, response, headers'\n )\n\n urls = rh.Collection(\n 'web',\n 'url',\n unique_field='name',\n index_fields='domain, _type'\n )\n\n notes = rh.Collection(\n 'input',\n 'note',\n index_fields='topic, tag',\n insert_ts=True\n )\n\n- a ``unique_field`` can be specified on a collection if items in the\n collection should not contain duplicate values for that particular\n field\n\n - the ``unique_field`` cannot also be included in ``json_fields`` or\n ``pickle_fields``\n - if you specify a ``unique_field``, that field must exist on each\n item you add to the collection\n\n- use ``index_fields`` to specify which fields you will want to filter\n on when using the ``find`` method\n\n - the values for data fields being indexed MUST be simple strings or\n numbers\n - the values for data fields being indexed SHOULD NOT be long\n strings, as the values themselves are part of the index keys\n\n- use ``json_fields`` to specify which fields should be JSON encoded\n before insertion to Redis (using the very fast\n `ujson `__ library)\n- use ``pickle_fields`` to specify which fields should be pickled\n before insertion to Redis\n- set ``insert_ts=True`` to create an additional index to store insert\n times\n\n - only do this if you are storing items that you are likely to\n update and also likely to want to know the original insert time\n\n - each time an object is updated, the score associated with the\n ``hash_id`` (at the ``_ts_zset_key``) is updated to the current\n timestamp\n - the score associated with the ``hash_id`` (at the\n ``_in_zset_key``) is never updated\n\nEssentially, you can store a Python\n`dict `__\nin a Redis `hash `__ and\nindex some of the fields in Redis\n`sets `__. The collection\u2019s\n``_ts_zset_key`` is the Redis key name for the `sorted\nset `__ containing the\n``hash_id`` of every hash in the collection (with the ``score`` being a\n``utc_float`` corresponding to the UTC time the ``hash_id`` was added or\nmodified).\n\n- if ``insert_ts=True`` was passed in when initializing the\n ``Collection`` (or sub-class), then the collection will also define\n ``self.in_zset_key`` to be the Redis key name for the sorted set (for\n ``hash_id`` and ``utc_float`` of insert time)\n\n.. code:: python\n\n request_logs.add(\n method='get',\n status=400,\n host='blah.net',\n uri='/info',\n request={'x': 50, 'y': 100},\n response={'error': 'bad request'},\n )\n\n urls.add(\n name='redis-helper github',\n url='https://github.com/kenjyco/redis-helper',\n domain='github.com',\n _type='repo',\n )\n\nThe ``get`` method is a wrapper to `hash\ncommands `__ ``hget``, ``hmget``, or\n``hgetall``. The actual hash command that gets called is determined by\nthe number of fields requested.\n\n- a Python dict is typically returned from ``get``\n- if ``item_format`` is specified, a string will be returned matching\n that format instead\n\n.. code:: python\n\n request_logs.get('log:request:1')\n request_logs.get('log:request:1', 'host,status')\n request_logs.get('log:request:1', item_format='{status} for {host}{uri}')\n request_logs.get_by_position(0, item_format='{status} for {host}{uri}')\n urls.get_by_position(-1, 'domain,url')\n urls.get_by_unique_value('redis-helper github', item_format='{url} points to a {_type}')\n\n- the ``get_by_position`` and ``get_by_unique_value`` methods are\n wrappers to ``get``\n\n - the ``get_by_unique_value`` method is only useful if a\n ``unique_field`` was set on the Collection\n\nThe ``find`` method allows you to return data for items in the\ncollection that match some set of search criteria. Multiple search terms\n(i.e. ``index_field:value`` pairs) maybe be passed in the ``terms``\nparameter, as long as they are separated by one of ``,`` ``;`` ``|``.\nAny fields specified in the ``get_fields`` parameter are passed along to\nthe ``get`` method (when the actual fetching takes place).\n\n- when using ``terms``, all terms that include the same field will be\n treatead like an \u201cor\u201d (union of related sets), then the intersection\n of different sets will be computed\n- see the Redis `set commands `__ and\n `sorted set commands `__\n\nThere are many options for specifying time ranges in the ``find`` method\nincluding:\n\n- ``since`` and ``until`` when specifying ``num:unit`` strings\n (i.e.\u00a015:seconds, 1.5:weeks, etc)\n- ``start_ts`` and ``end_ts`` when specifying timestamps with a form\n between ``YYYY`` and ``YYYY-MM-DD HH:MM:SS.f``\n- ``start`` and ``end`` when specifying a ``utc_float``\n- for ``since``, ``until``, ``start_ts``, and ``end_ts``, multiple\n values may be passed in the string, as long as they are separated by\n one of ``,`` ``;`` ``|``.\n\n - when multiple time ranges are specified, the ``find`` method will\n determine all reasonable combinations and return a result-set per\n combination (instead of returning a list of items, returns a dict\n of list of items)\n\nIf ``count=True`` is specified, the number of results matching the\nsearch criteria are returned instead of the actual results\n\n- if there are multiple time ranges specified, counts will be returned\n for each combination\n\n.. code:: python\n\n request_logs.find('status:400, host:blah.net', get_fields='uri,error')\n request_logs.find(since='1:hr, 30:min', until='15:min, 5:min')\n request_logs.find(count=True, since='1:hr, 30:min', until='15:min, 5:min')\n urls.find(count=True, since='1:hr, 30:min, 10:min, 5:min, 1:min')\n urls.find(start_ts='2017-02-03', end_ts='2017-02-03 7:15:00')\n urls.find(start_ts='2017-02-03', item_format='{_ts} -> {_id}')\n\nThe ``update`` method allows you to change values for some fields\n(modifying the ``unique_field``, when it is specified, is not allowed).\n\n- every time a field is modified for a particular ``hash_id``, the\n previous value and score (timestamp) are stored in a Redis hash\n- the ``old_data_for_hash_id`` or ``old_data_for_unique_value`` methods\n can be used to retrieve the history of all changes for a ``hash_id``\n\n.. code:: python\n\n urls.update('web:url:1', _type='fancy', notes='this is a fancy url')\n urls.old_data_for_hash_id('web:url:1')\n urls.old_data_for_unique_value('redis-helper github')\n\nTip\n---\n\nThere may be times where you want to use redis-helper (if it\u2019s already\ninstalled), but don\u2019t want to make it an explicit requirement of your\nproject. In cases like this you can do the following:\n\n::\n\n try:\n import redis_helper as rh\n from redis import ConnectionError as RedisConnectionError\n except ImportError:\n SomeCollection = None\n else:\n try:\n SomeCollection = rh.Collection(\n ...\n )\n except RedisConnectionError:\n SomeCollection = None\n\nThen in whatever function, you can just do:\n\n::\n\n def some_func():\n if SomeCollection is None:\n return\n\n # Do stuff with SomeCollection\n\nLocal development setup\n-----------------------\n\n::\n\n % git clone https://github.com/kenjyco/redis-helper\n % cd redis-helper\n % ./dev-setup.bash\n\nThe\n`dev-setup.bash `__\nscript will create a virtual environment in the ``./venv`` directory\nwith extra dependencies (ipython, pdbpp, pytest), then copy\n``settings.ini`` to the ``~/.config/redis-helper`` directory.\n\nRunning tests in development setup\n----------------------------------\n\nThe\n`setup.cfg `__\nfile contains the options for ``py.test``, currently ``-vsx -rs --pdb``.\n\nThe ``-vsx -rs --pdb`` options will run tests in a verbose manner and\noutput the reason why tests were skipped (if any were skipped). If there\nare any failing tests, ``py.test`` will stop on the first failure and\ndrop you into a `pdb++ `__ debugger\nsession.\n\nSee the `debugging\nsection `__\nof the README for tips on using the debugger and setting breakpoints (in\nthe actual `project\ncode `__,\nor in the `test\ncode `__).\n\n::\n\n % venv/bin/py.test\n\nor\n\n::\n\n % venv/bin/python3 setup.py test\n\n..\n\n Note: This option requires ``setuptools`` to be installed.\n\nUsage\n-----\n\nThe ``rh-download-examples``, ``rh-download-scripts``, ``rh-notes``, and\n``rh-shell`` scripts are provided.\n\n::\n\n $ venv/bin/rh-download-examples --help\n Usage: rh-download-examples [OPTIONS] [DIRECTORY]\n\n Download redis-helper example files from github\n\n Options:\n --help Show this message and exit.\n\n $ venv/bin/rh-download-scripts --help\n Usage: rh-download-scripts [OPTIONS] [DIRECTORY]\n\n Download redis-helper script files from github\n\n Options:\n --help Show this message and exit.\n\n $ venv/bin/rh-notes --help\n Usage: rh-notes [OPTIONS] [TOPIC]\n\n Prompt user to enter notes (about a topic) until finished; or review notes\n\n Options:\n -c, --ch TEXT string appended to the topic (default \"> \")\n -s, --shell Start an ipython shell to inspect the notes collection\n --help Show this message and exit.\n\n $ venv/bin/rh-shell --help\n Usage: rh-shell [OPTIONS]\n\n Interactively select a Collection model and start ipython shell\n\n Options:\n --help Show this message and exit.\n\n.. code:: python\n\n >>> import redis_helper as rh\n >>> collection = rh.Collection(..., index_fields='field1, field3')\n >>> hash_id = collection.add(field1='', field2='', field3='', ...)\n >>> collection.add(...)\n >>> collection.add(...)\n >>> collection.update(hash_id, field1='', field4='', ...)\n >>> change_history = collection.old_data_for_hash_id(hash_id)\n >>> data = collection.get(hash_id)\n >>> some_data = collection.get(hash_id, 'field1, field3')\n >>> results = collection.find(...)\n >>> results2 = collection.find('field1:val, field3:val', ...)\n >>> results3 = collection.find(..., get_fields='field2, field4')\n >>> counts = collection.find(count=True, ...)\n >>> top_indexed = collection.index_field_info()\n >>> collection.delete(hash_id, ...)\n\nBasics - Part 1 (request logging demo)\n--------------------------------------\n\n`Demo `__ bookmarks:\n\n- `1:10 `__ is when the\n ``ipython`` session is started with\n ``venv/bin/ipython -i request_logs.py``\n- `3:14 `__ is when a second\n ``ipython`` session is started (in a separate tmux pane) to simulate\n a steady stream of requests with\n ``slow_trickle_requests(randomsleep=True, show=True)``\n- `4:22 `__ is when the\n ``index_field_info`` method is used to get the latest counts of top\n indexed items\n- `6:11 `__ is when\n ``slow_trickle_requests(.001)`` is run to simulate a large quick\n burst in traffic\n- `7:00 `__ is when multiple\n values are passed in the ``since`` argument of ``find``\\ \u2026\n ``request_logs.find(count=True, since='5:min, 1:min, 30:sec')``\n- `8:37 `__ is when ``get`` and\n ``get_by_position`` methods are used with a variety of arguments to\n change the structure of what\u2019s returned\n- `10:33 `__ is when the\n ``redis_helper.ADMIN_TIMEZONE`` is changed at run time from\n ``America/Chicago`` to ``Europe/London``\n- `11:27 `__ is when ``find``\n is used with a variety of arguments to change the structure of what\u2019s\n returned\n- `14:30 `__ is when ``find``\n is used with multiple search terms and multiple ``since`` values\u2026\n ``request_logs.find('host:dogs.com, uri:/breeds', count=True, since='5:min, 1:min, 10:sec')``\n- `15:54 `__ is when the\n ``update`` method is used to modify data and change history is\n retrieved with the ``old_data_for_hash_id`` method\n\nThe first demo walks through the following:\n\n- creating a virtual environment, installing redis-helper, and\n downloading example files\n\n ::\n\n $ python3 -m venv venv\n $ venv/bin/pip3 install redis-helper ipython\n $ venv/bin/rh-download-examples\n $ cat ~/.config/redis-helper/settings.ini\n $ venv/bin/ipython -i request_logs.py\n\n- using the sample ``Collection`` defined in\n `request_logs.py `__\n to\n\n - show values of some properties on a ``Collection``\n\n - ``redis_helper.Collection._base_key``\n - ``redis_helper.Collection.now_pretty``\n - ``redis_helper.Collection.now_utc_float``\n - ``redis_helper.Collection.keyspace``\n - ``redis_helper.Collection.size``\n - ``redis_helper.Collection.first``\n - ``redis_helper.Collection.last``\n\n - show values of some settings from ``redis_helper``\n\n - ``redis_helper.APP_ENV``\n - ``redis_helper.REDIS_URL``\n - ``redis_helper.REDIS``\n - ``redis_helper.SETTINGS_FILE``\n - ``redis_helper.ADMIN_TIMEZONE``\n\n - show output from some methods on a ``Collection``\n\n - ``redis_helper.Collection.index_field_info()``\n - ``redis_helper.Collection.find()``\n - ``redis_helper.Collection.find(count=True)``\n - ``redis_helper.Collection.find(count=True, since='30:sec')``\n - ``redis_helper.Collection.find(since='30:sec')``\n - ``redis_helper.Collection.find(since='30:sec', admin_fmt=True)``\n - ``redis_helper.Collection.find(count=True, since='5:min, 1:min, 30:sec')``\n - ``redis_helper.Collection.find('index_field:value')``\n - ``redis_helper.Collection.find('index_field:value', all_fields=True, limit=2)``\n - ``redis_helper.Collection.find('index_field:value', all_fields=True, limit=2, admin_fmt=True, item_format='{_ts} -> {_id}')``\n - ``redis_helper.Collection.find('index_field:value', get_fields='field1, field2', include_meta=False)``\n - ``redis_helper.Collection.find('index_field1:value1, index_field2:value2', count=True)``\n - ``redis_helper.Collection.find('index_field1:value1, index_field2:value2', count=True, since='5:min, 1:min, 10:sec')``\n - ``redis_helper.Collection.get(hash_id)``\n - ``redis_helper.Collection.get(hash_id, 'field1,field2,field3')``\n - ``redis_helper.Collection.get(hash_id, include_meta=True)``\n - ``redis_helper.Collection.get(hash_id, include_meta=True, fields='field1, field2')``\n - ``redis_helper.Collection.get(hash_id, include_meta=True, item_format='{_ts} -> {_id}')``\n - ``redis_helper.Collection.get_by_position(0)``\n - ``redis_helper.Collection.get_by_position(0, include_meta=True, admin_fmt=True)``\n - ``redis_helper.Collection.update(hash_id, field1='value1', field2='value2')``\n - ``redis_helper.Collection.old_data_for_hash_id(hash_id)``\n\nBasics - Part 2 (urls demo, with unique field)\n----------------------------------------------\n\n`Demo `__\nbookmarks:\n\n- ``TODO``\n\nThe second demo walks through the following:\n\n- using the sample ``Collection`` defined in\n `urls.py `__\n to\n\n - ``TODO``\n\nSettings, environments, testing, and debugging\n----------------------------------------------\n\nTo trigger a debugger session at a specific place in the `project\ncode `__,\ninsert the following, one line above where you want to inspect\n\n::\n\n import pdb; pdb.set_trace()\n\nTo start the debugger inside `test\ncode `__, use\n\n::\n\n pytest.set_trace()\n\n- use ``(l)ist`` to list context lines\n- use ``(n)ext`` to move on to the next statement\n- use ``(s)tep`` to step into a function\n- use ``(c)ontinue`` to continue to next break point\n (i.e.\u00a0``set_trace()`` lines in your code)\n- use ``sticky`` to toggle sticky mode (to constantly show the\n currently executing code as you move through with the debugger)\n- use ``pp`` to pretty print a variable or statement\n\nIf the redis server at ``redis_url`` (in the **test section** of\n``~/.config/redis-server/settings.ini``) is not running or is not empty,\nredis server tests will be skipped.\n\nUse the ``APP_ENV`` environment variable to specify which section of the\n``settings.ini`` file your settings will be loaded from. Any settings in\nthe ``default`` section can be overwritten if explicity set in another\nsection.\n\n- if no ``APP_ENV`` is explicitly set, ``dev`` is assumed\n- the ``APP_ENV`` setting is overwritten to be ``test`` no matter what\n was set when calling ``py.test`` tests\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/kenjyco/redis-helper/tarball/v0.3.42", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kenjyco/redis-helper", "keywords": "redis,dictionary,secondary index,model,log,prototype,helper", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "redis-helper", "package_url": "https://pypi.org/project/redis-helper/", "platform": "", "project_url": "https://pypi.org/project/redis-helper/", "project_urls": { "Download": "https://github.com/kenjyco/redis-helper/tarball/v0.3.42", "Homepage": "https://github.com/kenjyco/redis-helper" }, "release_url": "https://pypi.org/project/redis-helper/0.3.42/", "requires_dist": [ "redis (==2.10.5)", "hiredis (==0.2.0)", "ujson (==1.35)", "click (>=6.0)", "pytz", "input-helper", "settings-helper", "dt-helper", "fs-helper" ], "requires_python": "", "summary": "Easily store, index, and modify Python dicts in Redis (with flexible searching)", "version": "0.3.42" }, "last_serial": 5903007, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f3d5fdf739ac5d1956621e0e8a1b987f", "sha256": "c0611cdbdc3e542d01623b9121a30c1dc5428f00d6eae6a315dd020d3e41546c" }, "downloads": -1, "filename": "redis-helper-0.1.0.tar.gz", "has_sig": false, "md5_digest": "f3d5fdf739ac5d1956621e0e8a1b987f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2640, "upload_time": "2015-12-13T21:17:39", "url": "https://files.pythonhosted.org/packages/98/d9/759ba6235d7bee8ffc9e52684b7c931b3ba8b18d8b5c927e6f3e5f40dabd/redis-helper-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "dd18cae08e6cd5d181e511a7636f8dc0", "sha256": "3e44e21be5f09d4b8da75b12b80ff0a46c399c48dee3df49459549851284c503" }, "downloads": -1, "filename": "redis-helper-0.1.1.tar.gz", "has_sig": false, "md5_digest": "dd18cae08e6cd5d181e511a7636f8dc0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2692, "upload_time": "2016-05-26T06:05:11", "url": "https://files.pythonhosted.org/packages/c9/d9/297d30c3f26825a5dcfef7597e4578feca5ae5a521352b547e48b003e5cd/redis-helper-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "7edd27f077bbef306f7a69e2ba7a9163", "sha256": "8311c2ec00f86d023b4749d58bdd28d0965792900caccde18b28e924f6c5ea91" }, "downloads": -1, "filename": "redis-helper-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7edd27f077bbef306f7a69e2ba7a9163", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2918, "upload_time": "2016-06-01T03:43:35", "url": "https://files.pythonhosted.org/packages/3f/35/45228d794c1343b4a1ae0032abe92c47adadf4f6ec6870c819a12a9cc333/redis-helper-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5cd239b12dbd40977610a6e435b532d0", "sha256": "e5440b3234f3e0dca96f1dc3a35aa6b359ebcf3864d4a5c4ed26b31bab3f90fd" }, "downloads": -1, "filename": "redis-helper-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5cd239b12dbd40977610a6e435b532d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2947, "upload_time": "2016-06-24T13:17:23", "url": "https://files.pythonhosted.org/packages/03/32/12c2f825e21b069d2a10d199e46b9c20ef1db4b1e3768286983a6cb5287e/redis-helper-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "63741491135478b80860154a0d33554f", "sha256": "b1ddf49ee5b521a2e73c80e088908e2775b41da56a7100aed3e1b0938b54ee3c" }, "downloads": -1, "filename": "redis-helper-0.2.0.tar.gz", "has_sig": false, "md5_digest": "63741491135478b80860154a0d33554f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12005, "upload_time": "2017-01-23T03:49:45", "url": "https://files.pythonhosted.org/packages/cf/51/f2775443023ac4e04c183009d34686ede2bbcddde8e8743589cc1edba1b5/redis-helper-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "42ec026dafe8a9397527486e5b4065e5", "sha256": "bfeeadbaad592f79815b970d9fe038ca609ce0c515ced23af959d0fea8251ddf" }, "downloads": -1, "filename": "redis-helper-0.2.1.tar.gz", "has_sig": false, "md5_digest": "42ec026dafe8a9397527486e5b4065e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11959, "upload_time": "2017-01-25T08:28:32", "url": "https://files.pythonhosted.org/packages/da/4e/089a9197576eced3b589a298c5251b8d36e60fb468967344b9848a9934c2/redis-helper-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "3aae1d10e8d828231a8a61ecf2a6cf55", "sha256": "ccbd60864ad9015822e20a4cc7c74498a06f894882c22e3d925801ed2836b4b0" }, "downloads": -1, "filename": "redis-helper-0.2.2.tar.gz", "has_sig": false, "md5_digest": "3aae1d10e8d828231a8a61ecf2a6cf55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12157, "upload_time": "2017-01-25T09:07:56", "url": "https://files.pythonhosted.org/packages/74/19/904400b9b050ffb6d98f76ec34dcb524c2e6eaa8da156cc766f92458a994/redis-helper-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "610ede57fc1ab2eda9ef6b77589e757f", "sha256": "b0daac99ce2c495e15b196b61b7331bfc43b7e3b57204a528256c8600f87d681" }, "downloads": -1, "filename": "redis-helper-0.2.3.tar.gz", "has_sig": false, "md5_digest": "610ede57fc1ab2eda9ef6b77589e757f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13133, "upload_time": "2017-01-28T17:35:50", "url": "https://files.pythonhosted.org/packages/fe/f8/382ea955c497c0e37857e97d1fa8e510e640924dcc2cb9dd814c83f1bfca/redis-helper-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "3ad44f126ceff3df56b7a0a789c78fea", "sha256": "c96699a06d25ecc1346bf771f62b0259adbc2a7fc8e2bbb87dcf0a6167f31cc9" }, "downloads": -1, "filename": "redis-helper-0.2.4.tar.gz", "has_sig": false, "md5_digest": "3ad44f126ceff3df56b7a0a789c78fea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13144, "upload_time": "2017-01-28T21:07:35", "url": "https://files.pythonhosted.org/packages/e5/d7/9057d2a468542d355b2fea6f542cf091bad6796fdd4c7a2b51debb3d7bf1/redis-helper-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "944d0975efe4e6c78e74a0aa99754d2c", "sha256": "82fd21a5436e298653f7d25472d848f0a25a5573b5207bd2717ab5d1fc06b604" }, "downloads": -1, "filename": "redis_helper-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "944d0975efe4e6c78e74a0aa99754d2c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13998, "upload_time": "2017-01-28T21:59:57", "url": "https://files.pythonhosted.org/packages/5f/ae/2299156db4575f7bd988945fe8dba43350e37179e0daf4bf29f2c6455cf0/redis_helper-0.2.5-py3-none-any.whl" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "99fd27848320cd87b69cb78c5374ece7", "sha256": "a82e718507647d9148e066890ecbaf487491ad3488678470b1f9ef11ce5f7c53" }, "downloads": -1, "filename": "redis_helper-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "99fd27848320cd87b69cb78c5374ece7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16854, "upload_time": "2017-01-28T22:44:40", "url": "https://files.pythonhosted.org/packages/7e/b1/391f88761375412bd59e2756ac8e9fd69484c3bf7afbd1bba912d16eb0b9/redis_helper-0.2.6-py3-none-any.whl" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "8e6702ac15d060913411ec71a1424bc1", "sha256": "14117f5a9a1112edbf41c087b5fd97e808ebab4fdbc0726efbd8252d8156d2dc" }, "downloads": -1, "filename": "redis_helper-0.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "8e6702ac15d060913411ec71a1424bc1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15650, "upload_time": "2017-01-29T03:54:42", "url": "https://files.pythonhosted.org/packages/b2/81/a9b25e5da40977704b686969b47dd9629bdb1e8074705c40307943e5f792/redis_helper-0.2.7-py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "e6e26fd37320a2d499806cda11c0f535", "sha256": "076ad576b56e12e7c811a42e91e868d18b5a058f7c43416bf7ce694c9695d67d" }, "downloads": -1, "filename": "redis_helper-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e6e26fd37320a2d499806cda11c0f535", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17322, "upload_time": "2017-01-30T16:56:24", "url": "https://files.pythonhosted.org/packages/24/f6/09eec365760d81b450b97a19e71a79546702c8e2854cf3036babf05e333e/redis_helper-0.3.0-py3-none-any.whl" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "7f6e8a50f5d060bd755c97e8c78c2414", "sha256": "e7fc1903d9741c6f96351101c96d3f2ebbb3349c3815e7b6fadb11da38e41fc7" }, "downloads": -1, "filename": "redis_helper-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7f6e8a50f5d060bd755c97e8c78c2414", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18569, "upload_time": "2017-01-31T14:31:03", "url": "https://files.pythonhosted.org/packages/50/37/749cbd454523ba8e362806afd02f818be31c84009f45c4ead4d7cf74c80c/redis_helper-0.3.1-py3-none-any.whl" } ], "0.3.10": [ { "comment_text": "", "digests": { "md5": "b05dbe12f6e6324c31391e1f5bfc1fd1", "sha256": "75be5036bdca480b54355af8dfdd26920a012546d3a2f84cd8077c061d00d550" }, "downloads": -1, "filename": "redis_helper-0.3.10-py3-none-any.whl", "has_sig": false, "md5_digest": "b05dbe12f6e6324c31391e1f5bfc1fd1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28787, "upload_time": "2017-02-15T07:03:25", "url": "https://files.pythonhosted.org/packages/0e/7b/7adc3df6af825b72ec80e19350775ac8c8a2e07b19c99e80e21d6ef30e27/redis_helper-0.3.10-py3-none-any.whl" } ], "0.3.11": [ { "comment_text": "", "digests": { "md5": "1da937411b58007984bbdde97292767d", "sha256": "8d9fe5bda23568969e567e3f772a420100db1b362afbb4d4bf343e1ee13ecad6" }, "downloads": -1, "filename": "redis_helper-0.3.11-py3-none-any.whl", "has_sig": false, "md5_digest": "1da937411b58007984bbdde97292767d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29201, "upload_time": "2017-02-15T16:06:25", "url": "https://files.pythonhosted.org/packages/0e/cc/115b889c91b0b1852262882e27b762995c283fbcc40f46cbac9a9d80d030/redis_helper-0.3.11-py3-none-any.whl" } ], "0.3.12": [ { "comment_text": "", "digests": { "md5": "b54018680f159ccce00dea8fbfd8d516", "sha256": "75252afce91ac35058b1dcbb782e1238016c59791ee58b31a119f3301664cbe3" }, "downloads": -1, "filename": "redis_helper-0.3.12-py3-none-any.whl", "has_sig": false, "md5_digest": "b54018680f159ccce00dea8fbfd8d516", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29386, "upload_time": "2017-02-20T03:53:06", "url": "https://files.pythonhosted.org/packages/13/62/1ec4fa600d0afce1ef1fc020cb7b312d17975f4454afb626fab3dd98029d/redis_helper-0.3.12-py3-none-any.whl" } ], "0.3.13": [ { "comment_text": "", "digests": { "md5": "626908e70b2d931cb9c676d2bfea56fa", "sha256": "f5faeb524e41591f680b43280fd0c32aeed2d6f7e8bcd5613662fb386f1324a0" }, "downloads": -1, "filename": "redis_helper-0.3.13-py3-none-any.whl", "has_sig": false, "md5_digest": "626908e70b2d931cb9c676d2bfea56fa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29672, "upload_time": "2017-02-21T15:15:13", "url": "https://files.pythonhosted.org/packages/6c/f7/4634e0cc09422347948215a3067a457e63c3d2a6bc15a95df1b5b6f3617d/redis_helper-0.3.13-py3-none-any.whl" } ], "0.3.14": [ { "comment_text": "", "digests": { "md5": "5984966d5faea9c0c19e637aea8cef6d", "sha256": "dd9450da60722ffad1591885604a932a05870407aba94375e06721459ced15a5" }, "downloads": -1, "filename": "redis_helper-0.3.14-py3-none-any.whl", "has_sig": false, "md5_digest": "5984966d5faea9c0c19e637aea8cef6d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29737, "upload_time": "2017-02-22T15:49:55", "url": "https://files.pythonhosted.org/packages/28/6f/42ae26263dd5ce103349a01fab5e78c849720a7a319fa562a11036201b08/redis_helper-0.3.14-py3-none-any.whl" } ], "0.3.15": [ { "comment_text": "", "digests": { "md5": "17fe4639aec7bae3c3ba2e8774e2ff93", "sha256": "65301e24968a48f1cecc22d79efd73b1f9b573b63cb3484e040d106f55565748" }, "downloads": -1, "filename": "redis_helper-0.3.15-py3-none-any.whl", "has_sig": false, "md5_digest": "17fe4639aec7bae3c3ba2e8774e2ff93", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30293, "upload_time": "2017-03-01T16:13:28", "url": "https://files.pythonhosted.org/packages/18/3f/b4749de5dfaa068dbb96f1db77bcb59ca4cf1ea1893fd82f5a6ded8f56e5/redis_helper-0.3.15-py3-none-any.whl" } ], "0.3.16": [ { "comment_text": "", "digests": { "md5": "0ea4fe621a9d365b5ee28f837c7479d9", "sha256": "c9924ea187c3ef09d2c482249b786a29c860cc4df71065a1b1aff596c7ec3633" }, "downloads": -1, "filename": "redis_helper-0.3.16-py3-none-any.whl", "has_sig": false, "md5_digest": "0ea4fe621a9d365b5ee28f837c7479d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30546, "upload_time": "2017-03-13T15:14:46", "url": "https://files.pythonhosted.org/packages/e7/82/fad5ab96ead7e691987ed429ab71f0c955eb24926a33bc2dcc910482fa79/redis_helper-0.3.16-py3-none-any.whl" } ], "0.3.17": [ { "comment_text": "", "digests": { "md5": "1c66a4ad6121967a06b5b46ae53e12af", "sha256": "fee28997d7deb076b74b1eeab229f3581808c5e1ba7213ea6fc1c8ca77b559c5" }, "downloads": -1, "filename": "redis_helper-0.3.17-py3-none-any.whl", "has_sig": false, "md5_digest": "1c66a4ad6121967a06b5b46ae53e12af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30725, "upload_time": "2017-03-20T11:18:42", "url": "https://files.pythonhosted.org/packages/ee/ed/2ff8d8d33a7ea3513fe0acde7880dbedba9f340830fdc5d0fcf6528417d4/redis_helper-0.3.17-py3-none-any.whl" } ], "0.3.18": [ { "comment_text": "", "digests": { "md5": "ae794b6310b895b1d18960d8c6b2f9d3", "sha256": "1600074b6db0a9b8cbc3df914de1896f88451daa8b023c6604ea601cd102b859" }, "downloads": -1, "filename": "redis_helper-0.3.18-py3-none-any.whl", "has_sig": false, "md5_digest": "ae794b6310b895b1d18960d8c6b2f9d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30669, "upload_time": "2017-03-30T14:19:57", "url": "https://files.pythonhosted.org/packages/9c/5f/756c8be52e7fbc48d567d77df0fc32c85ddfac97b3a4e50ad600dc4ee04c/redis_helper-0.3.18-py3-none-any.whl" } ], "0.3.19": [ { "comment_text": "", "digests": { "md5": "64b636c32fe5cd2cbe68cbc17c527df6", "sha256": "ece5c93ecfd25d5d2b7e845f87e9e7bfa888465bb6550241386bf15887db90f1" }, "downloads": -1, "filename": "redis_helper-0.3.19-py3-none-any.whl", "has_sig": false, "md5_digest": "64b636c32fe5cd2cbe68cbc17c527df6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30690, "upload_time": "2017-05-23T14:10:53", "url": "https://files.pythonhosted.org/packages/21/3c/bfdd2bdce0a9cd6f898eb1a7a018b6ce9dcb66c59209bfc90da05ae67a9e/redis_helper-0.3.19-py3-none-any.whl" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "a273c6bcff7089fb85717359400aa98e", "sha256": "0a790b528622dff6800fadbd422bd2c707c4e7b4a2f691a32132fc2a4f76dbee" }, "downloads": -1, "filename": "redis_helper-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a273c6bcff7089fb85717359400aa98e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19966, "upload_time": "2017-02-01T15:21:19", "url": "https://files.pythonhosted.org/packages/ef/86/1cf5b906e0c4194dfccc5adc992cfca5ed6b02d654403d57b99383645c7d/redis_helper-0.3.2-py3-none-any.whl" } ], "0.3.20": [ { "comment_text": "", "digests": { "md5": "99901301eabc3561d75b5823f45b6fc1", "sha256": "f4bfaa974f36f42ccafe086b3d9212a7fed45de68e5739a554a8152f9c75a0cb" }, "downloads": -1, "filename": "redis_helper-0.3.20-py3-none-any.whl", "has_sig": false, "md5_digest": "99901301eabc3561d75b5823f45b6fc1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30701, "upload_time": "2017-10-17T13:08:27", "url": "https://files.pythonhosted.org/packages/53/2c/1bc0f62cf7fb9dd5fe301ca50ab8c36a5d30bd77b9d451d3df800011e286/redis_helper-0.3.20-py3-none-any.whl" } ], "0.3.21": [ { "comment_text": "", "digests": { "md5": "d370998d24a91403bc7a40385571f442", "sha256": "fc9e73540ca07e1d096c1d05dbbc0adf79084e5464950046e6d7dbfc4d0a9ec1" }, "downloads": -1, "filename": "redis_helper-0.3.21-py3-none-any.whl", "has_sig": false, "md5_digest": "d370998d24a91403bc7a40385571f442", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30718, "upload_time": "2017-10-21T18:46:30", "url": "https://files.pythonhosted.org/packages/f0/c2/9e9a33046f3e6da075e8b462a2b7588c4b40aef4544dfa03f30c6edb52b6/redis_helper-0.3.21-py3-none-any.whl" } ], "0.3.22": [ { "comment_text": "", "digests": { "md5": "be7dbcdcbc364ce2fbeb68c78cd04a4d", "sha256": "d5e0eeb283f28f85f3835268e80984f514c7ec9721ac322f06512b4a6bf36a2a" }, "downloads": -1, "filename": "redis_helper-0.3.22-py3-none-any.whl", "has_sig": false, "md5_digest": "be7dbcdcbc364ce2fbeb68c78cd04a4d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31469, "upload_time": "2017-10-30T05:26:44", "url": "https://files.pythonhosted.org/packages/70/e1/0de40dc310bca024562b175a3dda6f60a5ef6f63ef924488fb75da574cd2/redis_helper-0.3.22-py3-none-any.whl" } ], "0.3.23": [ { "comment_text": "", "digests": { "md5": "9c6bb2b2b7d75074d71cd90f7fc6d806", "sha256": "2e3de435a35e5e1f3cf4809d377db5d87d79a4f558dc1cde289cdc8b95ab5d40" }, "downloads": -1, "filename": "redis_helper-0.3.23-py3-none-any.whl", "has_sig": false, "md5_digest": "9c6bb2b2b7d75074d71cd90f7fc6d806", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32256, "upload_time": "2017-10-31T13:13:18", "url": "https://files.pythonhosted.org/packages/85/b1/f5d6bf3713d5af7628fdea25d65879f08cb899cf1a0bf8dfc532c9109dda/redis_helper-0.3.23-py3-none-any.whl" } ], "0.3.24": [ { "comment_text": "", "digests": { "md5": "5f81227f600d74b43f2a3e92981638f9", "sha256": "ddd5c5f4fa4a87ced503873246963347bb0eea8e3b1f350276e3089ccee7998b" }, "downloads": -1, "filename": "redis_helper-0.3.24-py3-none-any.whl", "has_sig": false, "md5_digest": "5f81227f600d74b43f2a3e92981638f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32284, "upload_time": "2017-11-12T23:28:11", "url": "https://files.pythonhosted.org/packages/a3/b1/e64843e95f163285792a3828a3c133da0c7a45bcfaf306eed499d473e575/redis_helper-0.3.24-py3-none-any.whl" } ], "0.3.25": [ { "comment_text": "", "digests": { "md5": "be5e850ce8aae71da2c84465aa4d392b", "sha256": "63575c39d2e04ac5a502ba60a9aef4547139730596baa603f110bc591f9c983e" }, "downloads": -1, "filename": "redis_helper-0.3.25-py3-none-any.whl", "has_sig": false, "md5_digest": "be5e850ce8aae71da2c84465aa4d392b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32910, "upload_time": "2017-11-21T13:37:30", "url": "https://files.pythonhosted.org/packages/76/95/5d790e1b9afc08588da711bae7ba9b0d222a71b130495ccf33b6f8ba3dd5/redis_helper-0.3.25-py3-none-any.whl" } ], "0.3.26": [ { "comment_text": "", "digests": { "md5": "740b73a41ed7374d6346bcb02143993d", "sha256": "bd886c797bb40568cf52e80b1d6d141b338324c30d1a58a7b173c230e7a81f68" }, "downloads": -1, "filename": "redis_helper-0.3.26-py3-none-any.whl", "has_sig": false, "md5_digest": "740b73a41ed7374d6346bcb02143993d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33268, "upload_time": "2017-11-25T23:43:31", "url": "https://files.pythonhosted.org/packages/5b/39/cb00196fce7c58e1f4c2d73202d46d4178092e0e55e02bfbe92359303b25/redis_helper-0.3.26-py3-none-any.whl" } ], "0.3.27": [ { "comment_text": "", "digests": { "md5": "24fee45239fd4d7b48b178714fa48a7f", "sha256": "794398ba5d5b250b67f0db3ee49ca44f1ddaa2f3346ac968859be67ae6c7fcc3" }, "downloads": -1, "filename": "redis_helper-0.3.27-py3-none-any.whl", "has_sig": false, "md5_digest": "24fee45239fd4d7b48b178714fa48a7f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30957, "upload_time": "2017-12-07T16:30:56", "url": "https://files.pythonhosted.org/packages/97/24/457146be0631b77e9afe086328a7746c85eae85a46ae68aece923d6239aa/redis_helper-0.3.27-py3-none-any.whl" } ], "0.3.28": [ { "comment_text": "", "digests": { "md5": "8b445aabbffc55ec7bfbd0067d1f8601", "sha256": "3a5a45b7859b08b0701e8d6f98bc4681669bc920bdba9e961eadabcd69aac522" }, "downloads": -1, "filename": "redis_helper-0.3.28-py3-none-any.whl", "has_sig": false, "md5_digest": "8b445aabbffc55ec7bfbd0067d1f8601", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24020, "upload_time": "2018-10-25T03:10:56", "url": "https://files.pythonhosted.org/packages/60/3d/41d11505f1df63d523af7ddbce1800a690f9515f104f82da7666b502cb46/redis_helper-0.3.28-py3-none-any.whl" } ], "0.3.29": [ { "comment_text": "", "digests": { "md5": "5bc96db7d65219e44a3f14d46e4b9726", "sha256": "3fda6ce60da96a485005f6f23a050afb30b24621bb09aa6fb3e61f699a84c85e" }, "downloads": -1, "filename": "redis_helper-0.3.29-py3-none-any.whl", "has_sig": false, "md5_digest": "5bc96db7d65219e44a3f14d46e4b9726", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24073, "upload_time": "2018-10-25T03:31:46", "url": "https://files.pythonhosted.org/packages/fd/4d/6fa72516b66f540e7bfd29c41a9eb5aa4e039b6555e39cd40f8d152f7d70/redis_helper-0.3.29-py3-none-any.whl" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "16a37f29d0eb1c524381c9d030cb73b4", "sha256": "a7837b6f77e67bbf8c06c4f5d52ce7aea831b9775e567b8567a1041efa533b0f" }, "downloads": -1, "filename": "redis_helper-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "16a37f29d0eb1c524381c9d030cb73b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20228, "upload_time": "2017-02-02T16:10:16", "url": "https://files.pythonhosted.org/packages/95/6f/5701f0be75bcf4e3ee4703797fe3302c0c8fd7e2a8ce9f73118b1188ec10/redis_helper-0.3.3-py3-none-any.whl" } ], "0.3.30": [ { "comment_text": "", "digests": { "md5": "606dfa8fae6c410ccf785b94c82d43f7", "sha256": "1ad7303e8def3e5a8955e9a823eb285c9174968681dad61228d170a4d00f27eb" }, "downloads": -1, "filename": "redis_helper-0.3.30-py3-none-any.whl", "has_sig": false, "md5_digest": "606dfa8fae6c410ccf785b94c82d43f7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24748, "upload_time": "2018-11-17T00:52:38", "url": "https://files.pythonhosted.org/packages/8b/28/6ded93ffafd82c32e0c2e1745e0050064cfc3dee8f87b9376b920bd03aaf/redis_helper-0.3.30-py3-none-any.whl" } ], "0.3.31": [ { "comment_text": "", "digests": { "md5": "c209a20715e30ecdf282a8fcf7d47391", "sha256": "7e1b88ebaeb0fb1d55274a5dc5be12e72a581c8192a94f5e634e5fd098695d1f" }, "downloads": -1, "filename": "redis_helper-0.3.31-py3-none-any.whl", "has_sig": false, "md5_digest": "c209a20715e30ecdf282a8fcf7d47391", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24844, "upload_time": "2018-11-19T06:55:02", "url": "https://files.pythonhosted.org/packages/2c/f0/8f6b358aaf78013953ab260983085ba07983bac37aa217f0da45f40d286d/redis_helper-0.3.31-py3-none-any.whl" } ], "0.3.32": [ { "comment_text": "", "digests": { "md5": "693c4431193e7b67ae5a32dc655ecdde", "sha256": "47250cf7ead917f5081dcc9d3ae0ea1433e52e03b3cd138d8407602f139bc1bb" }, "downloads": -1, "filename": "redis_helper-0.3.32-py3-none-any.whl", "has_sig": false, "md5_digest": "693c4431193e7b67ae5a32dc655ecdde", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24932, "upload_time": "2018-11-20T04:51:27", "url": "https://files.pythonhosted.org/packages/7f/b1/6c5ae9439b32f9d1051d65f15195bbbadef6771caac42b01dcf814408f5b/redis_helper-0.3.32-py3-none-any.whl" } ], "0.3.33": [ { "comment_text": "", "digests": { "md5": "6ce97a8be83b943158f9d7011b4ea60f", "sha256": "4a68ec7d681b4d51b8ec17c050c586a599e2170ab7420268b490327358a70644" }, "downloads": -1, "filename": "redis_helper-0.3.33-py3-none-any.whl", "has_sig": false, "md5_digest": "6ce97a8be83b943158f9d7011b4ea60f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25922, "upload_time": "2018-11-28T15:04:24", "url": "https://files.pythonhosted.org/packages/71/9e/99802d78f5e5519c1f93a9f219becb0aea7e49a839f6a849f0ead57c36d1/redis_helper-0.3.33-py3-none-any.whl" } ], "0.3.34": [ { "comment_text": "", "digests": { "md5": "33a247cf8bff027a67965c9323c917a8", "sha256": "a8f76e4cfcc4dbceb211cc78f968f9b614a7de8453f765c78ad1102444cf93b0" }, "downloads": -1, "filename": "redis_helper-0.3.34-py3-none-any.whl", "has_sig": false, "md5_digest": "33a247cf8bff027a67965c9323c917a8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25876, "upload_time": "2018-11-29T10:08:58", "url": "https://files.pythonhosted.org/packages/a4/27/11d92e1702735b72dcf1867a7d5302580b916be8b9c389fb67d91fb521e7/redis_helper-0.3.34-py3-none-any.whl" } ], "0.3.35": [ { "comment_text": "", "digests": { "md5": "a5a4fdc5c9c61665a8285bd8944cf378", "sha256": "696a195b10081fe7beab0dcf1b278c8c30ed8608687db54267bf77380b29bb82" }, "downloads": -1, "filename": "redis_helper-0.3.35-py3-none-any.whl", "has_sig": false, "md5_digest": "a5a4fdc5c9c61665a8285bd8944cf378", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25933, "upload_time": "2018-12-04T15:05:53", "url": "https://files.pythonhosted.org/packages/fe/0d/7df22d0dd004ca2d63c632204abc72c39ff0969588007bf74a04c43b49e8/redis_helper-0.3.35-py3-none-any.whl" } ], "0.3.36": [ { "comment_text": "", "digests": { "md5": "2a7e863c06918cb2e777b18d0fe7c14e", "sha256": "49e651764132b272974427ce5786f607933636e3e522a040d367b880e3bb400c" }, "downloads": -1, "filename": "redis_helper-0.3.36-py3-none-any.whl", "has_sig": false, "md5_digest": "2a7e863c06918cb2e777b18d0fe7c14e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26182, "upload_time": "2018-12-05T15:43:11", "url": "https://files.pythonhosted.org/packages/bf/3c/ed4ad0f23e9ad990c1a4bfc8671567dfaabe0086cc6fe4df8ae4a2875224/redis_helper-0.3.36-py3-none-any.whl" } ], "0.3.37": [ { "comment_text": "", "digests": { "md5": "c476bee81cd65cf0f1787cc8e78a26a2", "sha256": "041fcd995910eab0789af536f8ab224c524c76a26baab7daff3e7d59cd28ac27" }, "downloads": -1, "filename": "redis_helper-0.3.37-py3-none-any.whl", "has_sig": false, "md5_digest": "c476bee81cd65cf0f1787cc8e78a26a2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26195, "upload_time": "2018-12-13T14:51:58", "url": "https://files.pythonhosted.org/packages/19/8f/bd50b8682c999c508e070fd58e63239d8a94c1654a2bed83031789ed8423/redis_helper-0.3.37-py3-none-any.whl" } ], "0.3.38": [ { "comment_text": "", "digests": { "md5": "136586bb205b0a3951925e5d95cb8308", "sha256": "85065fa2c029e019f2fa947e59179e9357dec6926981b78ca5a802c1a0397498" }, "downloads": -1, "filename": "redis_helper-0.3.38-py3-none-any.whl", "has_sig": false, "md5_digest": "136586bb205b0a3951925e5d95cb8308", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25998, "upload_time": "2018-12-13T20:57:28", "url": "https://files.pythonhosted.org/packages/a7/df/6ed433d2c11bde087aad86b6afb63089f0980c3d1609e90f33066e8b47d6/redis_helper-0.3.38-py3-none-any.whl" } ], "0.3.39": [ { "comment_text": "", "digests": { "md5": "be671404850a6596fe3786bebb6db1f7", "sha256": "d53360a76b1e0b2d88ed856552ebe81acc5489c186e68d16945ad8facf6e1120" }, "downloads": -1, "filename": "redis_helper-0.3.39-py3-none-any.whl", "has_sig": false, "md5_digest": "be671404850a6596fe3786bebb6db1f7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26013, "upload_time": "2019-04-10T05:37:55", "url": "https://files.pythonhosted.org/packages/45/0a/5eee1eaec0ec36380ff44e09b6863e74f26143f24538fb5a0a5a8d77ab5f/redis_helper-0.3.39-py3-none-any.whl" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "78b88d269e598b118a006b9a3679baf2", "sha256": "735cc2047da9880cbb46f5684023ccf6f7debfc01847412dec2e9aadfbcec3fe" }, "downloads": -1, "filename": "redis_helper-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "78b88d269e598b118a006b9a3679baf2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24791, "upload_time": "2017-02-03T16:12:07", "url": "https://files.pythonhosted.org/packages/31/ea/af3afe9bbc901e6a63af44040e8954f5511dc70286ebc887d675185a5783/redis_helper-0.3.4-py3-none-any.whl" } ], "0.3.40": [ { "comment_text": "", "digests": { "md5": "edc79a760167f67181a2aa20bcaefcca", "sha256": "58f2fd46019d4e4bfc71dc3b0b8fe5de6c60f944f44d521700c56d2edc6d8bd1" }, "downloads": -1, "filename": "redis_helper-0.3.40-py3-none-any.whl", "has_sig": false, "md5_digest": "edc79a760167f67181a2aa20bcaefcca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26437, "upload_time": "2019-04-15T02:51:39", "url": "https://files.pythonhosted.org/packages/20/5b/50ee0c497e6d7bbd42427734644b70993a4e8865c05e4a4f80143357e3ae/redis_helper-0.3.40-py3-none-any.whl" } ], "0.3.41": [ { "comment_text": "", "digests": { "md5": "25d4f105b6e765e860a3893ae146a8c1", "sha256": "c06bf289614eae5479442c9c1268991dd6f59959ca431829dc418f86fafb4290" }, "downloads": -1, "filename": "redis_helper-0.3.41-py3-none-any.whl", "has_sig": false, "md5_digest": "25d4f105b6e765e860a3893ae146a8c1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26825, "upload_time": "2019-04-25T03:10:03", "url": "https://files.pythonhosted.org/packages/bb/d0/b46a144e75117c243dc410885acf06a1c82cac4511d36f7e3cecfc0875dd/redis_helper-0.3.41-py3-none-any.whl" } ], "0.3.42": [ { "comment_text": "", "digests": { "md5": "3cc86184fe2633f0ca592a13217de8ae", "sha256": "bc429f47fa520b6024549568a5dff55207ce6da802c92b58b2a9419861eab5e6" }, "downloads": -1, "filename": "redis_helper-0.3.42-py3-none-any.whl", "has_sig": false, "md5_digest": "3cc86184fe2633f0ca592a13217de8ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27093, "upload_time": "2019-09-29T16:27:04", "url": "https://files.pythonhosted.org/packages/46/44/02ad269606cc59ecf58cb9977337b13d322d948ed2289c0fd63d1cede49c/redis_helper-0.3.42-py3-none-any.whl" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "0855844cd7f260fa687fb9ff49b9cfcf", "sha256": "efac2d54fba49cee1c33952efc95260d8d1eee1503dd0aaf3e56b0ba1a311ff0" }, "downloads": -1, "filename": "redis_helper-0.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0855844cd7f260fa687fb9ff49b9cfcf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26143, "upload_time": "2017-02-04T09:10:29", "url": "https://files.pythonhosted.org/packages/2f/83/b1c44e0998aae14eba82e18263bd9ac12e9b4378187a9923d5eac1bc2479/redis_helper-0.3.5-py3-none-any.whl" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "878242bb6f42e69937697a61127d055b", "sha256": "8cc40aa588e7bf8210c05010e4ce02c020d5845219c3be0d4054bb509a018da0" }, "downloads": -1, "filename": "redis_helper-0.3.7-py3-none-any.whl", "has_sig": false, "md5_digest": "878242bb6f42e69937697a61127d055b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27031, "upload_time": "2017-02-06T16:14:59", "url": "https://files.pythonhosted.org/packages/fe/68/08d06bbdebbf4697cccb6e23753c532214897c996c7e7cf8eda79a90d210/redis_helper-0.3.7-py3-none-any.whl" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "1e20fd7897514a41a83591de01390a4d", "sha256": "8ec098d6051aa3840b4cf496d1bef4f64cfd017e10d521df1ade330c0bdcedc1" }, "downloads": -1, "filename": "redis_helper-0.3.8-py3-none-any.whl", "has_sig": false, "md5_digest": "1e20fd7897514a41a83591de01390a4d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28149, "upload_time": "2017-02-07T15:31:53", "url": "https://files.pythonhosted.org/packages/3e/3a/dc4499afd94973af179bf914acd4c9d5eb79532741039bfc9d1baac1dc3a/redis_helper-0.3.8-py3-none-any.whl" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "9d1d9cdf42aae93c111d1c9a64d1b236", "sha256": "ed23d624ea5da7c311e6f430bffb842211c0e55f193ef01c53ab29361adeb26e" }, "downloads": -1, "filename": "redis_helper-0.3.9-py3-none-any.whl", "has_sig": false, "md5_digest": "9d1d9cdf42aae93c111d1c9a64d1b236", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28414, "upload_time": "2017-02-08T16:05:57", "url": "https://files.pythonhosted.org/packages/34/40/d6a37c5d5164ca1780ee113882feb2057b3ce9b901a3461876b7e4d458fc/redis_helper-0.3.9-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3cc86184fe2633f0ca592a13217de8ae", "sha256": "bc429f47fa520b6024549568a5dff55207ce6da802c92b58b2a9419861eab5e6" }, "downloads": -1, "filename": "redis_helper-0.3.42-py3-none-any.whl", "has_sig": false, "md5_digest": "3cc86184fe2633f0ca592a13217de8ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27093, "upload_time": "2019-09-29T16:27:04", "url": "https://files.pythonhosted.org/packages/46/44/02ad269606cc59ecf58cb9977337b13d322d948ed2289c0fd63d1cede49c/redis_helper-0.3.42-py3-none-any.whl" } ] }