{ "info": { "author": "Andrew Michaud", "author_email": "dev@mail.andrewmichaud.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: POSIX :: BSD", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Libraries" ], "description": "drewtilities\n=============\n\n| |BSD3 License|\n\n| |Build Status|\n\n| |Coverage Status|\n\n| |Issue Count|\n\n.. image:: https://badge.fury.io/py/drewtilities.svg\n :target: https://badge.fury.io/py/drewtilities\n\n.. image:: https://badge.waffle.io/alixnovosi/drewtilities.png?label=ready&title=Ready\n :target: https://waffle.io/alixnovosi/drewtilities\n :alt: 'Stories in Ready'\n\n.. |BSD3 License| image:: http://img.shields.io/badge/license-BSD3-brightgreen.svg\n :target: https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29\n.. |Build Status| image:: https://travis-ci.org/alixnovosi/drewtilities.svg?branch=master\n :target: https://travis-ci.org/alixnovosi/drewtilities\n.. |Coverage Status| image:: https://coveralls.io/repos/alixnovosi/drewtilities/badge.svg?branch=master&service=github\n :target: https://coveralls.io/github/alixnovosi/drewtilities?branch=master\n.. |Issue Count| image:: https://codeclimate.com/github/alixnovosi/drewtilities/badges/issue_count.svg\n :target: https://codeclimate.com/github/alixnovosi/drewtilities\n\n=====\nshort\n=====\nUtility functions, created by Drew, for Drew.\nUsed in `botskeleton`_ (and all the bots that use it) and `puckfetcher`_.\n\n.. _botskeleton: https://github.com/alixnovosi/botskeleton\n.. _puckfetcher: https://github.com/alixnovosi/puckfetcher\n\n====\nlong\n====\nThese are in the order defined in :code:`drewtilities.py`,\nwhich in turn is basically defined by order of creation.\nNot really organized nicely,\nsorry.\n\n=======\nMethods\n=======\n\n-----------------------------\n:code:`ensure_dir(directory)`\n-----------------------------\nCreate directory if it doesn't exist.\n\n-------------------------\n:code:`expand(directory)`\n-------------------------\nExpand :code:`~` to :code:`$HOME`,\nand expand other environment variables to their values,\nin the provided path.\nDesigned for UNIX-based platforms:\nunclear what will happen on others.\n\n-----------------------------------------------------------\n:code:`generate_downloader(headers, args, max_per_hour=30)`\n-----------------------------------------------------------\nProduce a callable downloader.\nProvide headers for URL call,\nand provide some args\n(for the rate limiting\n(see that later in the document)),\nwhich will be used to identify this function in rate-limiting.\n:code:`max_per_hour` is optional:\nuse it to decide how many times per hour downloads can happen.\nThe default is 30 times per hour.\nThe returned downloader is called as follows:\n\n.. code-block:: python\n\n downloader = generate_downloader({\"foo\": \"bar\"}, \"an identifier string\")\n downloader(url=url, dest=dest)\n\nwhere :code:`url` is where to download FROM and :code:`dest` is where to SAVE the file.\nIt will make the directory for the file if it does not exist.\nA text progress bar is shown during download,\nand while rate limit is blocking.\n\n-----------------------------\n:code:`max_clamp(val, limit)`\n-----------------------------\nReturn :code:`val` if it is less than :code:`limit`,\notherwise return :code:`limit`.\n\n------------------------------------\n:code:`parse_int_string(int_string)`\n------------------------------------\nGiven a string like \"1 23 4-8 32 1\",\nreturn a unique list of those integers in the string,\nand the integers in the ranges in the string.\nFor this example,\nthe output would be [1, 4, 5, 6, 7, 8, 23, 32].\nNon-numbers ignored.\nNot necessarily sorted\n\n-----------------------------------------\n:code:`rate_limited(max_per_hour, *args)`\n-----------------------------------------\nA decorator to rate-limit a function\n(ensures that it runs no more than :code:`max_per_hour` times per hour by sleeping sometimes).\nCalled like this:\n\n.. code-block:: python\n\n @util.rate_limited(120, name)\n def a_function(var1, var2=\"foo\"):\n\n-----------------------------------------\n:code:`sanitize(filename, platform=None)`\n-----------------------------------------\nRemove disallowed characters from potential filename.\nProvide platform to sanitize for that platform,\notherwise current platform is found and used.\n\n-------------------------------------------------------\n:code:`set_up_logging(log_filename=\"log\", verbosity=0)`\n-------------------------------------------------------\nSet up a logger with reasonable settings.\nReturn it for log calls.\n\n--------------------------------------------------------\n:code:`random_line(file_path, encoding=FORCED_ENCODING)`\n--------------------------------------------------------\nAt time of writing,\n:code:`FORCED_ENCODING` is \"UTF-8\".\nRefer to code for latest.\nReturn a line from the provided file at random.\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/alixnovosi/drewtilities/archive/v1.3.2.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alixnovosi/drewtilities", "keywords": "", "license": "BSD3", "maintainer": "", "maintainer_email": "", "name": "drewtilities", "package_url": "https://pypi.org/project/drewtilities/", "platform": "", "project_url": "https://pypi.org/project/drewtilities/", "project_urls": { "Download": "https://github.com/alixnovosi/drewtilities/archive/v1.3.2.tar.gz", "Homepage": "https://github.com/alixnovosi/drewtilities" }, "release_url": "https://pypi.org/project/drewtilities/1.3.2/", "requires_dist": [ "clint (<0.6.0,>=0.5.1)", "requests (<3.0.0,>=2.21.0)" ], "requires_python": ">=3.6", "summary": "Simple utilities for dev work.", "version": "1.3.2" }, "last_serial": 5339859, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "360659f9cd8ef2be02c482d5795f15be", "sha256": "3bed5965980bb6e915ba302eafb87a7747f4999c34f23672e01a222ac312d012" }, "downloads": -1, "filename": "drewtilities-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "360659f9cd8ef2be02c482d5795f15be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5776, "upload_time": "2017-11-25T22:46:54", "url": "https://files.pythonhosted.org/packages/78/ca/2244fa0dc5c22b6ac8206eff8b3d001be84268422c890b7b4349221d3d17/drewtilities-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "66356ede29b0b9a22e7e82381234356c", "sha256": "58f918fb2f2c2d5fcf3a237a3beb5c8a4bd81690050a67ebc721b04a18c309d4" }, "downloads": -1, "filename": "drewtilities-1.0.1.tar.gz", "has_sig": false, "md5_digest": "66356ede29b0b9a22e7e82381234356c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4131, "upload_time": "2017-11-25T22:46:55", "url": "https://files.pythonhosted.org/packages/0d/bf/391197f12b7f8c91cc0f085354c6c730007aa4ffe924703203dfd5f013c0/drewtilities-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "8ceb05c1824f5b34930f3344851db305", "sha256": "3bb896cb91baf91a9c10f204344300d377285db8dd610e06e70696a7120e2012" }, "downloads": -1, "filename": "drewtilities-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "8ceb05c1824f5b34930f3344851db305", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5779, "upload_time": "2017-11-26T02:46:01", "url": "https://files.pythonhosted.org/packages/2d/65/c6f7dbf84b0fd64b7b6ceb6e0c681871e08e2592182d909593a0fe3e7c61/drewtilities-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72ab1392a8e38010ee60dbaeb75b6992", "sha256": "e4bec7d3a8c4484313d740f35b641dc753c8c0f9fc99305bedd8bded00d5b371" }, "downloads": -1, "filename": "drewtilities-1.0.2.tar.gz", "has_sig": false, "md5_digest": "72ab1392a8e38010ee60dbaeb75b6992", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4117, "upload_time": "2017-11-26T02:46:02", "url": "https://files.pythonhosted.org/packages/55/2e/e9eb1cf8c9b4b9a0eef91d0c3b44ec7ce7ddaf3a1c1e5150f96a894d2d39/drewtilities-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "59fff19b5f3d9c8e88799eccc789c2ed", "sha256": "a74ef9e9e2fcfbce34a8e4c9b3b073334553c35709807181cec9c5c5702494b1" }, "downloads": -1, "filename": "drewtilities-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "59fff19b5f3d9c8e88799eccc789c2ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5777, "upload_time": "2017-11-26T09:12:34", "url": "https://files.pythonhosted.org/packages/b5/0e/8d53287843c54f30c3e5d95e4ad76112cd7f30a060c336dc7c663fdb04eb/drewtilities-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d872de6c3dfbab53cf01c353044d077", "sha256": "41b81059067a62cc906069f9e5f582836891e9fd315e31a7effc03b77775318a" }, "downloads": -1, "filename": "drewtilities-1.0.3.tar.gz", "has_sig": false, "md5_digest": "9d872de6c3dfbab53cf01c353044d077", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4122, "upload_time": "2017-11-26T09:12:35", "url": "https://files.pythonhosted.org/packages/fc/c2/bcd2b029034b0fc8e254fabe2f93f1f3d22e65f70b07fde392ae3b4b954d/drewtilities-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "56e38a962f0e47e1017757d3309eff0a", "sha256": "6f7d0e5b40cecf6186e23bd0752bff1f5d765b2de3e2f1cc3c0b9428fb6c8495" }, "downloads": -1, "filename": "drewtilities-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "56e38a962f0e47e1017757d3309eff0a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5776, "upload_time": "2017-11-26T09:34:56", "url": "https://files.pythonhosted.org/packages/4c/6d/246d0bf438c745a5a2cdc9ff87a02981a95e1c73bef06cb9ca9c94e5b460/drewtilities-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cafcc24596d72c56832fea054803757a", "sha256": "df889d6d79fa2f4b98ebdd9df4f9e85278f6f147eeb3d8af2563e57425e666cb" }, "downloads": -1, "filename": "drewtilities-1.0.4.tar.gz", "has_sig": false, "md5_digest": "cafcc24596d72c56832fea054803757a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4134, "upload_time": "2017-11-26T09:34:58", "url": "https://files.pythonhosted.org/packages/8a/8c/3c637305c6b0e3d857fa691c1943454d34825eca0737ebc09cf6450fd702/drewtilities-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "4ac5205ff342d6a2b3cfbf1dfc4a2093", "sha256": "f1653009570a7be0c0b63bc18819ac618f1e4d9b0153145eda1f2e4327cd8ee3" }, "downloads": -1, "filename": "drewtilities-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "4ac5205ff342d6a2b3cfbf1dfc4a2093", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5775, "upload_time": "2017-12-05T09:06:07", "url": "https://files.pythonhosted.org/packages/66/12/3c25ee1fd3ab209def3b7e9b12efa55167439fe682010fea2e1ed3c130aa/drewtilities-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c4605d377df4e7b10afb836cf3e394f", "sha256": "acc5e2b8c6fe1b76af6b6902c1ce24a2c5baaf00a2d7b2e6b28a979f81cfd225" }, "downloads": -1, "filename": "drewtilities-1.0.5.tar.gz", "has_sig": false, "md5_digest": "8c4605d377df4e7b10afb836cf3e394f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4136, "upload_time": "2017-12-05T09:06:08", "url": "https://files.pythonhosted.org/packages/14/13/91b5b4cbc92c85b8c554e335614335f2f4eefac48b0c3c67a21618062f73/drewtilities-1.0.5.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "ea525fdda0638e31de95b46bf5a0c126", "sha256": "586786859329ae05b3d7da768b925fda92def6d83acfd557b0658c0d66b50088" }, "downloads": -1, "filename": "drewtilities-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ea525fdda0638e31de95b46bf5a0c126", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8911, "upload_time": "2018-09-24T21:21:26", "url": "https://files.pythonhosted.org/packages/66/8a/1b0157233903ee81831c422d53ac3e34ff16b0cb696622167ca21b4c5b64/drewtilities-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1545683ed8271679afaa93428b7f9a53", "sha256": "e5368527e0f964023f8f4760bcd59ffa0ff32e38292c799328875a2a49f5d33a" }, "downloads": -1, "filename": "drewtilities-1.1.0.tar.gz", "has_sig": false, "md5_digest": "1545683ed8271679afaa93428b7f9a53", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5946, "upload_time": "2018-09-24T21:21:29", "url": "https://files.pythonhosted.org/packages/f1/a2/c947a41ab55a2c278bfae65b81ca15b3f119b9f7b19cd69c3be5da788528/drewtilities-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "8638db836e9c314b42a985a36f0af7ed", "sha256": "3c44f5dde203ea70e8e2c028af8f331716fb5706b9482aaf7c1fc4f9e6caf878" }, "downloads": -1, "filename": "drewtilities-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8638db836e9c314b42a985a36f0af7ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8910, "upload_time": "2018-09-24T21:24:12", "url": "https://files.pythonhosted.org/packages/4a/67/48f0023e2404494fa222b54a3be7b2498e35dceb492f15d90ba00698b796/drewtilities-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c698b2f39d9a22f70c3ffa1dbf676051", "sha256": "ab0ccbb23dc3603fd90afeba7e57db0bf00d94fdf62172ac0e9a745659fb39c2" }, "downloads": -1, "filename": "drewtilities-1.1.1.tar.gz", "has_sig": false, "md5_digest": "c698b2f39d9a22f70c3ffa1dbf676051", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5873, "upload_time": "2018-09-24T21:24:14", "url": "https://files.pythonhosted.org/packages/f8/51/22103554e23aa74177a68edf725a17f6bcf907b0f1fbdcd2a302ecf39d66/drewtilities-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "3740b0f9aae788218d3fc3be468f2911", "sha256": "f7e3ba4583a836a17652bfd879d192971a1adff37f0a3203fedd3bdf78cec3bc" }, "downloads": -1, "filename": "drewtilities-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3740b0f9aae788218d3fc3be468f2911", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8959, "upload_time": "2018-09-24T21:29:56", "url": "https://files.pythonhosted.org/packages/d7/7b/f72412d08e79d9e7c03a69e1dee08b25533eac05206aee5b2f5a4b66868f/drewtilities-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d7ce64b1d2aaa9232d310cbf575609ee", "sha256": "721af176c4efdc7f9046aac9b249578d3d8520b792d1d4da5c34d5ad3b092d8b" }, "downloads": -1, "filename": "drewtilities-1.1.2.tar.gz", "has_sig": false, "md5_digest": "d7ce64b1d2aaa9232d310cbf575609ee", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5887, "upload_time": "2018-09-24T21:29:59", "url": "https://files.pythonhosted.org/packages/b3/3a/3641121058f3891b712e845e246f9b8c5e44c701bf12450530b948e941d7/drewtilities-1.1.2.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "b827189e81773207a6e88aec471ed272", "sha256": "a7171085e6f12e91e20bd27d4ca009fba00cd410ef7fbbe973cf127ae5442d37" }, "downloads": -1, "filename": "drewtilities-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b827189e81773207a6e88aec471ed272", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9252, "upload_time": "2018-10-15T07:47:16", "url": "https://files.pythonhosted.org/packages/61/05/7768c0bcdeb7e33127071cb74ef015ea80a1f1c2bc7e6bd7817e7929d183/drewtilities-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0920afb13f25914f1ace917298fec89", "sha256": "bb89dc6b805ccbc4d589052b5dfca2bd70a930b94f9a3fe1a13a4f69495e8909" }, "downloads": -1, "filename": "drewtilities-1.2.0.tar.gz", "has_sig": false, "md5_digest": "a0920afb13f25914f1ace917298fec89", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6268, "upload_time": "2018-10-15T07:47:17", "url": "https://files.pythonhosted.org/packages/51/39/38401c1f1f07f9cfcf76980d4897ac36c3b8a57c222f34bf148fd5de0299/drewtilities-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "ada4089f378221abe32fdc46bec71d3e", "sha256": "8cd354099fbb303ba1e19b423cb2a86106cefcacac67f91ad7b7ef76013a0fd9" }, "downloads": -1, "filename": "drewtilities-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ada4089f378221abe32fdc46bec71d3e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7382, "upload_time": "2019-03-05T22:56:52", "url": "https://files.pythonhosted.org/packages/72/12/d99d444ec0dd7d03b12c2da44dc5cb32be43153c16f3019182e11d915a1a/drewtilities-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fe7f1d4b8afb65f3f9cf4d7d5fd7ee3", "sha256": "b48ebddb1413e9b966df1cf0ffc2b6b30ab8b42ea33b8ea7f3ef5b6b03fe1b19" }, "downloads": -1, "filename": "drewtilities-1.2.1.tar.gz", "has_sig": false, "md5_digest": "7fe7f1d4b8afb65f3f9cf4d7d5fd7ee3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6224, "upload_time": "2019-03-05T22:56:53", "url": "https://files.pythonhosted.org/packages/8b/84/e6af69ca76bdd5cbb79ee32bee9d75d8c88e13c1d514695f65b012b8850d/drewtilities-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "b097064c15a2028dff8d3750849f4ade", "sha256": "03170da9fd381694a1e3aa9e2abaf6dc114241965184094c20eed26b5fd486f0" }, "downloads": -1, "filename": "drewtilities-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b097064c15a2028dff8d3750849f4ade", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7388, "upload_time": "2019-03-06T06:23:06", "url": "https://files.pythonhosted.org/packages/5b/cc/fb2ef74015addad976a26049096f623dd93e3423b7f415e1c2a35d79016b/drewtilities-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "557403e4b215fc6fc73c8b4bcdb4a744", "sha256": "c407afac63e3e33daf3f2edde4d4280c29981452dab78b5248bc99cd8c0ab965" }, "downloads": -1, "filename": "drewtilities-1.2.2.tar.gz", "has_sig": false, "md5_digest": "557403e4b215fc6fc73c8b4bcdb4a744", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6222, "upload_time": "2019-03-06T06:23:08", "url": "https://files.pythonhosted.org/packages/69/04/6ca3a91204c81a21b68f9567f3b7cbf72e0b515d3a4423daf762383b86ba/drewtilities-1.2.2.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "bd7b512353c9f32d55159d73f93adf05", "sha256": "9ed40444b728e62eff20f18df9acfe6843ff49956e546f73914427846db0fc0c" }, "downloads": -1, "filename": "drewtilities-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "bd7b512353c9f32d55159d73f93adf05", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7527, "upload_time": "2019-05-30T19:51:12", "url": "https://files.pythonhosted.org/packages/57/e9/f40041fa5390add432f646883cbc08f9093ea2263e0381e0994c9cb656a7/drewtilities-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86320c6437fa78671b9479a60ab87598", "sha256": "ad09309a3707044eaff90ef64484b6a76e9893145a01870feecc3c0c5e0a8c71" }, "downloads": -1, "filename": "drewtilities-1.3.0.tar.gz", "has_sig": false, "md5_digest": "86320c6437fa78671b9479a60ab87598", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6385, "upload_time": "2019-05-30T19:51:14", "url": "https://files.pythonhosted.org/packages/3e/99/ce82e6242b409221faf0a3872408c64ca68bad7d63a138a24c9253695d1a/drewtilities-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "e05e09adea9c62e973f9cecbbd479566", "sha256": "cab5e78118a6db264c89abfaa2a8ae80fb1a5ec5f3f3dbe540545950a61fceec" }, "downloads": -1, "filename": "drewtilities-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e05e09adea9c62e973f9cecbbd479566", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7518, "upload_time": "2019-05-30T21:19:58", "url": "https://files.pythonhosted.org/packages/21/70/5f1cad77a59afd057c0bdc4b44f513fcddc6856a231cd2a0e0587adb96ac/drewtilities-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b8113468e46e5d2bff60dab952071393", "sha256": "a5194c1f674119c7d928679e4c83a3ea6080642b9a7f7785cff2c34faa193b8d" }, "downloads": -1, "filename": "drewtilities-1.3.1.tar.gz", "has_sig": false, "md5_digest": "b8113468e46e5d2bff60dab952071393", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6368, "upload_time": "2019-05-30T21:20:01", "url": "https://files.pythonhosted.org/packages/be/29/b4e42eab3f372625c725ee628216fca9c43e173482af4504bdb780a723e9/drewtilities-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "c2acac19f661ad7bf59eddefcf857f4d", "sha256": "8f85055b81bd33d565d4da0ddebe5dbe911c0efdd9f18807a1d1ea166dab0e82" }, "downloads": -1, "filename": "drewtilities-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c2acac19f661ad7bf59eddefcf857f4d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7519, "upload_time": "2019-05-30T22:03:01", "url": "https://files.pythonhosted.org/packages/a8/c7/3389b5c9f29576b78470f2d36b87efcf1075399fb47ab789750eb89a51bf/drewtilities-1.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b78cc5cd4214baa8f719d5d4e945cd1a", "sha256": "4d32fdb72b726c47bbb4391d049d47a29777400bfc494f903ac893fab6d46061" }, "downloads": -1, "filename": "drewtilities-1.3.2.tar.gz", "has_sig": false, "md5_digest": "b78cc5cd4214baa8f719d5d4e945cd1a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6373, "upload_time": "2019-05-30T22:03:02", "url": "https://files.pythonhosted.org/packages/11/f5/bbce67d22681a990f3587e7a7427de539a36a82b7ee4668966e02d745e76/drewtilities-1.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c2acac19f661ad7bf59eddefcf857f4d", "sha256": "8f85055b81bd33d565d4da0ddebe5dbe911c0efdd9f18807a1d1ea166dab0e82" }, "downloads": -1, "filename": "drewtilities-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c2acac19f661ad7bf59eddefcf857f4d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7519, "upload_time": "2019-05-30T22:03:01", "url": "https://files.pythonhosted.org/packages/a8/c7/3389b5c9f29576b78470f2d36b87efcf1075399fb47ab789750eb89a51bf/drewtilities-1.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b78cc5cd4214baa8f719d5d4e945cd1a", "sha256": "4d32fdb72b726c47bbb4391d049d47a29777400bfc494f903ac893fab6d46061" }, "downloads": -1, "filename": "drewtilities-1.3.2.tar.gz", "has_sig": false, "md5_digest": "b78cc5cd4214baa8f719d5d4e945cd1a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6373, "upload_time": "2019-05-30T22:03:02", "url": "https://files.pythonhosted.org/packages/11/f5/bbce67d22681a990f3587e7a7427de539a36a82b7ee4668966e02d745e76/drewtilities-1.3.2.tar.gz" } ] }