{ "info": { "author": "cybergrind", "author_email": "cybergrind@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: MacOS", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Utilities" ], "description": "# About this package\n\n[![Build Status](https://travis-ci.org/tipsi/tipsi_tools.svg?branch=master)](https://travis-ci.org/tipsi/tipsi_tools)\n[![PyPi version](https://img.shields.io/pypi/v/tipsi_tools.svg)](https://pypi.python.org/pypi/tipsi_tools)\n\n\nHere are set of internal tools that are shared between different projects internally. Originally most tools related to testing, so they provide some base classes for various cases in testing\n\n**NOTE: all our tools are intentially support only 3.5+ python.**\nSome might work with other versions, but we're going to be free from all these crutches to backport things like `async/await` to lower versions, so if it works - fine, if not - feel free to send PR, but it isn't going to be merged all times.\n\n## Testing helpers\n\n### ApiUrls\n\nDefined in `tipsi_tools/testing/__init__.py`. Required for defining nested urls with formatting.\n\nYou can use it in fixtures, like:\n\n\n```python\n@pytest.fixture(scope='session')\ndef api(api_v_base):\n yield ApiUrls('{}/'.format(api_v_base), {\n 'password_reset_request': 'password/request/code/',\n 'password_reset': 'password/reset/',\n 'user_review_list': 'user/{user_id}/review/',\n 'user_review': 'user/{user_id}/review/{review_id}/',\n 'wine_review': 'wine/{wine_id}/review/',\n 'drink_review': 'drink/{drink_id}/review/',\n })\n\n\ndef test_review_list(user, api):\n resp = user.get_json(api.user_review_list(user_id=user1.id), {'page_size': 2})\n```\n\n\n\n\n### PropsMeta\n\nYou can find source in `tipsi_tools/testing/meta.py`.\n\nFor now it convert methods that are started with `prop__` into descriptors with cache.\n\n```python\nclass A(metaclass=PropsMeta):\n def prop__conn(self):\n conn = SomeConnection()\n return conn\n```\n\nBecame:\n\n```python\nclass A:\n @property\n def conn(self):\n if not hasattr(self, '__conn'):\n setattr(self, '__conn', SomeConnection())\n return self.__conn\n```\n\nThus it allows quite nice style of testing with lazy initialization. Like:\n\n```python\nclass MyTest(TestCase, metaclass=PropsMeta):\n def prop__conn(self):\n return psycopg2.connect('')\n\n def prop__cursor(self):\n return self.conn.cursor()\n\n def test_simple_query(self):\n self.cursor.execute('select 1;')\n row = self.cursor.fetchone()\n assert row[0] == 1, 'Row: {}'.format(row)\n\n```\n\nHere you just get and use `self.cursor`, but automatically you get connection and cursor and cache they.\n\nThis is just simple example, complex tests can use more deep relations in tests. And this approach is way more easier and faster than complex `setUp` methods.\n\n\n### AIOTestCase\n\n**NOTE: we're highly suggest to use pytest alongside with existing async tests plugins**\n\nBase for asyncronous test cases, you can use it as drop-in replacement for pre-existent tests to be able:\n\n* write asyncronous test methods\n* write asyncronous `setUp` and `tearDown` methods\n* use asyncronous function in `assertRaises`\n\n```python\nclass ExampleCase(AIOTestCase):\n async setUp(self):\n await async_setup()\n\n async tearDown(self):\n await async_teardown()\n\n async division(self):\n 1/0\n\n async test_example(self):\n await self.assertRaises(ZeroDivisionError, self.async_division)\n```\n\n## tipsi_tools.unix helpers\n\nBasic unix helpers\n\n* run - run command in shell\n* succ - wrapper around `run` with return code and stderr check\n* wait_socket - wait for socket awailable (eg. you can wait for postgresql with `wait_socket('localhost', 5432)`\n* asucc - asynchronous version of `succ` for use with `await`. supports realtime logging\n* source - acts similar to bash 'source' or '.' commands.\n* cd - contextmanager to do something with temporarily changed directory\n\n#### interpolate_sysenv\n\nFormat string with system variables + defaults.\n\n```python\nPG_DEFAULTS = {\n 'PGDATABASE': 'postgres',\n 'PGPORT': 5432,\n 'PGHOST': 'localhost',\n 'PGUSER': 'postgres',\n 'PGPASSWORD': '',\n }\nDSN = interpolate_sysenv('postgresql://{PGUSER}:{PGPASSWORD}@{PGHOST}:{PGPORT}/{PGDATABASE}', PG_DEFAULTS)\n```\n\n\n## tipsi_tools.tipsi_logging.JSFormatter\n\nEnable json output with additional fields, suitable for structured logging into ELK or similar solutions.\n\nAccepts `env_vars` key with environmental keys that should be included into log.\n\n```python\n# this example uses safe_logger as handler (pip install safe_logger)\nimport logging\nimport logging.config\n\n\nLOGGING = {\n 'version': 1,\n 'disable_existing_loggers': True,\n 'formatters': {\n 'json': {\n '()': 'tipsi_tools.tipsi_logging.JSFormatter',\n 'env_vars': ['HOME'],\n },\n 'standard': {\n 'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'\n },\n },\n 'handlers': {\n 'default': {\n 'level': 'DEBUG',\n 'class': 'safe_logger.TimedRotatingFileHandlerSafe',\n 'filename': 'test_json.log',\n 'when': 'midnight',\n 'interval': 1,\n 'backupCount': 30,\n 'formatter': 'json',\n },\n },\n 'loggers': {\n '': {\n 'handlers': ['default'],\n 'level': 'DEBUG',\n },\n },\n}\n\nlogging.config.dictConfig(LOGGING)\nlog = logging.getLogger('TestLogger')\n\nlog.debug('test debug')\nlog.info('test info')\nlog.warn('test warn')\nlog.error('test error')\n```\n\n\n## tipsi_tools.mon_server.MetricsServer\n\nSanic based server that servers metrics in prometheus format.\n\n```\nfrom sanic import Sanic\n\nfrom tipsi_tools.mon_server import MetricsServer\nfrom tipsi_tools.mon_server.certs import update_certs_loop\n\napp = Sanic()\nmserver = MetricsServer(app, status_metric='running{server=\"localhost\"}')\nmserver.add_task(update_certs_loop, hosts=['gettipsi.com', 'proofnetwork.io'])\napp.run(host='0.0.0.0', port=8000)\n```\n\n\n## tipsi_tools.drf.serializers.EnumSerializer\n\nAllow you to deserealize incoming strings into `Enum` values.\nYou should add `EnumSerializer` into your serializers by hand.\n\n```python\nfrom enum import IntEnum\n\nfrom django.db import models\nfrom rest_framework import serializers\n\nfrom tipsi_tools.drf.serializers import EnumSerializer\n\n\nclass MyEnum(IntEnum):\n one = 1\n two = 2\n\nclass ExampleModel(models.Model):\n value = models.IntegerField(choices=[(x.name, x.value) for x in MyEnum])\n\nclass ExampleSerializer(serializers.ModelSerializer):\n value = EnumSerializer(MyEnum)\n\n# this allows you to post value as: {'value': 'one'}\n```\n\nDue to `Enum` and `IntegerField` realizations you may use `Enum.value` in querysets\n\n```python\nExampleModel.objects.filter(value=MyEnum.two)\n```\n\n## tipsi_tools.django.log_requests.LoggerMiddleware\n\nLoggerMiddleware will log request meta + raw post data into log.\n\nFor django<1.10 please use `tipsi_tools.django.log_requests.DeprecatedLoggerMiddleware`\n\n\n## tipsi_tools.django.request_uniq\n\nDecorator adds a unique for each uwsgi request dict as first function\n argument.\nFor tests mock `_get_request_unique_cache`\n\n\n## tipsi_tools.django.call_once_on_commit\n\nMake function called only once on transaction commit. Here is examples\n where function `do_some_useful` will be called only once after\n transaction has been committed.\n```python\nclass SomeModel(models.Model):\n name = IntegerField()\n\n@call_once_on_commit\ndef do_some_useful():\n pass\n\n\ndef hook(sender, instance, **kwargs):\n do_some_useful()\n\nmodels.signals.post_save.connect(hook, sender=SomeModel)\n\nwith transaction.atomic():\n some_model = SomeModel()\n some_model.name = 'One'\n some_model.save()\n some_model.name = 'Two'\n some_model.save()\n```\n\nFor tests with nested transactions (commit actually most times is not\n called) it is useful to override behaviour `call_once_on_commit`\n when decorated function executed right in place where it is called.\n To do so mock `on_commit` function. Example pytest fixture:\n```\n@pytest.fixture(scope='session', autouse=True)\ndef immediate_on_commit():\n def side_effect():\n return lambda f: f()\n\n with mock.patch('tipsi_tools.django.on_commit', side_effect=side_effect) as m:\n yield m\n\n```\n\n## tipsi_tools.django.fields.ChoicesEnum\n\nUsed for choices attribute for in model field\n\n```\nclass FooBarEnum(ChoicesEnum):\n foo = 1\n bar = 2\n\nclass ExampleModel(models.Model):\n type = models.IntegerField(choices=FooBarEnum.get_choices())\n```\n\n\n## tipsi_tools.django.db.utils.set_word_similarity_threshold\n\nAllow to set postgres trigram word similarity threshold for default django database connection\n\n```\nset_word_similarity_threshold(0.4)\n```\n\n\n## tipsi_tools.django.contrib.postgres.models.LTreeModel\n\nDjango Model containing postgres ltree\n\n```\nclass LTreeExampleModel(LTreeModel):\n```\n\n\n## tipsi_tools.django.contrib.postgres.fields.LTreeDescendants\n\nLookup for postgres ltree descendants\n\n```\nLTreeExampleModel.objects.filter(path__descendants='root.level1')\n```\n\n## tipsi_tools.django.contrib.postgres.fields.LTreeNlevel\n\nLookup for postgres ltree by level depth\n\n```\nLTreeExampleModel.objects.filter(path__nlevel=2)\n```\n\n## tipsi_tools.django.db.pgfields.SimilarityLookup\n\nPostgres `text %> text` operator\n\n```\n# Add this import to models.py (file should be imported before lookup usage)\nimport tipsi_tools.django.db.pgfields # noqa\n\nBooks.objects.filter(title__similar='Animal Farm')\n```\n\n## tipsi_tools.django.db.pgfields.WordSimilarity\n\nPostgres `text1 <<-> text2` operator. It returns `1 - word_similarity(text1, text2)`\n\n```\nfrom django.db.models import Value, F\n\nsimilarity = WordSimilarity(Value('Animal Farm'), F('title'))\nBooks.objects.annotate(similarity=similarity)\n```\n\n## tipsi_tools.drf.filters.NumberInFilter\n\nDjango filter that match if integer is in the integers list separated by comma\n\n```\nclass ExampleFilterSet(FilterSet):\n example_values = NumberInFilter(field_name='example_value', lookup_expr='in')\n```\n\n## tipsi_tools.django.mail.Mail\n\nSend text and html emails using django templates.\n\n```\nMail(\n recipient_list=[user.email],\n template_name='user/emails/reset_password',\n context={\n 'frontend_url': settings.FRONTEND_URL,\n },\n).send()\n```\n\n## tipsi_tools.django.url.build_absolute_uri\n\nGet domain section of absolute url of current page using django request object.\n\n```\nbuild_absolute_uri(request)\n```\n\n\n## tipsi_tools.drf.forms.use_form\n\nHelps to use power of serializers for simple APIs checks.\n\n\n```python\nfrom rest_framework import serializers\nfrom rest_framework.decorators import api_view\nfrom tipsi_tools.drf import use_form\n\n\nclass SimpleForm(serializers.Serializer):\n test_int = serializers.IntegerField()\n test_str = serializers.CharField()\n\n\n@api_view(['GET'])\n@use_form(SimpleForm)\ndef my_api(data):\n print(f'Data: {data[\"test_int\"]} and {data[\"test_str\"]}')\n```\n\n## tipsi_tools.drf.pagination.ApiPageNumberPagination\n\nAllow turn off pagination by specifying zero page_zize.\n\n```\nREST_FRAMEWORK = {\n 'DEFAULT_PAGINATION_CLASS': 'tipsi_tools.drf.pagination.ApiPageNumberPagination',\n ...\n}\n```\n\n## tipsi_tools.rest_framework.renderers.ApiRenderer\n\nPretty Django Rest Framework API renderer with error codes.\n\n```\nREST_FRAMEWORK = {\n 'DEFAULT_RENDERER_CLASSES': (\n 'tipsi_tools.drf.renderers.ApiRenderer',\n },\n ...\n}\n```\n\n## tipsi_tools.rest_framework.handlers.api_exception_handler\n\nPretty Django Rest Framework API exception handler with error codes.\n\n```\nREST_FRAMEWORK = {\n 'EXCEPTION_HANDLER': 'tipsi_tools.drf.handlers.api_exception_handler',\n ...\n}\n```\n\n## tipsi_tools.drf.asserts.assert_validation_error\n\nHelper assert function to be used in tests to match the validation error codes.\n\n```\nassert_validation_error(response, 'email', 'unique')\n```\n\n## tipsi_tools.aio_utils.DbRecordsProcessorWorker\n\nAsyncio worker which wait for new records in postgres db table and process them.\n\n## tipsi_tools.aio_utils.dict_query/sql_update\naiopg shortcuts\n\n\n## tipsi_tools.python.execfile\n\nBackport of python's 2 `execfile` function.\n\nUsage: execfile('path/to/file.py', globals(), locals())\n\nReturns: True if file exists and executed, False if file doesn't exist\n\n\n## tipsi_tools.doc_utils.tipsi_sphinx\n\nSphinx extensions to generate documentation for django restframework serializers and examples for http requests.\n\nIn order to use them specify dependency for package installation:\n```\npip install tipsi_tools[doc_utils]\n```\n\nUsage:\n```\n# Add to Sphinx conf.py\nextensions = [\n # ...\n 'tipsi_tools.doc_utils.tipsi_sphinx.dyn_serializer',\n 'tipsi_tools.doc_utils.tipsi_sphinx.http_log'\n]\n```\n\n## Commands\n\n### tipsi_env_yaml\n\nConvert template yaml with substituion of `%{ENV_NAME}` strings to appropriate environment variables.\n\nUsage: `tipsi_env_yaml src_file dst_file`\n\n\n### tipsi_ci_script\n\nHelper to run default CI pipeline. Defaults are set up for [giltab defaults](https://docs.gitlab.com/ee/ci/variables/#predefined-variables-environment-variables). Includes stages:\n\n* build docker image with temporary name (commit sha by default)\n* run tests (optional)\n* push branch (by default only for master and staging branches)\n* push tag, if there are tags\n* cache image with common name\n* delete image with temporary name\n\nIt's optimized for parallel launches, so you need to use unique temporary name (`--temp-name`). We want keep our system clean if possible, so we'll delete this tag in the end. But we don't want to repeat basic steps over and over, so we will cache image with common cache name (`--cache-name`), it will remove previous cached image.\n\n### tipsi_wait\n\nWait for socket awailable/not-awailable with timeout.\n\n```\n# Wait until database port up for 180 seconds\ntipsi_wait -t 180 postgres 5432\n\n# Wait until nginx port down for 30 seconds\ntipsi_wait -t 30 nginx 80\n```\n\n### run_filebeat\n\n* checks environmental variables `-e KEY=VALUE -e KEY2=VALUE2`\n* converts yaml template `tipsi_env_yaml {TEMPLATE} /tmp/filebeat.yml`\n* run `/usr/bin/filebeat /tmp/filebeat.yml`\n\n```\nrun_filebeat -e CHECKME=VALUE path_to_template\n```\n\n\n### doc_serializer\n\n* output rst with list of serializers\n* generates documentation artifacts for serializers\n\n```\nusage: doc_serializer [-h] [--rst] [--artifacts]\n\nParse serializers sources\n\noptional arguments:\n -h, --help show this help message and exit\n --rst Output rst with serializers\n --artifacts Write serializers artifacts\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/tipsi/tipsi_tools", "keywords": "testing,asyncio", "license": "", "maintainer": "", "maintainer_email": "", "name": "tipsi-tools", "package_url": "https://pypi.org/project/tipsi-tools/", "platform": "", "project_url": "https://pypi.org/project/tipsi-tools/", "project_urls": { "Homepage": "http://github.com/tipsi/tipsi_tools" }, "release_url": "https://pypi.org/project/tipsi-tools/1.54.0/", "requires_dist": null, "requires_python": "", "summary": "Various python stuff: testing, aio helpers, etc", "version": "1.54.0", "yanked": false, "yanked_reason": null }, "last_serial": 6045448, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "a21ce42643626fb8c4d2ae75184405ef", "sha256": "3c69d6dd6ce83e71ad6743b6aedabe79281ca5fd2e012b14c6ae302c2212002b" }, "downloads": -1, "filename": "tipsi_tools-0.10.0.tar.gz", "has_sig": false, "md5_digest": "a21ce42643626fb8c4d2ae75184405ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5857, "upload_time": "2016-10-03T09:57:17", "upload_time_iso_8601": "2016-10-03T09:57:17.558510Z", "url": "https://files.pythonhosted.org/packages/ef/af/e76e0d0ed9e0fbc230d4dc6555fa5ec6b544e65c4e710501b0e5022f6272/tipsi_tools-0.10.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "15a001e7a154534f3eed901aa3f9ed2b", "sha256": "1025fd91bf26e0af8c1053406e69317cc7db912d7a65c811e97f3c0a78706312" }, "downloads": -1, "filename": "tipsi_tools-0.11.0.tar.gz", "has_sig": false, "md5_digest": "15a001e7a154534f3eed901aa3f9ed2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6212, "upload_time": "2016-10-03T10:35:46", "upload_time_iso_8601": "2016-10-03T10:35:46.896683Z", "url": "https://files.pythonhosted.org/packages/a4/60/9f6bbe8000963a350b5c52fdb6166d5316ca6c319e176f17cd106c4df9b0/tipsi_tools-0.11.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "a53e653a8d86ef9a35606e5247bb55f8", "sha256": "6dc91537bc1af497dfb763184d7b3b0287f2c24f43e8d798df41d55dc039fd9c" }, "downloads": -1, "filename": "tipsi_tools-0.12.0.tar.gz", "has_sig": false, "md5_digest": "a53e653a8d86ef9a35606e5247bb55f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6615, "upload_time": "2016-10-06T16:50:53", "upload_time_iso_8601": "2016-10-06T16:50:53.038331Z", "url": "https://files.pythonhosted.org/packages/12/69/aeae94904af23a884c2fa3dc4dbfb8ffa1a4a85a300cafd2b59dacc5be5a/tipsi_tools-0.12.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "41d5bd3cca2c8c3232f91542f9b35e95", "sha256": "8b88efe055f5c9c2090de2a2fd906adb79eee4f7595bd8ea0cfd43b3aaf0b57a" }, "downloads": -1, "filename": "tipsi_tools-0.13.0.tar.gz", "has_sig": false, "md5_digest": "41d5bd3cca2c8c3232f91542f9b35e95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6695, "upload_time": "2016-10-10T11:34:14", "upload_time_iso_8601": "2016-10-10T11:34:14.666135Z", "url": "https://files.pythonhosted.org/packages/f4/a2/aba785c4cbe02735a48f9c2cd96a642c53b62349a1c61b55aeccf1d0fda0/tipsi_tools-0.13.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.13.1": [ { "comment_text": "", "digests": { "md5": "337289a1fbf9f1d20dab022ac9bebfb7", "sha256": "b453211cb633d0b48f102f7db8f60e81cd1951ddb83866fb0087a2ea2b04a805" }, "downloads": -1, "filename": "tipsi_tools-0.13.1.tar.gz", "has_sig": false, "md5_digest": "337289a1fbf9f1d20dab022ac9bebfb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6715, "upload_time": "2016-10-11T17:50:40", "upload_time_iso_8601": "2016-10-11T17:50:40.771445Z", "url": "https://files.pythonhosted.org/packages/ad/b4/def65aa12b96d05087a1c40e2bf83b263f22ed77a5c726eced5125030607/tipsi_tools-0.13.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.13.2": [ { "comment_text": "", "digests": { "md5": "7af93ac0391583fc1c79b2b200a7ebca", "sha256": "cb4667f76dbf8a7f07b554d2d860658612be09e6fbabc012f8be8cb1d6bf3953" }, "downloads": -1, "filename": "tipsi_tools-0.13.2.tar.gz", "has_sig": false, "md5_digest": "7af93ac0391583fc1c79b2b200a7ebca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6732, "upload_time": "2016-10-11T18:07:11", "upload_time_iso_8601": "2016-10-11T18:07:11.233772Z", "url": "https://files.pythonhosted.org/packages/1c/3f/4eddd0d4c7e0a0a6ccf296d51d4173b3664de4c5664e93c90e843c4c17e8/tipsi_tools-0.13.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.13.3": [ { "comment_text": "", "digests": { "md5": "c3c656bf84b77bbb350e13204b8e01df", "sha256": "e32f4411eeb676ce25142bec220a18844e602b827b3cce6cbc49867be5d84383" }, "downloads": -1, "filename": "tipsi_tools-0.13.3.tar.gz", "has_sig": false, "md5_digest": "c3c656bf84b77bbb350e13204b8e01df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6737, "upload_time": "2016-10-11T18:10:07", "upload_time_iso_8601": "2016-10-11T18:10:07.119116Z", "url": "https://files.pythonhosted.org/packages/11/da/b259ca48b0120f78b86d39db38f7e3fafe1459b45ee3ae5535599c2713dd/tipsi_tools-0.13.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.13.4": [ { "comment_text": "", "digests": { "md5": "62a22855993f0c578cda4f5a40b898ba", "sha256": "ea4595ac45dbbac44eca8fc6caceba77b21171197bf446fa8a0535855910eb3c" }, "downloads": -1, "filename": "tipsi_tools-0.13.4.tar.gz", "has_sig": false, "md5_digest": "62a22855993f0c578cda4f5a40b898ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6736, "upload_time": "2016-10-11T18:15:37", "upload_time_iso_8601": "2016-10-11T18:15:37.378285Z", "url": "https://files.pythonhosted.org/packages/46/20/650258a44f67999620119f324a72833986625d7a56f3ef461996284b8b6c/tipsi_tools-0.13.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "82a1457f116e49a799e9f2d93265ee7d", "sha256": "0855454e0e961fa90d5f29f23ba7046d42f1bba3d7d3e0baa45477c7f8e5a355" }, "downloads": -1, "filename": "tipsi_tools-0.14.0.tar.gz", "has_sig": false, "md5_digest": "82a1457f116e49a799e9f2d93265ee7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10843, "upload_time": "2016-10-19T13:34:44", "upload_time_iso_8601": "2016-10-19T13:34:44.852822Z", "url": "https://files.pythonhosted.org/packages/32/e7/f31738dacb086841769dff690fe52700f59194d6f8c7f342aca0ee6ad614/tipsi_tools-0.14.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.14.1": [ { "comment_text": "", "digests": { "md5": "47bb80b95d17b48f5accc8f800cf9c47", "sha256": "eae9c42d54bc0aafaff11784d6a530dc41ca6b047817a58dba2c8651eadf72f4" }, "downloads": -1, "filename": "tipsi_tools-0.14.1.tar.gz", "has_sig": false, "md5_digest": "47bb80b95d17b48f5accc8f800cf9c47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10847, "upload_time": "2016-10-24T09:56:20", "upload_time_iso_8601": "2016-10-24T09:56:20.418731Z", "url": "https://files.pythonhosted.org/packages/26/d2/f9925c2d2f100f6625fdd05706c36a82f72610f3dd18b10898127a94d19a/tipsi_tools-0.14.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.14.2": [ { "comment_text": "", "digests": { "md5": "b6c28656ad89b2c052adf1febde42b8c", "sha256": "7d4129233328e43b5189e96e27089fb737eaf2fab26fe0beb687085ac5f1ede0" }, "downloads": -1, "filename": "tipsi_tools-0.14.2.tar.gz", "has_sig": false, "md5_digest": "b6c28656ad89b2c052adf1febde42b8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10880, "upload_time": "2016-10-24T10:03:09", "upload_time_iso_8601": "2016-10-24T10:03:09.275759Z", "url": "https://files.pythonhosted.org/packages/a9/b7/f7402436bddb9d1c747f01fa638ee0ba45d4e28c51290a9e66f3eea51e08/tipsi_tools-0.14.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.14.3": [ { "comment_text": "", "digests": { "md5": "b451922517d3fa76a8b5d0816731103a", "sha256": "3033d68a59eca7c56ca0dd2e9357f3b985fa8ab0c59b3036b6b423d35bb98713" }, "downloads": -1, "filename": "tipsi_tools-0.14.3.tar.gz", "has_sig": false, "md5_digest": "b451922517d3fa76a8b5d0816731103a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10875, "upload_time": "2016-10-24T10:26:43", "upload_time_iso_8601": "2016-10-24T10:26:43.951071Z", "url": "https://files.pythonhosted.org/packages/6e/b6/0601099d2cf6a684edfae45f0b78a6a130b6876b2465f05bf0d0d871ee01/tipsi_tools-0.14.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "138654c9e682c2f2e871e2186c5d32c3", "sha256": "ab0b38c953932c3fd2d5764ff5437938dfc4177fd5a25becebdec89eee43bef4" }, "downloads": -1, "filename": "tipsi_tools-0.15.0.tar.gz", "has_sig": false, "md5_digest": "138654c9e682c2f2e871e2186c5d32c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11220, "upload_time": "2016-10-28T15:41:20", "upload_time_iso_8601": "2016-10-28T15:41:20.081673Z", "url": "https://files.pythonhosted.org/packages/96/fd/db10c2434ce0a0fc53c387332f817e9e12ba83bf4d64a43bc33acf992563/tipsi_tools-0.15.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.17.0": [ { "comment_text": "", "digests": { "md5": "1d68ec7ba789af3c0aebe481fd8f292e", "sha256": "1ecd586e141aa12fe542c2efce732ee01c78ad5dce14d95cba775edc370b2fb4" }, "downloads": -1, "filename": "tipsi_tools-0.17.0.tar.gz", "has_sig": false, "md5_digest": "1d68ec7ba789af3c0aebe481fd8f292e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11936, "upload_time": "2017-03-27T10:41:32", "upload_time_iso_8601": "2017-03-27T10:41:32.576412Z", "url": "https://files.pythonhosted.org/packages/14/72/c9c11d8576bc0ff1d29b1ff166c380cd366248e403c2b776594bd0595769/tipsi_tools-0.17.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.18.0": [ { "comment_text": "", "digests": { "md5": "2b6c46c9fc48e793a8323bd4f965b4c6", "sha256": "94f9a3be2838de072defaeb1c2d1382d6c3714ae96ac8b3cb939edfe7399ffb9" }, "downloads": -1, "filename": "tipsi_tools-0.18.0.tar.gz", "has_sig": false, "md5_digest": "2b6c46c9fc48e793a8323bd4f965b4c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11929, "upload_time": "2017-03-27T10:41:48", "upload_time_iso_8601": "2017-03-27T10:41:48.811321Z", "url": "https://files.pythonhosted.org/packages/b6/00/fbe583576c2ab81f18470f524783b03a075ca908d771fbfb572fee1423e2/tipsi_tools-0.18.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.18.1": [ { "comment_text": "", "digests": { "md5": "0d1c5ce18c664eae6c3e6017b66867a9", "sha256": "197e2337e506b2d626608c0d900703e292216437dd321ab06a6c6a7960ca2e1a" }, "downloads": -1, "filename": "tipsi_tools-0.18.1.tar.gz", "has_sig": false, "md5_digest": "0d1c5ce18c664eae6c3e6017b66867a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11936, "upload_time": "2017-03-31T09:23:57", "upload_time_iso_8601": "2017-03-31T09:23:57.014704Z", "url": "https://files.pythonhosted.org/packages/74/e6/4860ee8427ae65c9fa2e0e0edcb46e3dd4aa3f09784c89105071292709eb/tipsi_tools-0.18.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.18.2": [ { "comment_text": "", "digests": { "md5": "d5bca62c6ad005671e831a71ef88650f", "sha256": "e92c274f0d21026a3436ab7fbea4e94b2d6b1d10c794d3d135ac61320b325006" }, "downloads": -1, "filename": "tipsi_tools-0.18.2.tar.gz", "has_sig": false, "md5_digest": "d5bca62c6ad005671e831a71ef88650f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11999, "upload_time": "2017-04-05T18:34:01", "upload_time_iso_8601": "2017-04-05T18:34:01.805611Z", "url": "https://files.pythonhosted.org/packages/72/f6/02eea2d59cb9ee55503cf54cc786e1d15e87d6458ceaf99149693e21b80c/tipsi_tools-0.18.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.19.0": [ { "comment_text": "", "digests": { "md5": "ed6ec00121ac2015327ffb556caae3f8", "sha256": "e8216d67980801bc0221bb54ebf318340453cb6f5b3b4609bd9dc80d3fbe78a0" }, "downloads": -1, "filename": "tipsi_tools-0.19.0.tar.gz", "has_sig": false, "md5_digest": "ed6ec00121ac2015327ffb556caae3f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12854, "upload_time": "2017-05-30T17:52:10", "upload_time_iso_8601": "2017-05-30T17:52:10.546027Z", "url": "https://files.pythonhosted.org/packages/12/d0/cb9edd8bd63d4e2205ef02b9b54dfd5019d1c6322b6a3a5a71ccbc7254e5/tipsi_tools-0.19.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "d3666fe347bc9cc44abb8f2a05dc09ec", "sha256": "c90a761d512ce15c8c67af8f6199626a31521721ff5ce25cc542fd557acb937c" }, "downloads": -1, "filename": "tipsi_tools-0.9.0.tar.gz", "has_sig": false, "md5_digest": "d3666fe347bc9cc44abb8f2a05dc09ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4700, "upload_time": "2016-09-30T14:15:36", "upload_time_iso_8601": "2016-09-30T14:15:36.497213Z", "url": "https://files.pythonhosted.org/packages/21/cb/dad1d48856f3ba130251e8955d5899af7ee98a0290d3651edab4b98aeb05/tipsi_tools-0.9.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "734bc4af9d5d889e6e0e3d07ec2774d6", "sha256": "e4dead251bf366e7545abe61ba7eb0f23c345fb70ac859041c2e77fd6c80041c" }, "downloads": -1, "filename": "tipsi_tools-1.0.0-py3.6.egg", "has_sig": false, "md5_digest": "734bc4af9d5d889e6e0e3d07ec2774d6", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 72539, "upload_time": "2017-11-18T13:28:49", "upload_time_iso_8601": "2017-11-18T13:28:49.614741Z", "url": "https://files.pythonhosted.org/packages/b7/17/14e256c251b5547d003edcab90f7999fc003aeec98744afea012286af8b0/tipsi_tools-1.0.0-py3.6.egg", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c0bd989d69dc818bcc3933239c890428", "sha256": "c178456b266ab5a55ee75d1c3c1b8602aadc1d1c7701ae4df9ce680456ce3159" }, "downloads": -1, "filename": "tipsi_tools-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c0bd989d69dc818bcc3933239c890428", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12845, "upload_time": "2017-06-27T12:43:37", "upload_time_iso_8601": "2017-06-27T12:43:37.052907Z", "url": "https://files.pythonhosted.org/packages/aa/ea/a8b1e36ca63be9cc1d46e27e495a86f79a8dd94e494423fd8cb77d295b81/tipsi_tools-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "b9b57829a542c9dca0c8813b5694b976", "sha256": "90e23136db13e54da41a5f6740022dfb796f101e020c61013166750564187245" }, "downloads": -1, "filename": "tipsi_tools-1.1.0.tar.gz", "has_sig": false, "md5_digest": "b9b57829a542c9dca0c8813b5694b976", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13104, "upload_time": "2017-06-29T14:22:02", "upload_time_iso_8601": "2017-06-29T14:22:02.154490Z", "url": "https://files.pythonhosted.org/packages/30/3d/20f6c35f7d4fdee709085e6437fff34dcbae36ebdc6745364d6a7cccf784/tipsi_tools-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.10.0": [ { "comment_text": "", "digests": { "md5": "a0d9c1a5dca8137579ed5b7184a4c62e", "sha256": "26b239173570710462213c2edce1516c9ff7e2165f499c35ca41c383f599175c" }, "downloads": -1, "filename": "tipsi_tools-1.10.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a0d9c1a5dca8137579ed5b7184a4c62e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17963, "upload_time": "2017-11-18T13:30:07", "upload_time_iso_8601": "2017-11-18T13:30:07.947263Z", "url": "https://files.pythonhosted.org/packages/eb/77/661af348cb9ef9c14d3ef1272bd594e9a71bde3041aba619cb58e00bcb9d/tipsi_tools-1.10.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "78b60c804fc9d92c257a7e1f4fd2416b", "sha256": "7b4e31396f45d9c43dda67531f03bafbfee36552a3adda1085d6415b0bc34ca5" }, "downloads": -1, "filename": "tipsi_tools-1.10.0.tar.gz", "has_sig": false, "md5_digest": "78b60c804fc9d92c257a7e1f4fd2416b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19055, "upload_time": "2017-11-18T13:28:34", "upload_time_iso_8601": "2017-11-18T13:28:34.889165Z", "url": "https://files.pythonhosted.org/packages/8f/2a/c623a6f9666118c70987ab0a6a3f869dc336efb99e5f97bdd8d6b82e6e88/tipsi_tools-1.10.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.11.0": [ { "comment_text": "", "digests": { "md5": "32d50e79d53a5f6e875acd83f5dd75ab", "sha256": "65828edb4bbacbe059b2ee6a002bbe35216e10d63631118551160a7edc496de9" }, "downloads": -1, "filename": "tipsi_tools-1.11.0.tar.gz", "has_sig": false, "md5_digest": "32d50e79d53a5f6e875acd83f5dd75ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15064, "upload_time": "2017-11-26T16:40:56", "upload_time_iso_8601": "2017-11-26T16:40:56.133347Z", "url": "https://files.pythonhosted.org/packages/66/f0/63a0c68ec07c85a0b0fe8eca815a840bf17154cb810177f7cd0bc60815af/tipsi_tools-1.11.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.12.0": [ { "comment_text": "", "digests": { "md5": "f5fa907a2252688226628795e46e929e", "sha256": "ab323e692802617ba4ba7489f2262890f665d1bf8dbc01b0a4fc24c5a26b1aad" }, "downloads": -1, "filename": "tipsi_tools-1.12.0.tar.gz", "has_sig": false, "md5_digest": "f5fa907a2252688226628795e46e929e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15143, "upload_time": "2017-12-04T10:57:33", "upload_time_iso_8601": "2017-12-04T10:57:33.098541Z", "url": "https://files.pythonhosted.org/packages/3b/27/bdee0268043d816a58441f89cf8d447027d8924671e39814d3a4ef7669bd/tipsi_tools-1.12.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.13.0": [ { "comment_text": "", "digests": { "md5": "943457bc0109fce1eac5455fee85e84f", "sha256": "f2b9d27d50cc958c43cb91ed30ee2b9663fa5ae0a583d27b29c1a89cf12ac858" }, "downloads": -1, "filename": "tipsi_tools-1.13.0.tar.gz", "has_sig": false, "md5_digest": "943457bc0109fce1eac5455fee85e84f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15219, "upload_time": "2017-12-15T09:16:22", "upload_time_iso_8601": "2017-12-15T09:16:22.702949Z", "url": "https://files.pythonhosted.org/packages/81/9d/91736efd1f6179e92a29179dd08015357ddf22dff003871f1919a3d7f9fc/tipsi_tools-1.13.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.14.0": [ { "comment_text": "", "digests": { "md5": "d4d29479403d86138c782f2392dbc02e", "sha256": "095d21a51bfbdbf4aee8086a649b18310e2ea17e8ee86aec8c75310877e722d8" }, "downloads": -1, "filename": "tipsi_tools-1.14.0.tar.gz", "has_sig": false, "md5_digest": "d4d29479403d86138c782f2392dbc02e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15579, "upload_time": "2017-12-19T20:12:09", "upload_time_iso_8601": "2017-12-19T20:12:09.520575Z", "url": "https://files.pythonhosted.org/packages/48/10/56283042eee463eafc876bf37c753c3bf8e5c982a567e8884cc3d643045a/tipsi_tools-1.14.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.15.0": [ { "comment_text": "", "digests": { "md5": "6b750bb863dccb4d69ca62e84bfff63c", "sha256": "3657cea8731f4a345e88c0c4c8a0fee3b5056ba756da1621299b75e1e52c4417" }, "downloads": -1, "filename": "tipsi_tools-1.15.0.tar.gz", "has_sig": false, "md5_digest": "6b750bb863dccb4d69ca62e84bfff63c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15584, "upload_time": "2018-01-05T13:07:09", "upload_time_iso_8601": "2018-01-05T13:07:09.291040Z", "url": "https://files.pythonhosted.org/packages/7f/ab/db34df32d9792e7effb5de12193d37ecc0f6cb45698d62f06beff50a0710/tipsi_tools-1.15.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.16.0": [ { "comment_text": "", "digests": { "md5": "fa44fd34937ad25be2b525b717785352", "sha256": "6da03b21f3ec9d4a3bbb6b23e511ff628ef7d2751e56260cac695db98b40eb22" }, "downloads": -1, "filename": "tipsi_tools-1.16.0.tar.gz", "has_sig": false, "md5_digest": "fa44fd34937ad25be2b525b717785352", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19786, "upload_time": "2018-01-08T15:26:45", "upload_time_iso_8601": "2018-01-08T15:26:45.935284Z", "url": "https://files.pythonhosted.org/packages/49/45/9972ebc52a45a2cdaaa39522a1d4f8c2f4ed2fdd6c245264816b0e6891cc/tipsi_tools-1.16.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.17.0": [ { "comment_text": "", "digests": { "md5": "4ac7349d6520ea73bb89e28594b3c289", "sha256": "d926c938aeb1bb10161cf6edc8b8095eb4303d08c43c572b4fcc688a22a563ab" }, "downloads": -1, "filename": "tipsi_tools-1.17.0.tar.gz", "has_sig": false, "md5_digest": "4ac7349d6520ea73bb89e28594b3c289", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19855, "upload_time": "2018-01-10T20:00:39", "upload_time_iso_8601": "2018-01-10T20:00:39.608090Z", "url": "https://files.pythonhosted.org/packages/80/fa/d06ebd3290c7a9b566eb233273e5c324761043b0c0610f6b13acde5713ab/tipsi_tools-1.17.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.18.0": [ { "comment_text": "", "digests": { "md5": "a75172fa964dc2cc6fb3d018e97e1715", "sha256": "0b41fd6c4ee10adc5d6cd98eed4cf3b05b208885a93574cf15dbed3ee9283eb9" }, "downloads": -1, "filename": "tipsi_tools-1.18.0.tar.gz", "has_sig": false, "md5_digest": "a75172fa964dc2cc6fb3d018e97e1715", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20116, "upload_time": "2018-01-26T08:09:39", "upload_time_iso_8601": "2018-01-26T08:09:39.872134Z", "url": "https://files.pythonhosted.org/packages/f9/85/c58d54983872b19c8593cdc6279e62e4c25e1038b4dbacd5ed233b3dee37/tipsi_tools-1.18.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.18.1": [ { "comment_text": "", "digests": { "md5": "01d1f8e21affc11c31c98445df057b99", "sha256": "702ff3ce202199d8c1ea81cfcd6b9ccee0401c4f7c43444212a24aad2ff4bee7" }, "downloads": -1, "filename": "tipsi_tools-1.18.1.tar.gz", "has_sig": false, "md5_digest": "01d1f8e21affc11c31c98445df057b99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20108, "upload_time": "2018-01-26T08:31:04", "upload_time_iso_8601": "2018-01-26T08:31:04.998977Z", "url": "https://files.pythonhosted.org/packages/4e/e0/0ff31ad88039ec416020d11c294fabf92eeadb71a2bb874712ad2e5e62a7/tipsi_tools-1.18.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.19.0": [ { "comment_text": "", "digests": { "md5": "0d2293f5dad244efb6828b96b5ce3960", "sha256": "2d6eea74873eaa26dced6eb5f1160b9215b631dc142035932ed6a0bdb6db7967" }, "downloads": -1, "filename": "tipsi_tools-1.19.0.tar.gz", "has_sig": false, "md5_digest": "0d2293f5dad244efb6828b96b5ce3960", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20918, "upload_time": "2018-01-30T21:11:33", "upload_time_iso_8601": "2018-01-30T21:11:33.511340Z", "url": "https://files.pythonhosted.org/packages/7f/80/14b6828b8e35ad92f682ce591cccd5c44c31025898f9842c32e19bb2e716/tipsi_tools-1.19.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "7e6f2343e33cd57bf5fd5ae665ff7c75", "sha256": "6081a2857d48daec6837b15f201c47a15ff1482e8b8e83868fd376c5a7e5b693" }, "downloads": -1, "filename": "tipsi_tools-1.2.0.tar.gz", "has_sig": false, "md5_digest": "7e6f2343e33cd57bf5fd5ae665ff7c75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14161, "upload_time": "2017-06-30T12:37:50", "upload_time_iso_8601": "2017-06-30T12:37:50.999530Z", "url": "https://files.pythonhosted.org/packages/04/06/f46b7c4da4cb12eda2abc77907db01064aa068bbcb6d23d52fad8ea1cce6/tipsi_tools-1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.20.0": [ { "comment_text": "", "digests": { "md5": "55b0978b540bf6db2c66156450400fcc", "sha256": "c897ad29c2474b3b9d7e81e07f92ee04f8cf5a2325fc8b644cda6e16bf501ece" }, "downloads": -1, "filename": "tipsi_tools-1.20.0.tar.gz", "has_sig": false, "md5_digest": "55b0978b540bf6db2c66156450400fcc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21321, "upload_time": "2018-02-08T21:48:26", "upload_time_iso_8601": "2018-02-08T21:48:26.775607Z", "url": "https://files.pythonhosted.org/packages/9e/cf/ed3cb3fda531cee22d1b2f66dbf177345d447409a43cb0d30bce2ea19dc2/tipsi_tools-1.20.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.21.0": [ { "comment_text": "", "digests": { "md5": "052e6ceb3c9c52d1e2e9f6e7e55e42fe", "sha256": "a1b1a62c1d4a895ffe5dab70f73e600f7f927e88a827a7d63c18247d06155151" }, "downloads": -1, "filename": "tipsi_tools-1.21.0.tar.gz", "has_sig": false, "md5_digest": "052e6ceb3c9c52d1e2e9f6e7e55e42fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21346, "upload_time": "2018-02-09T09:16:31", "upload_time_iso_8601": "2018-02-09T09:16:31.492727Z", "url": "https://files.pythonhosted.org/packages/c8/eb/aaca9da3848cce60a0ca3a7c8f81e2315a0069f410b6fa8ee1244e0fbc0a/tipsi_tools-1.21.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.21.1": [ { "comment_text": "", "digests": { "md5": "ea5aec54fce39a6a0a5cf582fe1bd0f7", "sha256": "418db680c0c41eb800f365f3520f0e93efc7db766f0fce5b35cd2c078db38396" }, "downloads": -1, "filename": "tipsi_tools-1.21.1.tar.gz", "has_sig": false, "md5_digest": "ea5aec54fce39a6a0a5cf582fe1bd0f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21346, "upload_time": "2018-02-09T10:47:29", "upload_time_iso_8601": "2018-02-09T10:47:29.281573Z", "url": "https://files.pythonhosted.org/packages/a1/ce/d1b2f9f0ecdf3c370de5ea851eb7e8a05d49fae39f10262f428738f9ddce/tipsi_tools-1.21.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.22.0": [ { "comment_text": "", "digests": { "md5": "3110222053829addf4a74d831bacf871", "sha256": "27167e37c46c0a720a813aeb01e8390d18e6fb39a776985f0e3e3eb6202a8a89" }, "downloads": -1, "filename": "tipsi_tools-1.22.0.tar.gz", "has_sig": false, "md5_digest": "3110222053829addf4a74d831bacf871", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21476, "upload_time": "2018-02-15T08:54:04", "upload_time_iso_8601": "2018-02-15T08:54:04.066950Z", "url": "https://files.pythonhosted.org/packages/a3/e6/49906f7c1a8664804066f1be4114a966624cbbe5649ae67e7560344347f9/tipsi_tools-1.22.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.23.0": [ { "comment_text": "", "digests": { "md5": "8461b8768802cfd5bfb34a94b503ded4", "sha256": "84ad2a76dc3056dba5e5d04c2ca3b19a89b234bdb5d65ae66119f4d095c7bbd4" }, "downloads": -1, "filename": "tipsi_tools-1.23.0.tar.gz", "has_sig": false, "md5_digest": "8461b8768802cfd5bfb34a94b503ded4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21600, "upload_time": "2018-02-18T10:42:41", "upload_time_iso_8601": "2018-02-18T10:42:41.606187Z", "url": "https://files.pythonhosted.org/packages/78/89/7b5496387e5a7794da2fa77e2127a254454e22cca2cadf18217fcdfe574a/tipsi_tools-1.23.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.24.0": [ { "comment_text": "", "digests": { "md5": "f3a9a8f22468a8b5002d6784d6e07448", "sha256": "808e041588abedec7ad4b8ab2a891959edf31ce46c43bbd7d8f72c427f090f62" }, "downloads": -1, "filename": "tipsi_tools-1.24.0.tar.gz", "has_sig": false, "md5_digest": "f3a9a8f22468a8b5002d6784d6e07448", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21607, "upload_time": "2018-02-19T08:20:02", "upload_time_iso_8601": "2018-02-19T08:20:02.789160Z", "url": "https://files.pythonhosted.org/packages/33/3b/fba76c871c79974594868bcd06b74ebc3ddefca91b38f7c8d4e6065490c4/tipsi_tools-1.24.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.25.0": [ { "comment_text": "", "digests": { "md5": "f1c4c0e8897da075719ae130bffaad4b", "sha256": "b0b476eadb9e618d7be8ebc64098fceb5be4ddc5935273306abed600b926a7a3" }, "downloads": -1, "filename": "tipsi_tools-1.25.0.tar.gz", "has_sig": false, "md5_digest": "f1c4c0e8897da075719ae130bffaad4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21655, "upload_time": "2018-02-20T12:10:30", "upload_time_iso_8601": "2018-02-20T12:10:30.737844Z", "url": "https://files.pythonhosted.org/packages/1a/2d/3e203453ba420a61016f40c06141c44d7130ef30e0db96920323c19e0026/tipsi_tools-1.25.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.26.0": [ { "comment_text": "", "digests": { "md5": "7dc5000da02d7cc21c840feadcdca3cb", "sha256": "3dc69bf9e66ea769a971146a17e4456dfc2d153b6fbc2bc743124876c60afd02" }, "downloads": -1, "filename": "tipsi_tools-1.26.0.tar.gz", "has_sig": false, "md5_digest": "7dc5000da02d7cc21c840feadcdca3cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21665, "upload_time": "2018-02-20T15:44:32", "upload_time_iso_8601": "2018-02-20T15:44:32.146522Z", "url": "https://files.pythonhosted.org/packages/a8/2b/f242f78e73f7d94b2427a7f49336a1db29acf96bdd09c071cc634a89d8cc/tipsi_tools-1.26.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.27.0": [ { "comment_text": "", "digests": { "md5": "02a02fde825bf723a4a8dff977b85a7a", "sha256": "f542675243ac1ae44aff98fa6412fc02b5b1fade89a28f8e597c5ded1b986b41" }, "downloads": -1, "filename": "tipsi_tools-1.27.0.tar.gz", "has_sig": false, "md5_digest": "02a02fde825bf723a4a8dff977b85a7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22682, "upload_time": "2018-03-02T15:18:56", "upload_time_iso_8601": "2018-03-02T15:18:56.682402Z", "url": "https://files.pythonhosted.org/packages/e1/54/863cdd0042cc1a3db8c3f966f71b933c3ebf5a667f8dbf9882befeee5475/tipsi_tools-1.27.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.28.0": [ { "comment_text": "", "digests": { "md5": "ef4d0a1f9cbd83e61c75b863d3c7a5dc", "sha256": "e9e2fb10ef693896796a671ea0bb40b3211fe0b25b6ffeb5b5af9ebba2fdb16b" }, "downloads": -1, "filename": "tipsi_tools-1.28.0.tar.gz", "has_sig": false, "md5_digest": "ef4d0a1f9cbd83e61c75b863d3c7a5dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23517, "upload_time": "2018-03-06T13:27:39", "upload_time_iso_8601": "2018-03-06T13:27:39.442594Z", "url": "https://files.pythonhosted.org/packages/27/e7/ab4fb3965dba878bc38b747572769bf1855aacd0d36fe244d7d78d97bb91/tipsi_tools-1.28.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.28.1": [ { "comment_text": "", "digests": { "md5": "02577fd9c3b98285b28c65b89e8d5cb9", "sha256": "c61d2c6f8bbe70c7d2075cb638a23b560cc7ac1e8a5a18cb167d749092a67b89" }, "downloads": -1, "filename": "tipsi_tools-1.28.1.tar.gz", "has_sig": false, "md5_digest": "02577fd9c3b98285b28c65b89e8d5cb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23602, "upload_time": "2018-03-07T13:38:52", "upload_time_iso_8601": "2018-03-07T13:38:52.992345Z", "url": "https://files.pythonhosted.org/packages/05/57/53ad0774a791dd8a4ec05555ddb6b0e520f6f88d3e7d02a524d16f97f24c/tipsi_tools-1.28.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.28.2": [ { "comment_text": "", "digests": { "md5": "e359697a1105e23dc3b581713ea2492e", "sha256": "80ab99f0faf427dad390338f601b8e6cf13a46cbeaa40d23c9cb889933ad258b" }, "downloads": -1, "filename": "tipsi_tools-1.28.2.tar.gz", "has_sig": false, "md5_digest": "e359697a1105e23dc3b581713ea2492e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23415, "upload_time": "2018-03-26T07:38:19", "upload_time_iso_8601": "2018-03-26T07:38:19.200150Z", "url": "https://files.pythonhosted.org/packages/83/32/b787275c27fc29a0d7d0e1726cc1436f2ce4db3a93fa84e0f398a73a9f3a/tipsi_tools-1.28.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.28.3": [ { "comment_text": "", "digests": { "md5": "f0856c673aebb3a1aa7c4937be4d6728", "sha256": "b142f56b5a63b151f7ffa3461fcc47f7bc6741d79a79ebdbd66a409fc37f7b86" }, "downloads": -1, "filename": "tipsi_tools-1.28.3.tar.gz", "has_sig": false, "md5_digest": "f0856c673aebb3a1aa7c4937be4d6728", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23425, "upload_time": "2018-03-27T11:43:19", "upload_time_iso_8601": "2018-03-27T11:43:19.535973Z", "url": "https://files.pythonhosted.org/packages/0a/f3/8ae2d8aea2ff2ef8dbadcf0f719b3ed8b4ce3c6d830935dfedc2ea1dd5db/tipsi_tools-1.28.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.29.0": [ { "comment_text": "", "digests": { "md5": "479523e4cbca7e40acfe9f1ed216160b", "sha256": "882f1b36ad87927d69ce18737f907a1620f78590270b2fbfe0836df303acdff6" }, "downloads": -1, "filename": "tipsi_tools-1.29.0.tar.gz", "has_sig": false, "md5_digest": "479523e4cbca7e40acfe9f1ed216160b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23535, "upload_time": "2018-04-06T20:48:12", "upload_time_iso_8601": "2018-04-06T20:48:12.410755Z", "url": "https://files.pythonhosted.org/packages/a3/c0/867c59512e3a7fd4f83cefb1703da97b93451b0d147dd03f6cb8ffc7b49a/tipsi_tools-1.29.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "57b0c00646c4dffac58a433f3b6f177e", "sha256": "5395d66a5e5beff149a72787cee2a15e941c8d88e4bd32c06457875bea313227" }, "downloads": -1, "filename": "tipsi_tools-1.3.0.tar.gz", "has_sig": false, "md5_digest": "57b0c00646c4dffac58a433f3b6f177e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14338, "upload_time": "2017-07-19T18:46:39", "upload_time_iso_8601": "2017-07-19T18:46:39.208047Z", "url": "https://files.pythonhosted.org/packages/91/f5/49be4a658080119e21dbdb0b111e514d329d681594f78edd6c55327ff48e/tipsi_tools-1.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.30.0": [ { "comment_text": "", "digests": { "md5": "8943ef5bc2805ab84eff844ed37d7f8f", "sha256": "f51954666e9dbe56f50729c5262fb25f87c4f315ea7bc236eab7227ecb7e2aec" }, "downloads": -1, "filename": "tipsi_tools-1.30.0.tar.gz", "has_sig": false, "md5_digest": "8943ef5bc2805ab84eff844ed37d7f8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23592, "upload_time": "2018-04-30T16:14:49", "upload_time_iso_8601": "2018-04-30T16:14:49.214070Z", "url": "https://files.pythonhosted.org/packages/09/38/8dafaa7a1d92b576ba25a961d91b488496e2c5a1927a45ec234e3da0e27c/tipsi_tools-1.30.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.31.0": [ { "comment_text": "", "digests": { "md5": "ad4d1a3aa1f8e929740e7636a7fb1e17", "sha256": "58e192edcbc0882d3a5ed6b70414b56ce50f4f334bd2ee6b420a5e8a4d335329" }, "downloads": -1, "filename": "tipsi_tools-1.31.0.tar.gz", "has_sig": false, "md5_digest": "ad4d1a3aa1f8e929740e7636a7fb1e17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23585, "upload_time": "2018-04-30T16:41:41", "upload_time_iso_8601": "2018-04-30T16:41:41.491937Z", "url": "https://files.pythonhosted.org/packages/e3/55/dda1990962bd064897009bbda0b2a98e051c2c837045b37825bcfc6d511d/tipsi_tools-1.31.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.32.0": [ { "comment_text": "", "digests": { "md5": "3bb30adbfed4c2349ef39e5495c9e58f", "sha256": "bd329b1dea40480c45c70a8dc3f686da64cd0edf77f9a1b04182e7d14268682b" }, "downloads": -1, "filename": "tipsi_tools-1.32.0.tar.gz", "has_sig": false, "md5_digest": "3bb30adbfed4c2349ef39e5495c9e58f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24512, "upload_time": "2018-05-10T20:52:17", "upload_time_iso_8601": "2018-05-10T20:52:17.254009Z", "url": "https://files.pythonhosted.org/packages/e0/57/4325743058f78ad248ed4283db5b95054c420ea3dffbf66f195c26371348/tipsi_tools-1.32.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.33.0": [ { "comment_text": "", "digests": { "md5": "13c24f4c2f22ca719a0cd39e66f138b9", "sha256": "7690b70bcf9c0837e45ca3d5fd6e921cbd5ede7298794fa59192ab3cd7c991e4" }, "downloads": -1, "filename": "tipsi_tools-1.33.0.tar.gz", "has_sig": false, "md5_digest": "13c24f4c2f22ca719a0cd39e66f138b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24530, "upload_time": "2018-06-14T10:21:15", "upload_time_iso_8601": "2018-06-14T10:21:15.302930Z", "url": "https://files.pythonhosted.org/packages/b2/be/b0d0178ebb08983b6b24a331c3a977e2b578766ec26146b796674e318a84/tipsi_tools-1.33.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.34.0": [ { "comment_text": "", "digests": { "md5": "959e4c8cb5630f4e0648bde97c86fb7b", "sha256": "5b40dd5d846a3a5e19f39bd7b2a4b554c8ce86c50b2cf903f596abdafc671475" }, "downloads": -1, "filename": "tipsi_tools-1.34.0.tar.gz", "has_sig": false, "md5_digest": "959e4c8cb5630f4e0648bde97c86fb7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24576, "upload_time": "2018-06-29T12:31:22", "upload_time_iso_8601": "2018-06-29T12:31:22.080957Z", "url": "https://files.pythonhosted.org/packages/ad/20/63a37e2e8d5bafb3fb4f367182fa6e6a858d0a10d4aaf3442e8d185c3819/tipsi_tools-1.34.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.34.1": [ { "comment_text": "", "digests": { "md5": "790d36d2cc9dd026389f8cc115adee3d", "sha256": "053bcaf4d0683ab1715b6ecbe4683cd07f4087607f40801f36e7747a438ecfff" }, "downloads": -1, "filename": "tipsi_tools-1.34.1.tar.gz", "has_sig": false, "md5_digest": "790d36d2cc9dd026389f8cc115adee3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24563, "upload_time": "2018-06-30T13:22:42", "upload_time_iso_8601": "2018-06-30T13:22:42.232415Z", "url": "https://files.pythonhosted.org/packages/49/0d/52842668cb1b6da5eab090bbec5d304af8c278c8d971496bb71195ad2c17/tipsi_tools-1.34.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.35.0": [ { "comment_text": "", "digests": { "md5": "4bef4e0e79d9ad53d1c088737bafdf5f", "sha256": "76742a0bb1f70062b9380bacf918d4c2213166c033ea15c50778e910f0f558e8" }, "downloads": -1, "filename": "tipsi_tools-1.35.0.tar.gz", "has_sig": false, "md5_digest": "4bef4e0e79d9ad53d1c088737bafdf5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24667, "upload_time": "2018-07-21T17:49:27", "upload_time_iso_8601": "2018-07-21T17:49:27.312785Z", "url": "https://files.pythonhosted.org/packages/52/e9/3ab91d663781c0a3ca3ecc978fecc26420510d010b11b8d369e6086444c6/tipsi_tools-1.35.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.36.0": [ { "comment_text": "", "digests": { "md5": "7866577e0557446389f9ecf6c1311d35", "sha256": "724b350e0383bee9866b47f376cd9c9502f8455aa48691d5d131441fed40266b" }, "downloads": -1, "filename": "tipsi_tools-1.36.0.tar.gz", "has_sig": false, "md5_digest": "7866577e0557446389f9ecf6c1311d35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24672, "upload_time": "2018-08-06T15:29:09", "upload_time_iso_8601": "2018-08-06T15:29:09.768868Z", "url": "https://files.pythonhosted.org/packages/15/b9/75890d7a02d6a80c60d7225f6642a75efa9629a9a3073e57688305dbd716/tipsi_tools-1.36.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.37.0": [ { "comment_text": "", "digests": { "md5": "8e759c8f2abb5d71518b01d3b73c9770", "sha256": "953ee14f44894048f83b8d59496833a79ea79c242ef9c019807a4d577e6ee390" }, "downloads": -1, "filename": "tipsi_tools-1.37.0.tar.gz", "has_sig": false, "md5_digest": "8e759c8f2abb5d71518b01d3b73c9770", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24971, "upload_time": "2018-10-29T12:19:59", "upload_time_iso_8601": "2018-10-29T12:19:59.589704Z", "url": "https://files.pythonhosted.org/packages/5e/34/0aa491a2835f1536ddd07daeb9e1e6acc7dd8ebb443c53bc1fd6e6ff677b/tipsi_tools-1.37.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.38.0": [ { "comment_text": "", "digests": { "md5": "fdfc22e8378b333e4d5ad6d788553765", "sha256": "6e8b76f2f9d3d03be21c04c6fef18edcf0b78971bd2f65d3337320fac5291b6c" }, "downloads": -1, "filename": "tipsi_tools-1.38.0.tar.gz", "has_sig": false, "md5_digest": "fdfc22e8378b333e4d5ad6d788553765", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25278, "upload_time": "2018-12-28T22:50:38", "upload_time_iso_8601": "2018-12-28T22:50:38.152081Z", "url": "https://files.pythonhosted.org/packages/b4/af/bb4e1cb31544a2a154345c9369df9bd97bee98064833a174bea0c5dee59b/tipsi_tools-1.38.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.39.0": [ { "comment_text": "", "digests": { "md5": "3c6c2ca1501595ae5aefd801f5dd6322", "sha256": "60a3d70b301d935a449675d76d9ed621af8c3bd4698d7ff8118903df24f2bd90" }, "downloads": -1, "filename": "tipsi_tools-1.39.0.tar.gz", "has_sig": false, "md5_digest": "3c6c2ca1501595ae5aefd801f5dd6322", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32602, "upload_time": "2019-01-28T17:44:12", "upload_time_iso_8601": "2019-01-28T17:44:12.841973Z", "url": "https://files.pythonhosted.org/packages/87/e4/d9ea2db6d9c46b764b702f73a3af6c31f2334e1d5e7005a74bd3c8b80f0f/tipsi_tools-1.39.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.39.1": [ { "comment_text": "", "digests": { "md5": "74a46310a640fd1801f4c5b2db7a2bce", "sha256": "68c3422bc342083ade939cced1fbf5737681f8652a04cbd608a4aa34357a9071" }, "downloads": -1, "filename": "tipsi_tools-1.39.1.tar.gz", "has_sig": false, "md5_digest": "74a46310a640fd1801f4c5b2db7a2bce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28051, "upload_time": "2019-01-29T13:24:14", "upload_time_iso_8601": "2019-01-29T13:24:14.602926Z", "url": "https://files.pythonhosted.org/packages/a6/9a/83ff0ab988b59afc068af6f47a4c4a484655e1534e766f1cd1c610883113/tipsi_tools-1.39.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.39.2": [ { "comment_text": "", "digests": { "md5": "e6f2c5f5b9b36bc27595da798ef32182", "sha256": "7777e8c5602bb8ad6547ad817cd7a233dc357faf3e8a674cc52076df594547bc" }, "downloads": -1, "filename": "tipsi_tools-1.39.2.tar.gz", "has_sig": false, "md5_digest": "e6f2c5f5b9b36bc27595da798ef32182", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32779, "upload_time": "2019-01-29T20:55:29", "upload_time_iso_8601": "2019-01-29T20:55:29.654770Z", "url": "https://files.pythonhosted.org/packages/99/92/13d8328c94512db0e0b55324980f9df5dcfc334eb6bbaa5606e1017e8be7/tipsi_tools-1.39.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "23e2df0507854ba0cefd1067b8247516", "sha256": "b2d6c981785ea4622ed6d7e4abbb15ee8f576fb134a9bf31c22fa7a62d9483bd" }, "downloads": -1, "filename": "tipsi_tools-1.4.0.tar.gz", "has_sig": false, "md5_digest": "23e2df0507854ba0cefd1067b8247516", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14882, "upload_time": "2017-07-24T13:53:55", "upload_time_iso_8601": "2017-07-24T13:53:55.459915Z", "url": "https://files.pythonhosted.org/packages/69/98/e8e27e673a8b8ecc414bd8011529949372e35da3abef990de3ea0e186019/tipsi_tools-1.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.40.0": [ { "comment_text": "", "digests": { "md5": "af3da1ec0c3fc9d9ea5b59f9e90cfca0", "sha256": "ab63050f538b9a43283c0226bb862ccdeae9ceaa5914536abbb78a19e1cff26f" }, "downloads": -1, "filename": "tipsi_tools-1.40.0.tar.gz", "has_sig": false, "md5_digest": "af3da1ec0c3fc9d9ea5b59f9e90cfca0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33390, "upload_time": "2019-01-31T13:13:26", "upload_time_iso_8601": "2019-01-31T13:13:26.548102Z", "url": "https://files.pythonhosted.org/packages/a4/48/e91928eb883e84ad04a4456bb17ae2e2c991ee77e8095c50f92629e4875b/tipsi_tools-1.40.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.40.1": [ { "comment_text": "", "digests": { "md5": "0512b0b6ead8925001cb8b58cc52f3a0", "sha256": "284428b9571043f062b38943eeb48a649ba743309ff0b1d7c2ba9061ebb57006" }, "downloads": -1, "filename": "tipsi_tools-1.40.1.tar.gz", "has_sig": false, "md5_digest": "0512b0b6ead8925001cb8b58cc52f3a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33387, "upload_time": "2019-02-01T09:07:49", "upload_time_iso_8601": "2019-02-01T09:07:49.858347Z", "url": "https://files.pythonhosted.org/packages/11/11/c49f5cfe8fb209653dcd701d2cf0863ec5024ba029728b4503375976834e/tipsi_tools-1.40.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.41.0": [ { "comment_text": "", "digests": { "md5": "99dd948c2197a21a08cd42f5294893c1", "sha256": "cf61f4fede2721c70d4fd59fa7f28b384561687e4b7c5e480227790ff1bf856d" }, "downloads": -1, "filename": "tipsi_tools-1.41.0.tar.gz", "has_sig": false, "md5_digest": "99dd948c2197a21a08cd42f5294893c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33427, "upload_time": "2019-03-27T09:10:41", "upload_time_iso_8601": "2019-03-27T09:10:41.317697Z", "url": "https://files.pythonhosted.org/packages/07/20/d245e5026cff340e2e57319b84435cff4853f308259c508e1a709a46efca/tipsi_tools-1.41.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.42.0": [ { "comment_text": "", "digests": { "md5": "0cc263cd6ac3e5ba2b8d68c8188234ee", "sha256": "38200022d229c2458ce9e8d8288b5aa84718c109f38ff9a36f24deae705bc1c7" }, "downloads": -1, "filename": "tipsi_tools-1.42.0.tar.gz", "has_sig": false, "md5_digest": "0cc263cd6ac3e5ba2b8d68c8188234ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33615, "upload_time": "2019-04-23T12:45:07", "upload_time_iso_8601": "2019-04-23T12:45:07.330330Z", "url": "https://files.pythonhosted.org/packages/99/23/f5b68d76327054e9f8497756ad61a52590367e9b1467ad06d7d713a5c69d/tipsi_tools-1.42.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.43.0": [ { "comment_text": "", "digests": { "md5": "6250fed868e047c1bdbced4c02bc9eee", "sha256": "b66c7b0e01a8cd35cc1b8da53b1249603f0780834ce4191ebc2c14f0a254b865" }, "downloads": -1, "filename": "tipsi_tools-1.43.0.tar.gz", "has_sig": false, "md5_digest": "6250fed868e047c1bdbced4c02bc9eee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33631, "upload_time": "2019-04-25T21:49:28", "upload_time_iso_8601": "2019-04-25T21:49:28.174379Z", "url": "https://files.pythonhosted.org/packages/b1/6b/26d5876df1d04699bed322fecc1782f4fe9be04bb1faf8c6015e2c6d336c/tipsi_tools-1.43.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.43.1": [ { "comment_text": "", "digests": { "md5": "cff9c76f86570cdee38b6540356a9c9b", "sha256": "a5897774b6624b705f3e8dc85be3a6cb0eec8eaf76414f9045cdf3592a9b2560" }, "downloads": -1, "filename": "tipsi_tools-1.43.1.tar.gz", "has_sig": false, "md5_digest": "cff9c76f86570cdee38b6540356a9c9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33639, "upload_time": "2019-04-26T11:01:40", "upload_time_iso_8601": "2019-04-26T11:01:40.189782Z", "url": "https://files.pythonhosted.org/packages/70/a5/d792b5b623adf06b9fe0f6bd15105e2669116c32665b9722be0abe15fa30/tipsi_tools-1.43.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.43.2": [ { "comment_text": "", "digests": { "md5": "f68f6dfc04ddd5c339b72dd5a3ec802b", "sha256": "b2f8d854563cda0367d061e3ec9a722e489aa9c50ddcf2b361e5769b74ac588c" }, "downloads": -1, "filename": "tipsi_tools-1.43.2.tar.gz", "has_sig": false, "md5_digest": "f68f6dfc04ddd5c339b72dd5a3ec802b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33644, "upload_time": "2019-05-06T11:26:24", "upload_time_iso_8601": "2019-05-06T11:26:24.211140Z", "url": "https://files.pythonhosted.org/packages/6c/a8/d2a8e8a8c450e81583694ec916ac2c33a244711e9a8c7849d30699250c38/tipsi_tools-1.43.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.44.0": [ { "comment_text": "", "digests": { "md5": "2bad6fb2e34379f62845174d660a9bd0", "sha256": "5345ff7185c3911a164ceec3b9edd7dd86d825c69a99291688d8b7a9ee534a22" }, "downloads": -1, "filename": "tipsi_tools-1.44.0.tar.gz", "has_sig": false, "md5_digest": "2bad6fb2e34379f62845174d660a9bd0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33725, "upload_time": "2019-06-01T11:35:36", "upload_time_iso_8601": "2019-06-01T11:35:36.747341Z", "url": "https://files.pythonhosted.org/packages/ea/60/2598c74891f886e784a3d6904b7435881b2d4844e602ea2aea5692ab7b5b/tipsi_tools-1.44.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.45.0": [ { "comment_text": "", "digests": { "md5": "a2ace78339a8c6ec8940c0d0954ae8e2", "sha256": "972e2ae00dc3a2cd709c703dbc391bef39c8f0a5a0472b87e9229f56cb413909" }, "downloads": -1, "filename": "tipsi_tools-1.45.0.tar.gz", "has_sig": false, "md5_digest": "a2ace78339a8c6ec8940c0d0954ae8e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33714, "upload_time": "2019-06-03T08:45:34", "upload_time_iso_8601": "2019-06-03T08:45:34.939491Z", "url": "https://files.pythonhosted.org/packages/55/f5/fd8ebf5ffcc07259ee82a0a7c7cc4bb56b6cf0bf4532bfff717d9556dbac/tipsi_tools-1.45.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.46.0": [ { "comment_text": "", "digests": { "md5": "0f35215f6e0df5c79e9a25510b27ae0f", "sha256": "c369f16ea99a556bcf9d3d8935437870eb997c15320122ecfaeec3ff38a1fa21" }, "downloads": -1, "filename": "tipsi_tools-1.46.0.tar.gz", "has_sig": false, "md5_digest": "0f35215f6e0df5c79e9a25510b27ae0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33721, "upload_time": "2019-06-03T12:18:01", "upload_time_iso_8601": "2019-06-03T12:18:01.074378Z", "url": "https://files.pythonhosted.org/packages/5b/b5/4fa3ed71d80c13d0fc557be28b37668de42a120181e49cc9a6d460847178/tipsi_tools-1.46.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.47.0": [ { "comment_text": "", "digests": { "md5": "3912a3fdcfd6e49bbf0f6dcd7bce4a7e", "sha256": "32ec0d9e13ac0f835ee1436c989201134d79933c681ad684b98f1b0b5806295e" }, "downloads": -1, "filename": "tipsi_tools-1.47.0.tar.gz", "has_sig": false, "md5_digest": "3912a3fdcfd6e49bbf0f6dcd7bce4a7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37130, "upload_time": "2019-06-05T12:23:14", "upload_time_iso_8601": "2019-06-05T12:23:14.733738Z", "url": "https://files.pythonhosted.org/packages/bc/de/43d1317c8d90472bbf56ce1d803c376bec2056526db7323282ca728a0480/tipsi_tools-1.47.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.47.1": [ { "comment_text": "", "digests": { "md5": "b8efc20187fe63bf7aa1bf461e4d38d7", "sha256": "c0222a5b0ce251a2a08466488feb38a483348ea9947b7abaed201001d48a1a2f" }, "downloads": -1, "filename": "tipsi_tools-1.47.1.tar.gz", "has_sig": false, "md5_digest": "b8efc20187fe63bf7aa1bf461e4d38d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38403, "upload_time": "2019-06-06T19:21:36", "upload_time_iso_8601": "2019-06-06T19:21:36.141278Z", "url": "https://files.pythonhosted.org/packages/11/7c/a6013e951e9476e1f94b27725d12dfba606f7c9a5b220655534618fa5421/tipsi_tools-1.47.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.48.0": [ { "comment_text": "", "digests": { "md5": "95df6e28eb3017f8ec8aff4ba9700497", "sha256": "88bddf1333e76b35699a60aa4d058e8186b0b939b123f5ecc96e8d05f6369322" }, "downloads": -1, "filename": "tipsi_tools-1.48.0.tar.gz", "has_sig": false, "md5_digest": "95df6e28eb3017f8ec8aff4ba9700497", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38450, "upload_time": "2019-06-07T10:58:13", "upload_time_iso_8601": "2019-06-07T10:58:13.352195Z", "url": "https://files.pythonhosted.org/packages/75/f8/f9813838eb8a6713141bc2b4c7144a1cb097df2dd3d4f5dde2cd93b0c3e3/tipsi_tools-1.48.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.49.0": [ { "comment_text": "", "digests": { "md5": "410729a0ff615c5dc4d558f913508a8e", "sha256": "571ac2cc363c98976f901671b42da3ad5ecf0e6c47879bd2c9ee4d9ae6779b5a" }, "downloads": -1, "filename": "tipsi_tools-1.49.0.tar.gz", "has_sig": false, "md5_digest": "410729a0ff615c5dc4d558f913508a8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38679, "upload_time": "2019-07-07T18:40:59", "upload_time_iso_8601": "2019-07-07T18:40:59.100396Z", "url": "https://files.pythonhosted.org/packages/ab/f1/d50fc6976eb81d2a78ec9cd8f71ebd5cc312efe824b36a32e46fc99c3e78/tipsi_tools-1.49.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "cf5ee4c26b9f966a9cd814cf802a6859", "sha256": "b44e92182c7888e1523983c4bf3639f5f5ccc9a4abbe5acc40055f5cfc7e9707" }, "downloads": -1, "filename": "tipsi_tools-1.5.0.tar.gz", "has_sig": false, "md5_digest": "cf5ee4c26b9f966a9cd814cf802a6859", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18025, "upload_time": "2017-09-13T14:39:39", "upload_time_iso_8601": "2017-09-13T14:39:39.328268Z", "url": "https://files.pythonhosted.org/packages/c3/02/f936dc1cd6fd51a5401324c0e7506542bd33a65a1e089043b61de6d49180/tipsi_tools-1.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.50.0": [ { "comment_text": "", "digests": { "md5": "4bf121e2d448643785546a6917f907f2", "sha256": "c8eb463bead950d1fd3ced48f5587cca0ac80b992b71d4bcf8130ea7521798ae" }, "downloads": -1, "filename": "tipsi_tools-1.50.0.tar.gz", "has_sig": false, "md5_digest": "4bf121e2d448643785546a6917f907f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38683, "upload_time": "2019-07-12T11:17:37", "upload_time_iso_8601": "2019-07-12T11:17:37.890851Z", "url": "https://files.pythonhosted.org/packages/ae/d2/b6030e3d93df4b318b04f20e352af769ab83974991ad400760c46a1ba9a9/tipsi_tools-1.50.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.51.0": [ { "comment_text": "", "digests": { "md5": "a59a5ed7cb40a57c55679a4d7be10200", "sha256": "da5fdde06140d9baef9b941c69e5b5f883f1484b0e61dd1d12ad2f0392078f1b" }, "downloads": -1, "filename": "tipsi_tools-1.51.0.tar.gz", "has_sig": false, "md5_digest": "a59a5ed7cb40a57c55679a4d7be10200", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39180, "upload_time": "2019-09-10T17:37:11", "upload_time_iso_8601": "2019-09-10T17:37:11.556716Z", "url": "https://files.pythonhosted.org/packages/e0/a1/6465dad548883cc8136cd1dcbbc9b1f5b6d5d0857827649a48240a484af2/tipsi_tools-1.51.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.52.0": [ { "comment_text": "", "digests": { "md5": "dff5966ec7fa1f30c31357eca60eb898", "sha256": "1b0179efcf81aaee82fc588ffbd0f270b40c6941c69ef315b1899c441be0e167" }, "downloads": -1, "filename": "tipsi_tools-1.52.0.tar.gz", "has_sig": false, "md5_digest": "dff5966ec7fa1f30c31357eca60eb898", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39272, "upload_time": "2019-09-22T21:43:26", "upload_time_iso_8601": "2019-09-22T21:43:26.315670Z", "url": "https://files.pythonhosted.org/packages/e8/a2/7ab65c95e14d6b78c69ce63b29e8da74d788089c6217ef56bdd0c13bf7bb/tipsi_tools-1.52.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.54.0": [ { "comment_text": "", "digests": { "md5": "29852149ce098b57a2a92a579d04baad", "sha256": "a19afeddc3c9def5a16608e74344817d3b350b176dedc8405d305ec13cd1d34a" }, "downloads": -1, "filename": "tipsi_tools-1.54.0.tar.gz", "has_sig": false, "md5_digest": "29852149ce098b57a2a92a579d04baad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39399, "upload_time": "2019-10-29T06:19:29", "upload_time_iso_8601": "2019-10-29T06:19:29.319351Z", "url": "https://files.pythonhosted.org/packages/11/7c/75ce94bacc8c6937d6ea8828f1fa121be48aa1fbc5c8d60a32a096cf0f2e/tipsi_tools-1.54.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "33cb31063d277600e73c3915410987f9", "sha256": "a0889fdcc779e4fd3eb76394ec79ded2bb27849c84ce24449adc3bf008463169" }, "downloads": -1, "filename": "tipsi_tools-1.6.0.tar.gz", "has_sig": false, "md5_digest": "33cb31063d277600e73c3915410987f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18162, "upload_time": "2017-09-18T07:40:35", "upload_time_iso_8601": "2017-09-18T07:40:35.117669Z", "url": "https://files.pythonhosted.org/packages/fb/8f/90e0672948874012796800b35c639a2ec7c7af445b9747105b41d8535f45/tipsi_tools-1.6.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "7114d37fb40087aef3040754a0647978", "sha256": "99399774e71d44fafe53ec9e024753dde12e479198b8a741fd73a4bc8a80e526" }, "downloads": -1, "filename": "tipsi_tools-1.6.1.tar.gz", "has_sig": false, "md5_digest": "7114d37fb40087aef3040754a0647978", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18165, "upload_time": "2017-09-19T14:45:33", "upload_time_iso_8601": "2017-09-19T14:45:33.588580Z", "url": "https://files.pythonhosted.org/packages/9a/6f/2b8834a2b96103c7cee22cd0dfc0768508f7d6ebab77bdbc2ab7180f9036/tipsi_tools-1.6.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "30635060aa2d6d52dff25d61008801a9", "sha256": "fbaff35e3d5a11983ad8828d780bff639c9c8c84560c15297b3b413337406d82" }, "downloads": -1, "filename": "tipsi_tools-1.7.0.tar.gz", "has_sig": false, "md5_digest": "30635060aa2d6d52dff25d61008801a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17647, "upload_time": "2017-09-29T16:40:37", "upload_time_iso_8601": "2017-09-29T16:40:37.859207Z", "url": "https://files.pythonhosted.org/packages/78/68/4de0edeacebabd9be3facb4fdf4fa4409eada78288e7ce1f25c80556cc90/tipsi_tools-1.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "eb467240716f030d0a83e5fa63e6c8b3", "sha256": "376290cd5f41dad39abb95373db162eaff862943eb379a33ab72aca878b8a911" }, "downloads": -1, "filename": "tipsi_tools-1.8.0.tar.gz", "has_sig": false, "md5_digest": "eb467240716f030d0a83e5fa63e6c8b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18203, "upload_time": "2017-10-19T09:15:29", "upload_time_iso_8601": "2017-10-19T09:15:29.880562Z", "url": "https://files.pythonhosted.org/packages/3b/cf/ee242ca638b32ca9cbb7976779a2684d72e9a9c1f70320d141413380bcfc/tipsi_tools-1.8.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "c09299f97b2907c31591f57f95ce0c54", "sha256": "2eda9825f20d18833db4745e05f096e01d1e78491811d1681bd68fc255d9dc01" }, "downloads": -1, "filename": "tipsi_tools-1.8.1.tar.gz", "has_sig": false, "md5_digest": "c09299f97b2907c31591f57f95ce0c54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18213, "upload_time": "2017-10-25T13:18:20", "upload_time_iso_8601": "2017-10-25T13:18:20.423742Z", "url": "https://files.pythonhosted.org/packages/41/bd/2de72b013d0f1f1e016667fecfffdcca7ce4fa995dc7721110c3e9b2939e/tipsi_tools-1.8.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.9.0": [ { "comment_text": "", "digests": { "md5": "c0dad4c45c13c04c75f9a3c1a214da1b", "sha256": "2539ee1fcb43b9e06f5d0c807be4c26905044fea3aadee68104245c3004e85a0" }, "downloads": -1, "filename": "tipsi_tools-1.9.0.tar.gz", "has_sig": false, "md5_digest": "c0dad4c45c13c04c75f9a3c1a214da1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18835, "upload_time": "2017-10-26T21:25:10", "upload_time_iso_8601": "2017-10-26T21:25:10.870174Z", "url": "https://files.pythonhosted.org/packages/e6/80/bd58f551a866358531ed5b61bbd10b3443914364006f1e9d495d121644c6/tipsi_tools-1.9.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "29852149ce098b57a2a92a579d04baad", "sha256": "a19afeddc3c9def5a16608e74344817d3b350b176dedc8405d305ec13cd1d34a" }, "downloads": -1, "filename": "tipsi_tools-1.54.0.tar.gz", "has_sig": false, "md5_digest": "29852149ce098b57a2a92a579d04baad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39399, "upload_time": "2019-10-29T06:19:29", "upload_time_iso_8601": "2019-10-29T06:19:29.319351Z", "url": "https://files.pythonhosted.org/packages/11/7c/75ce94bacc8c6937d6ea8828f1fa121be48aa1fbc5c8d60a32a096cf0f2e/tipsi_tools-1.54.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }