{ "info": { "author": "Carl Oscar Aaro", "author_email": "hello@carloscar.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "``tomodachi`` - a lightweight microservices library on Python asyncio\n=====================================================================\n A Python 3 microservice library / framework using asyncio (async / await) with\n HTTP, websockets, RabbitMQ / AMQP and AWS SNS+SQS built-in support for event based\n messaging and intra-service communication.\n\n.. image:: https://travis-ci.org/kalaspuff/tomodachi.svg?branch=master\n :target: https://travis-ci.org/kalaspuff/tomodachi\n.. image:: https://img.shields.io/pypi/v/tomodachi.svg\n :target: https://pypi.python.org/pypi/tomodachi\n.. image:: https://codecov.io/gh/kalaspuff/tomodachi/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/kalaspuff/tomodachi\n.. image:: https://img.shields.io/pypi/pyversions/tomodachi.svg\n :target: https://pypi.python.org/pypi/tomodachi\n\nTomodachi is a tiny framework designed to build fast microservices listening on\nHTTP or communicating over event driven message buses like RabbitMQ, AMQP,\nAWS (Amazon Web Services) SNS+SQS, etc. It's designed to be extendable to make\nuse of any type of transport layer available.\n\n*Tomodachi* [**\u53cb\u9054**] *means friends \u2013 a suitable name for microservices working\ntogether.* \ud83d\ude3b \ud83d\udc6c \ud83d\udc6d \ud83d\udc6b \ud83d\ude3b\n\n\nUsage\n-----\n``tomodachi`` is invoked via command line interface.\n\n.. code::\n\n Usage: tomodachi [options] [args]\n\n Options:\n -h, --help show this help message and exit\n -v, --version print tomodachi version\n --dependency-versions print versions of dependencies\n\n Available subcommands:\n run [-c ] [--production]\n -c, --config use json configuration files\n -l, --log specify log level\n --production disable restart on file changes\n\n\n.. image:: https://raw.githubusercontent.com/kalaspuff/tomodachi/master/docs/assets/microservice-in-30-seconds-white.gif\n\n- `Installation <#how-do-i-use-this-simple-install-using-pip>`_\n\n- `Getting started / example services <#getting-started->`_\n\n- `Running microservices in Docker <#example-of-tomodachi-service-containerized-in-docker->`_\n\n- `Defining endpoints <#available-built-ins-used-as-endpoints->`_\n\n - `HTTP endpoints <#http-endpoints>`_\n\n - `AWS SNS+SQS messaging <#aws-snssqs-messaging>`_\n\n - `AMQP / RabbitMQ messaging <#amqp-messaging-rabbitmq>`_\n\n - `Scheduled functions <#scheduled-functions--cron>`_\n\n- `Requirements <#requirements->`_\n\n- `Questions <#any-questions>`_\n\n- `Contributions <#contributions>`_\n\n\n| **Please note: this is a work in progress.**\n\n``tomodachi`` is still a highly experimental project with an unregular release\nschedule.\n\n\nHow do I use this? (simple install using ``pip``)\n-------------------------------------------------\nPreferrably installation should be done via ``pip`` to get the cli alias set\nup automatically. Locally it is recommended to install ``tomodachi`` into a\nvirtualenv to avoid random packages into your base site-packages.\n\n.. code:: bash\n\n local ~$ pip install tomodachi\n\n\nGetting started \ud83c\udfc3\n^^^^^^^^^^^^^^^^^^\n*Start off with* ``import tomodachi`` *and add a class decorated with*\n``@tomodachi.service`` *and/or extended from the* ``tomodachi.Service`` *class.\nName your service class and then just add functions and triggers for how to\ninvoke them, either by HTTP requests, event messages or by timestamps /\nintervals.*\n\n\n\nBasic HTTP based service \ud83c\udf1f\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\n*Code for a simple service which would service data over HTTP.*\n\n.. code:: python\n\n import tomodachi\n\n\n @tomodachi.service\n class Service(tomodachi.Service):\n name = 'example'\n\n # Request paths are specified as regex for full flexibility\n @tomodachi.http('GET', r'/resource/(?P[^/]+?)/?')\n async def resource(self, request, id):\n # Returning a string value normally means 200 OK\n return 'id = {}'.format(id)\n\n @tomodachi.http('GET', r'/health')\n async def health_check(self, request):\n # Return can also be a tuple, dict or even an aiohttp.web.Response\n # object for more complex responses - for example if you need to\n # send byte data, set your own status code or define own headers\n return {\n 'body': 'Healthy',\n 'status': 200\n }\n\n # Specify custom 404 catch-all response\n @tomodachi.http_error(status_code=404)\n async def error_404(self, request):\n return 'error 404'\n\n\nRabbitMQ or AWS SNS/SQS event based messaging service \ud83d\udce1\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n*Example of a service that would invoke a function when messages are published on a topic exchange.*\n\n.. code:: python\n\n import tomodachi\n\n @tomodachi.service\n class Service(tomodachi.Service):\n name = 'example'\n\n # A route / topic on which the service will subscribe to via AMQP (or AWS SNS/SQS)\n @tomodachi.amqp('example.topic')\n async def example_topic_func(self, message):\n # Received message, sending same message as response on another route / topic\n await tomodachi.amqp_publish(self, message, routing_key='example.response')\n\n\nScheduling, inter-communication between services, etc. \u26a1\ufe0f\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nThere are other examples available with examples of how to use services with self-invoking\nmethods called on a specified interval or at specific times / days. Inter-communication\nbetween different services may be established using a pub-sub type with messages over AMQP\nor AWS SNS+SQS which is natively supported.\n\nSee a more comprehensive example involving multiple services publishing and subcribing on\ntopics using AWS SNS+SQS in the\n`pubsub-examples `_ folder.\n\n\nRun the service \ud83d\ude0e\n------------------\n.. code:: bash\n\n \u00a0 # cli alias is set up if installed via pip\n \u00a0 local ~/code/service$ tomodachi run service.py\n\n # example if cloned from repo\n local ~/code/tomodachi$ python tomodachi.py run example/http_simple_service.py\n\n\n*Defaults to output information on stdout.*\n\n.. code:: bash\n\n \u00a0 local ~/code/service$ tomodachi run service.py\n\n tomodachi/X.X.XX\n October 02, 2017 - 13:38:00,481516\n Quit services with .\n 2017-10-02 13:38:01,234 (services.service): Initializing service \"example\" [id: ]\n 2017-10-02 13:38:01,248 (transport.http): Listening [http] on http://127.0.0.1:9700/\n 2017-10-02 13:38:01,248 (services.service): Started service \"example\" [id: ]\n\n\n*HTTP service acts like a normal web server.*\n\n.. code:: bash\n\n local ~$ curl -v \"http://127.0.0.1:9700/resource/1234\"\n\n < HTTP/1.1 200 OK\n < Content-Type: text/plain; charset=utf-8\n < Server: tomodachi\n < Content-Length: 9\n < Date: Mon, 02 Oct 2017 13:38:02 GMT\n id = 1234\n\n\nExample of ``tomodachi`` service containerized in Docker \ud83d\udc33\n-----------------------------------------------------------\nGreat ways to run microservices are either to run them in Docker or running them serverless.\nHere's an example of getting a tomodachi service up and running in Docker in no-time. The\nbase-image (``kalaspuff/python-nginx-proxy``) also sets up ``nginx`` and proxies requests from\nport 80 to the service backend on 8080.\n\nWe're building a container using just two small files, the ``Dockerfile`` and the actual code\nfor the microservice, ``service.py``.\n\n**Dockerfile**\n\n.. code:: dockerfile\n\n FROM kalaspuff/python-nginx-proxy:1.2.1\n WORKDIR /\n RUN apt-get -y update \\\n && apt-get install -y build-essential=12.3 \\\n && pip install tomodachi \\\n && apt-get purge -y --auto-remove build-essential \\\n && apt-get clean autoclean \\\n && apt-get autoremove -y \\\n && rm -rf /var/lib/{apt,dpkg,cache,log}/\n RUN mkdir /app\n WORKDIR /app\n ADD service.py .\n CMD tomodachi run service.py --production\n\n**service.py**\n\n.. code:: python\n\n import tomodachi\n\n @tomodachi.service\n class Service(tomodachi.Service):\n name = 'example'\n options = {\n 'http': {\n 'port': 8080\n }\n }\n\n @tomodachi.http('GET', r'/')\n async def index_endpoint(self, request):\n return 'friends forever!'\n\n*Building and running the container, forwarding host's port 31337 to port 80.*\n\n.. code:: bash\n\n \u00a0 local ~/code/service$ docker build . -t tomodachi-microservice\n\n.. code:: bash\n\n \u00a0 local ~/code/service$ docker run -ti -p 31337:80 tomodachi-microservice\n 2017-10-02 13:38:01,234 (services.service): Initializing service \"example\" [id: ]\n 2017-10-02 13:38:01,248 (transport.http): Listening [http] on http://127.0.0.1:8080/\n 2017-10-02 13:38:01,248 (services.service): Started service \"example\" [id: ]\n\n*Making requests to the running container.*\n\n.. code:: bash\n\n local ~$ curl http://127.0.0.1:31337/\n friends forever!\n\n\nNothing more nothing less. It's actually as easy as that.\n\n\nAvailable built-ins used as endpoints \ud83d\ude80\n----------------------------------------\nThere are several built-in ways to invoke your microservice methods in which the most common ones are either directly via HTTP or via event based messaging (for example AMQP or AWS SNS+SQS). Here's a list of the currently available built-ins you may use to decorate your service functions.\nHere's a short run-down of the available decorators.\n\nHTTP endpoints:\n^^^^^^^^^^^^^^^\n``@tomodachi.http(method, url, ignore_logging=[200])``\n Sets up an **HTTP endpoint** for the specified ``method`` (``GET``, ``PUT``, ``POST``, ``DELETE``) on the regexp ``url``.\n Optionally specify ``ignore_logging`` as a dict or tuple containing the status codes you do not wish to log the access of. Can also be set to ``True`` to ignore everything except status code 500.\n\n``@tomodachi.http_static(path, url)``\n Sets up an **HTTP endpoint for static content** available as ``GET`` / ``HEAD`` from the ``path`` on disk on the base regexp ``url``.\n\n``@tomodachi.websocket(url)``\n Sets up a **websocket endpoint** on the regexp ``url``. The invoked function is called upon websocket connection and should return a two value tuple containing callables for a function receiving frames (first callable) and a function called on websocket close (second callable). The passed arguments to the function beside the class object is first the ``websocket`` response connection which can be used to send frames to the client, and optionally also the ``request`` object.\n\n``@tomodachi.http_error(status_code)``\n A function which will be called if the **HTTP request would result in a 4XX** ``status_code``. You may use this for example to set up a custom handler on \"404 Not Found\" or \"403 Forbidden\" responses.\n\n\nAWS SNS+SQS messaging:\n^^^^^^^^^^^^^^^^^^^^^^\n``@tomodachi.aws_sns_sqs(topic, competing=None, queue_name=None, **kwargs)``\n This would set up an **AWS SQS queue**, subscribing to messages on the **AWS SNS topic** ``topic``, whereafter it will start consuming messages from the queue.\n\n The ``competing`` value is used when the same queue name should be used for several services of the same type and thus \"compete\" for who should consume the message.\n\n Unless ``queue_name`` is specified an auto generated queue name will be used. Additional prefixes to both ``topic`` and ``queue_name`` can be assigned by setting the ``options.aws_sns_sqs.topic_prefix`` and ``options.aws_sns_sqs.queue_name_prefix`` dict values.\n\n Depending on the service ``message_protocol`` used, parts of the enveloped data would be distribbuted to different keyword arguments of the decorated function. It's usually safe to just use ``data`` as an argument. You can also specify a specific ``message_protocol`` value as a keyword argument to the decorator for specifying a specific enveloping method to use instead of the global one set for the service.\n\n If you're utilizing ``from tomodachi.protocol import ProtobufBase`` and using ``ProtobufBase`` as the specified service ``message_protocol`` you may also pass a keyword argument ``proto_class`` into the decorator, describing the protobuf (Protocol Buffers) generated Python class to use for decoding incoming messages.\n\nAMQP messaging (RabbitMQ):\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n``@tomodachi.amqp(routing_key, exchange_name='amq.topic', competing=None, queue_name=None, **kwargs)``\n Sets up the method to be called whenever a **AMQP / RabbitMQ message is received** for the specified ``routing_key``. By default the ``'amq.topic'`` topic exchange would be used, it may also be overridden by setting the ``options.amqp.exchange_name`` dict value for the service class.\n\n The ``competing`` value is used when the same queue name should be used for several services of the same type and thus \"compete\" for who should consume the message.\n\n Unless ``queue_name`` is specified an auto generated queue name will be used. Additional prefixes to both ``routing_key`` and ``queue_name`` can be assigned by setting the ``options.amqp.routing_key_prefix`` and ``options.amqp.queue_name_prefix`` dict values.\n\n Depending on the service ``message_protocol`` used, parts of the enveloped data would be distribbuted to different keyword arguments of the decorated function. It's usually safe to just use ``data`` as an argument. You can also specify a specific ``message_protocol`` value as a keyword argument to the decorator for specifying a specific enveloping method to use instead of the global one set for the service.\n\n If you're utilizing ``from tomodachi.protocol import ProtobufBase`` and using ``ProtobufBase`` as the specified service ``message_protocol`` you may also pass a keyword argument ``proto_class`` into the decorator, describing the protobuf (Protocol Buffers) generated Python class to use for decoding incoming messages.\n\n\nScheduled functions / cron:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\n``@tomodachi.schedule(interval=None, timestamp=None, timezone=None, immediately=False)``\n A **scheduled function** invoked on either a specified ``interval`` (you may use the popular cron notation as a str for fine-grained interval or specify an integer value of seconds) or a specific ``timestamp``. The ``timezone`` will default to your local time unless explicitly stated.\n\n When using an integer ``interval`` you may also specify wether the function should be called ``immediately`` on service start or wait the full ``interval`` seconds before its first invokation.\n\n``@tomodachi.heartbeat``\n A function which will be **invoked every second**.\n\n``@tomodachi.minutely``, ``@tomodachi.hourly``, ``@tomodachi.daily``, ``@tomodachi.monthly``\n A scheduled function which will be invoked once **every minute / hour / day / month**.\n\n\n*You may also extend the functionality by building your own transports for your endpoints. The invokers themselves should extend the class* ``tomodachi.invoker.Invoker``.\n\n\nDecorated functions using ``@tomodachi.decorator`` \ud83c\udf84\n-----------------------------------------------------\nInvoker functions can of course be decorated using custom functionality. For ease of use you can then in turn decorate your decorator with the the built-in ``@tomodachi.decorator`` to ease development.\nIf the decorator would return anything else than ``True`` or ``None`` (or not specifying any return statement) the invoked function will *not* be called and instead the returned value will be used, for example as an HTTP response.\n\n.. code:: python\n\n import tomodachi\n\n @tomodachi.decorator\n async def require_csrf(instance, request):\n token = request.headers.get(\"X-CSRF-Token\")\n if not token or token != request.cookies.get('csrftoken'):\n return {\n 'body': 'Invalid CSRF token',\n 'status': 403\n }\n\n @tomodachi.service\n class Service(tomodachi.Service):\n name = 'example'\n\n @tomodachi.http('POST', r'/create')\n @require_csrf\n async def create_data(self, request):\n # Do magic here!\n return 'OK'\n\n\nRequirements \ud83d\udc4d\n---------------\n* Python_ (``3.5.3+``, ``3.6+``, ``3.7+``)\n* aiohttp_\n* aiobotocore_\n* aioamqp_\n* ujson_\n* uvloop_\n\n.. _Python: https://www.python.org\n.. _asyncio: http://docs.python.org/3.5/library/asyncio.html\n.. _aiohttp: https://github.com/aio-libs/aiohttp\n.. _aiobotocore: https://github.com/aio-libs/aiobotocore\n.. _aioamqp: https://github.com/Polyconseil/aioamqp\n.. _ujson: https://github.com/esnme/ultrajson\n.. _uvloop: https://github.com/MagicStack/uvloop\n\n\nLicense \ud83d\ude4b\n----------\nOffered under the `MIT license `_\n\n\nSource code \ud83e\udd84\n--------------\nThe latest developer version of ``tomodachi`` is available at the GitHub repo https://github.com/kalaspuff/tomodachi\n\n\nAny questions?\n==============\nWhat is the best way to run a ``tomodachi`` service?\n There is no way to tell you how to orchestrate your infrastructure. Some people may run it containerized in a Docker environment, deployed via Terraform / Nomad / Kubernetes and some may run several services on the same environment, on the same machine. There may be best practices but theres no way telling you how to orchestrate your application environment.\n\n Personally I would currently go for a Dockerized environment with nginx proxy in front of the service to handle all the weirdness of the web, TLS, black magic and improved upgrades for WebSockets. Take a look at my `kalaspuff/docker-python-nginx-proxy `_ base-image to get your code up and running within minutes.\n\nAre there any more example services?\n There are a few examples in the `examples `_ folder, including using ``tomodachi`` in an `example Docker environment `_ with or without docker-compose, there are examples to publish events/messages to an AWS SNS topic and subscribe to an AWS SQS queue. There's also a similar example of how to work with pub-sub for RabbitMQ via AMQP transport protocol.\n\nWhy should I use this?\n ``tomodachi`` is a perfect place to start when experimenting with your architecture or trying out a concept for a new service. It may not have all the features you desire and it may never do, but I believe it's great for bootstrapping microservices in async Python.\n\nI have some great additions!\n Sweet! Please send me a PR with your ideas. Get started at the short `contribution guide `_.\n\nShould I run this in production?\n Yes? No? There are some projects that already have live versions in production. The library is provided as is with an unregular release schedule. It's all still highly experimental and it depends on other experimental projects, so you have to be in charge here and decide for yourself. Let me know if you do however!\n\n Another good idea is to drop in Sentry or other exception debugging solutions, for if your invoked functions would raise unhandled exceptions.\n\nWho built this and why?\n My name is **Carl Oscar Aaro** [`@kalaspuff `_] and I'm a coder from Sweden. I simply wanted to learn more about asyncio and needed a constructive off-work project to experiment with \u2013 and here we are. Nowadays I use ``tomodachi`` as a base for many smaller projects where I just want to be able to focus on the application itself, while still having the power of building distributed systems. \ud83c\udf89\n\n\n* https://github.com/kalaspuff\n* https://www.linkedin.com/in/carloscaraaro/\n\n\nContributions\n=============\nPlease help out to add features that you deem are missing and/or fix\nbugs in the repo.\n\nTo add a PR, for the repository, commit your changes to your own clone\nand make a PR on GitHub for your clone against master branch.\n\nRead more in the `contribution guide `_.\n\nChanges\n=======\n\n0.16.4 (2019-08-28)\n-------------------\n- Fix for the the race condition causing ``delete_message`` to\n raise an exception, when draining the SQS receive messages call,\n while stopping the service.\n\n\n0.16.3 (2019-08-23)\n-------------------\n- It's now possible to get the request object for websocket\n handlers by adding a third argument to the invoker function.\n ``(self, websocket, request)`` or by specifying ``request`` as\n a keyword argument in the function signature. Using the request\n object it's now possible to parse browser headers and other data\n sent when first opening the websocket connction.\n\n- Updated packages for automated tests to verify that newer\n dependencies still works correctly.\n\n- Updated the dependency on ``aioamqp`` to allow ``aioamqp==0.13.x``.\n\n\n0.16.2 (2019-03-27)\n-------------------\n- Added keyword arguments for overriding the ``topic_prefix`` and\n ``routing_key_prefix`` when publishing messages. Useful by for\n example intermediaries that needs to publishing messages to\n external services running on other environments, or services\n that are otherwise confined to a prefix / environment but needs\n to contact a core service, i.e. data collection, emails, etc.\n\n\n0.16.1 (2019-03-21)\n-------------------\n- Bug fix for websocket handler functions signature inspection in\n middlewares, which caused the function signature to return a\n non-wrapped internal function.\n\n\n0.16.0 (2019-03-07)\n-------------------\n- Refactored all internal middleware functionality to use the same base\n function for executing middlewares.\n\n- A middleware context will be passed into the middlewares as\n the optional fifth argument, a ``dict`` that will live within the\n middleware excecution and may pass data along from middleware to\n middleware.\n\n\n0.15.1 (2019-03-07)\n-------------------\n- Middlewares first argument ``func: Callable`` will now be wrapped with\n the endpoint function, using ``@functools.wraps``, so that signatures\n and keywords may be inspected and applied accordingly.\n (github: **0x1EE7**)\n\n\n0.15.0 (2019-02-27)\n-------------------\n- ``message_middleware`` will now receive four arguments instead of the\n earlier three.\n ``func: Callable, service: Any, message: Any, topic: str`` for SNS and\n ``func: Callable, service: Any, message: Any, route_key: str`` for\n AMQP. If you are using middlewares for messaging you will most likely\n need to update these.\n\n- Additional kwargs may be passed into the ``aws_sns_sqs_publish`` and\n ``amqp_publish`` functions and will be forwarded to the\n ``message_protocol`` ``build_message`` function.\n\n\n0.14.8 (2019-01-28)\n-------------------\n- Fixes an issue when websockets were initiated together with an HTTP\n middleware applying additional arguments and keywords.\n\n- Sets the ``request._cache['is_websocket']`` value before handing the\n processing off to the middleware.\n\n- Fixes a bug causing ``aiohttp.web.FileResponse`` return values to not\n show any content.\n\n\n0.14.7 (2019-01-21)\n-------------------\n- Added helper functions to be able to get the status code of\n a HTTP response or on a raised exception during a HTTP request.\n ``await tomodachi.get_http_response_status(value, request=request)`` or\n ``await tomodachi.get_http_response_status(exception, request=request)``\n\n\n0.14.6 (2019-01-14)\n-------------------\n- Extended middleware functionality to also be available for\n event based messaging (AMQP and SNS+SQS) as\n ``message_middleware``.\n\n\n0.14.5 (2019-01-09)\n-------------------\n- Added the support of middlewares to inject additional arguments\n and keywords arguments or overriding existing keyword arguments\n of the invoked function.\n\n\n0.14.4 (2019-01-06)\n-------------------\n- Service classes may now use ``http_middleware`` which is a list\n of functions to be run on all HTTP calls and may change the\n behaviour before or after the invoked function is called, either\n preventing the function from being called or modifying the\n response values. An example has been added to the examples\n directory.\n\n- The auto-reloader on code changes will now only reload if a\n the files content has actually changed and not when the file\n was written to disk without changes.\n\n\n0.14.3 (2018-12-26)\n-------------------\n- Added support for ``aiohttp`` 3.5.x.\n\n\n0.14.2 (2018-12-19)\n-------------------\n- Solves an issue which caused SNS / SQS invoked functions to\n never resume the ReceiveMessage API calls on connection failure,\n resulting in log output saying \"Session closed\" and requiring\n the service to be restarted.\n\n- Added support for ``aiobotocore`` 0.10.x.\n\n\n0.14.1 (2018-12-04)\n-------------------\n- Fixes an issue which caused scheduled functions to spam output\n on computer sleep when developing locally.\n\n\n0.14.0 (2018-12-04)\n-------------------\n- Added the possibility of specifying ``message_protocol`` for\n AMQP / SNS+SQS enveloping per function, so that it's possible to\n use both (for example) raw data and enveloped data within the\n same function without having to build fallback enveloping\n functionality.\n\n- Added documentation for ``@tomodachi.decorator``, describing\n how to easily write decorators to use with service invoker\n functions.\n\n- Added ``ignore_logging`` keyword argument to HTTP invoker\n decorator, which may ignore access logging for either specific\n status codes or everything (except ``500`` statuses).\n (github: **justcallmelarry**)\n\n- New function ``tomodachi.get_service()`` or\n ``tomodachi.get_service(service_name)`` available to get the\n service instance object from wherever in the running service,\n much like ``asyncio.get_event_loop()``.\n\n- Updated examples.\n\n- Fixes issue which caused ``aiohttp`` ``FileResponse``\n responses to raise an internal exception.\n\n- Added support for ``aiohttp`` 3.4.x.\n\n\n0.13.7 (2018-08-10)\n-------------------\n- Correction for non-defined exception in Python 3.5.\n\n\n0.13.6 (2018-08-10)\n-------------------\n- Improved error handling if strict tomodachi dependencies fail to\n load, for example if an installed dependency is corrupt or missing.\n\n- Added additional examples to repository with a demo of pub-sub\n communication.\n\n\n0.13.5 (2018-08-08)\n-------------------\n- Fixes an issue which caused HTTP invoker functions to be accessible\n before the bootstrapper function ``_start_service()`` had been\n completed. Now ``_start_service()`` is called first, followed by\n activation of the invoker functions (``@http``, ``@schedule``,\n ``@aws_sns_sqs``, ``@amqp``, etc.) and then lastly the\n ``_started_service()`` function will be called, announcing that the\n service is now up and running.\n\n\n0.13.4 (2018-08-06)\n-------------------\n- Added type hinting stubs for ProtoBuf ``_pb2.py`` file to allow\n ``mypy`` to validate functions utilizing the generated protobuf\n files.\n\n\n0.13.3 (2018-08-03)\n-------------------\n- RST correction from last release.\n\n\n0.13.2 (2018-08-03)\n-------------------\n- Correction regarding type hinting as to where a ``bytes`` value\n could be used as the HTTP body in ``Response`` objects.\n\n\n0.13.1 (2018-08-01)\n-------------------\n- Fixes bug with type hinting reporting 'error: Module has no\n attribute \"decorator\"' when applying a ``@tomodachi.decorator``\n decorator.\n\n\n0.13.0 (2018-07-25)\n-------------------\n- Restructured base message protocols for both JSON and ProtoBuf. JSON\n protocol is now called ``tomodachi-json-base--1.0.0`` (earlier\n ``json_base-wip``) and the ProtoBuf protocol is now referred to as\n ``tomodachi-protobuf-base--1.0.0``. Updated proto files are not\n compatible with earlier protocol ``protobuf_base-wip``.\n\n\n0.12.7 (2018-07-04)\n-------------------\n- Fixed an issue for using ProtoBuf in development as hot-reloading didn't\n work as expected. (github: **smaaland**)\n\n\n0.12.6 (2018-07-02)\n-------------------\n- Additional compatibility for Python 3.7 support including CI testing for\n Python 3.7.\n\n- Improved linting for type hinted functions.\n\n\n0.12.5 (2018-06-27)\n-------------------\n- Messages via SNS+SQS or AMQP over 60000 bytes as ProtoBuf will now be sent\n in a gzipped base64 encoded format to allow for larger limits and lower\n potential SNS costs due to multiplexed messaging. (github: **smaaland**)\n\n\n0.12.4 (2018-06-24)\n-------------------\n- Updated ``aioamqp`` to the latest version with support for Python 3.7.\n\n- Updated service imports for improved Python 3.7 compatibility.\n\n\n0.12.3 (2018-06-12)\n-------------------\n- Improved type hinting support.\n\n\n0.12.2 (2018-06-12)\n-------------------\n- Added stubs for type hinting via tools like ``mypy``.\n\n\n0.12.1 (2018-06-07)\n-------------------\n- Added complete support for ``aiohttp`` 3.3.x release and\n ``aiobotocore`` 0.9.x releases.\n\n\n0.12.0 (2018-05-31)\n-------------------\n- Improved handling of imports to allow relative imports in\n services and to use better error messages if the parent\n package is using a reserved name.\n\n- Preparations for ``aiohttp`` 3.3.x release which deprecates\n some uses for custom router.\n\n- Preparations for upcoming Python 3.7 release.\n\n\n0.11.3 (2018-05-25)\n-------------------\n- Added additional function for message validation functionality.\n (github: **smaaland**)\n\n- Updated documentation and examples.\n\n\n0.11.2 (2018-05-19)\n-------------------\n- Improved base documentation.\n\n- Improved and updated examples.\n\n- Type hinting corrections for examples.\n\n\n0.11.1 (2018-05-18)\n-------------------\n- Decorators for invoker functions already decorated with for example\n ``@tomodachi.http`` or ``@tomodachi.aws_sns_sqs`` is now easier to\n implement using the ``@tomodachi.decorator`` decorator.\n\n- Added improved exception logging from HTTP and schedule invokers also\n to the AWS SNS+SQS and AMQP endpoints. Unhandled exceptions are now\n logged as ``logging.exception()`` to the ``'exception'`` logger.\n\n\n0.11.0 (2018-05-15)\n-------------------\n- Propagation of exceptions in invoked functions to be able to hook in\n exception handlers into logging. (github: **0x1EE7**)\n\n\n0.10.2 (2018-05-15)\n-------------------\n- Encoding issue for Protocol Buffers messages solved.\n (github: **smaaland**).\n\n- Support for ``aiobotocore`` 0.8.X+.\n\n\n0.10.1 (2018-04-26)\n-------------------\n- Fixes a bug for optional dependency ``protobuf``. ``message_protocol``\n imports would break unless the ``google.protobuf`` package was installed.\n\n\n0.10.0 (2018-04-20)\n-------------------\n- Base example message protocol class for using Protocol Buffers over AMQP\n or AWS SNS+SQS. (github: **smaaland**).\n\n- Validation of event based messages via validation function specified\n during decoration. (github: **smaaland**)\n\n- Updates to work with ``aiohttp`` 3.1.X+.\n\n- Improved logging functionality.\n\n- Better type hinting and linting.\n\n\n0.9.5 (2018-03-16)\n------------------\n- More robust handling of invoking service files that aren't a part of a\n Python package.\n\n\n0.9.4 (2018-03-06)\n------------------\n- Fixes an issue affecting websocket connections where the receive function\n was invalidly called twice of which one time were without error handling.\n\n\n0.9.3 (2018-03-06)\n------------------\n- Solves an error with functions for AMQP / AWS SNS+SQS functions that are used\n without a message_protocol class.\n\n- Improved disconnect and reconnect to AWS SNS+SQS via aiobotocore on hot-reload\n and during testing.\n\n- Improved README with event based messaging example using AMQP.\n\n- Added the option of running ``schedule`` tasks immediately on service start.\n For example a function decorated by\n ``@schedule(interval=20, immediately=True)`` would be run immediately on\n service start and then every 20 seconds.\n\n\n0.9.2 (2018-03-05)\n------------------\n- Improved error handling for bad requests (error 400) on HTTP calls.\n\n- File watcher for hot-reload now excludes ignored directories in a more\n effective way to ease CPU load and for faster boot time for projects\n with thousands of files which should've been ignored.\n\n\n0.9.1 (2018-03-05)\n------------------\n- ``schedule`` functions limits to 20 running tasks of the same function to\n prevent overflows in development.\n\n- Fixes an issue where ``schedule`` tasks stopped executing if a service was\n hot-reloaded on code change.\n\n- Handles websocket cancellations better if the client would close the\n connection before the request had been upgraded.\n\n\n0.9.0 (2018-03-04)\n------------------\n- Updated to use ``aiohttp`` 3.X.X+ and ``aiobotocore`` 0.6.X+.\n\n- Dropped support for Python versions below 3.5.3 as new ``aiohttp`` requires\n at least Python 3.5.3. Last version with support for Python 3.5.0, 3.5.1 and\n 3.5.2 is ``tomodachi`` ``0.8.X`` series.\n\n\n0.8.3 (2018-03-02)\n------------------\n- Print stack trace for outputs from ``schedule`` invoker functions tasks\n instead of silently catching exceptions.\n\n- Handle close and receive errors for websockets and cleanly close already\n opened websockets on service exit.\n\n\n0.8.2 (2018-02-28)\n------------------\n- Fixed broken HTTP transports due to missing colorama import.\n\n\n0.8.1 (2018-02-27)\n------------------\n- Correction for README in 0.8.X release.\n\n\n0.8.0 (2018-02-27)\n------------------\n- It's now possible to specify queue_name on AWS SNS+SQS and AMQP decorators\n for competing queues. If not specified an automatically generated hash will\n be used as queue name as it worked previously.\n\n- Fixes an issue with relative imports from within service files, which\n resulted in \"SystemParent module '' not loaded, cannot perform relative\n import\" or \"ImportError: attempted relative import with no known parent\n package\". (github: **0x1EE7**)\n\n- Exceptions that are subclasses of ``AmqpInternalServiceError`` and\n ``AWSSNSSQSInternalServiceError`` will now also work in the same way,\n resulting in the messages to be retried when raised.\n\n- Service classes now have built in log functions for setting up logging to\n file as well as logging. They are ``self.log_setup('logname', level,\n filename)`` and ``self.log('logname', level, message)``.\n\n- HTTP services will have their access log color coded when outputting to\n nothing else than stdout, which should be helpful in an overview during\n development.\n\n\n0.7.0 (2018-01-27)\n------------------\n\n- Added `@websocket` as a decorator type for handling websockets. A function\n call should return two callables which will be used for receiving messages\n through the socket and as a way to notify about the closure of the socket.\n\n\n0.6.5 (2018-01-16)\n------------------\n\n- Updated `aiohttp` to latest version which solves incompabilities with `yarl`.\n\n\n0.6.4 (2018-01-15)\n------------------\n\n- Added a stricter dependency check for `yarl`.\n\n\n0.6.3 (2018-01-12)\n------------------\n\n- Gracefully handle exceptions thrown when receiving messages from AWS SNS+SQS.\n For example when invalid XML data in response which causes botocore to throw\n a botocore.parsers.ResponseParserError.\n\n- Updated dependencies to allow for newer version of aiohttp 2.3.X.\n\n- Improved type hinting.\n\n\n0.6.2 (2017-11-15)\n------------------\n\n- Recreate queues and resubscribe to topics if queue is removed during runtime.\n\n\n0.6.1 (2017-11-15)\n------------------\n\n- Introduced new options for AWS SNS/SQS transport to use `aws_endpoint_urls`\n for `sns` and `sqs` if the user wishes to connect to other endpoints and the\n actual AWS endpoints, which could be useful for development and testing. The\n AWS SNS/SQS examples has been updated with values to reflect these options.\n\n- Reworked timeouts and reconnects and fixed an issue in the recreate_client\n method which was called on server disconnects.\n\n\n0.6.0 (2017-11-15)\n------------------\n\n- Stricter version control of required packages to not break installation on\n major/minor related updates.\n\n- Updates to support aiohttp 2.3.X and aiobotocore 0.5.X.\n\n\n0.5.3 (2017-11-08)\n------------------\n\n- Corrects issues on timeouts and server disconnects.\n\n- Specify fixed version for aiohttp to not break installation.\n\n- Code cleanup to conform with pycodestyle.\n\n\n0.5.2 (2017-10-08)\n------------------\n\n- Add argument option for log level as '-l' or '--log'. (github: **djKooks**)\n\n- Better matching of imported modules on hot-reload which will cause reloading\n into code with syntax errors or indentation errors much harder.\n\n\n0.5.1 (2017-10-03)\n------------------\n\n- More improvements regarding hot-reloading of code that may have syntax errors,\n indentation errors or issues when the service is being initiated.\n\n\n0.5.0 (2017-10-02)\n------------------\n\n- Solves the issue where hot-loading into a state where the code errors due to\n syntax errors would crash the application, making the user need to manually\n restart the process.\n\n\n0.4.10 (2017-10-02)\n-------------------\n\n- Fixes for failing tests on hot-reloading during test phase.\n\n\n0.4.9 (2017-10-02)\n------------------\n\n- Solves issue with Segmentation fault in Python 3.6 during hot-reload on\n Linux.\n\n\n0.4.8 (2017-10-02)\n------------------\n\n- Fixes type hinting issues with Python 3.5.1.\n\n\n0.4.7 (2017-09-30)\n------------------\n\n- Reworked watcher since it ended up using 90% CPU of the running core due to\n constant re-indexing (mstat) of every file every 0.5s. Full re-index will now\n only run every 10 seconds, since it's more rare that new files are added than\n existing files edited. Watcher for edited existing files will still run at the\n same intervals.\n\n- Watched file types may now be specified via configuration via\n ``options.watcher.watched_file_endings``.\n\n\n0.4.6 (2017-09-29)\n------------------\n\n- Messages via SNS+SQS or AMQP over 60000 bytes as JSON will now be sent in a\n gzipped base64 encoded format to allow for larger limits and lower potential\n SNS costs due to multiplexed messaging.\n\n- Fixes an issue with multidict 3.2.0 on hot-reload which made the tomodachi\n application crash.\n\n\n0.4.5 (2017-09-07)\n------------------\n\n- Possibility to requeue messages that result in specific exceptions.\n Exceptions that will nack the message (for AMQP transport) is called\n ``AmqpInternalServiceError``. Exceptions that won't delete the message from\n the queue and in turn will result in it to \"reappear\" unless configured\n non-default (for AWS SNS+SQS transport) is called\n ``AWSSNSSQSInternalServiceError``.\n\n\n0.4.4 (2017-08-25)\n------------------\n\n- Corrected an issue regarding crontab notation for scheduling function calls\n where it didn't parse the upcoming date correctly if both isoweekday and day\n part were given.\n\n\n0.4.3 (2017-08-09)\n------------------\n\n- Catches unintended HTTP exceptions and prints a useful stacktrace if log_level\n is set to DEBUG.\n\n\n0.4.2 (2017-08-07)\n------------------\n\n- Fixes an issue where Content-Type header couldn't be specified without\n charset in HTTP transports.\n\n- Cleared some old debug code.\n\n\n0.4.1 (2017-08-05)\n------------------\n\n- Corrects and issue with AMQP transport which caused invoked functions to not\n be able to declare scope variables without crashes.\n\n\n0.4.0 (2017-08-05)\n------------------\n\n- Release fixes a major issue which caused invoked functions to not be able to\n declare any scope variables.\n\n- ``@http_static`` decorator for serving static files from a folder on disk.\n Takes to values; 1. the path to the folder, either relative to the service\n file or absolute; 2. the base URL path for static files as a regexp.\n\n\n0.3.0 (2017-07-25)\n------------------\n\n- Changed format of access log for HTTP requests - now logging user agent and\n login name (if authorization via Basic Auth).\n\n- Support for ``X-Forwarded-For`` headers via ``real_ip_from`` and\n ``real_ip_header`` options which will log the forwarded IP instead of the\n one from the load balancer / proxy.\n\n- Access log for HTTP can now be specified as a filename to which the service\n will log all requests.\n\n- Fixes issue with schedule invoker which would crash if invoked at second 0.\n\n- Updated dependencies to latest available versions.\n\n\n0.2.17 (2017-07-05)\n-------------------\n\n- Timezone support for ``schedule`` invoker functions.\n\n- Added more decorator invoker functions as aliases for common scheduler\n use cases - ``@minutely``, ``@hourly``, ``@daily`` and ``@heartbeat`` (every\n second)\n\n- Updated example services and better test cases.\n\n- Updated aiohttp / aiobotocore / botocore dependencies.\n\n\n0.2.16 (2017-07-02)\n-------------------\n\n- Solved issues with aiobotocore / aiohttp dependencies.\n\n- Refactored loader functions.\n\n\n0.2.15 (2017-07-02)\n-------------------\n\n- Corrected issue with configuration values for AWS and AWS SNS+SQS settings.\n\n- Improved testing suite and more code coverage for integration tests.\n\n\n0.2.14 (2017-06-30)\n-------------------\n\n- New \"transport\" invoker for service functions: ``schedule``. It works like\n cron type scheduling where specific functions will be run on the specified\n interval. For example a function can be specified to run once per day at a\n specific time or every second minute, or the last Tuesday of January and\n March at 05:30 AM.\n\n- Values for keyword arguments invoked by transport decorators were earlier\n always set to ``None``, despite having other default values. This is now\n corrected.\n\n\n0.2.13 (2017-06-20)\n-------------------\n\n- Type hinted examples and test cases.\n\n- Shielded function calls for AMQP and SNS+SQS transports to avoid unexpected\n execution stop.\n\n- Added version output to tomodachi CLI tool.\n\n- Additional test cases.\n\n\n0.2.12 (2017-06-18)\n-------------------\n\n- Type hinted code base and minor bug fixes for internal functions.\n\n\n0.2.11 (2017-06-09)\n-------------------\n\n- Invoker methods can now be called directly without the need to mock the\n invoker decorator function.\n\n\n0.2.10 (2017-06-08)\n-------------------\n\n- Added ``@functools.wraps`` decorator to invoked functions of service classes.\n\n\n0.2.9 (2017-06-06)\n------------------\n\n- Added a list of safe modules that may never be removed from the list of\n already loaded modules. Removing the module 'typing' from the list would\n cause a RecursionError exception since Python 3.6.1.\n\n\n0.2.8 (2017-05-23)\n------------------\n\n- Additional improvements to network connectivity issues to not get stuck in\n waiting state.\n\n\n0.2.7 (2017-05-23)\n------------------\n\n- Improved SNS+SQS draining / restart when network connectivity has been lost\n or temporarily suspended. Would improve situations when development machine\n has been in hibernation.\n\n- Replaced deprecated logging functions to rid warnings.\n\n\n0.2.6 (2017-05-22)\n------------------\n\n- Support for a \"generic\" aws dictonary in options that can hold region,\n access key id and secret to be shared among other AWS resources/services.\n\n- Updated aiobotocore / botocore dependencies.\n\n- Gracefully handle and discard invalid SNS/SQS messages not in JSON format.\n\n- Corrected issue where watched directories with \"similar\" names as settings\n would be ignored.\n\n\n0.2.5 (2017-05-16)\n------------------\n\n- Updated issues with function caching due to keepalive when hot reloading in\n development. Currently disables keepalive entirely.\n\n- Fixed issue with updated file logging for watcher.\n\n\n0.2.4 (2017-05-12)\n------------------\n\n- Downgraded botocore to meet requirements and to make the installed\n ``tomodachi`` script runnable again.\n\n\n0.2.3 (2017-05-10)\n------------------\n\n- Watcher is now configurable to ignore specific directories dependant on the\n service. (github: **smaaland**)\n\n- Fixed issue where using ``--config`` instead of ``-c`` would result in a\n raised exception. (github: **smaaland**)\n\n\n0.2.2 (2017-05-04)\n------------------\n\n- ``tomodachi.transport.http`` has its own Response object that works better\n with default content types and charsets - examples/http_service.py updated.\n\n- No automatic conversion will be tried if the returned response of an http\n method is of ``bytes`` type.\n\n0.2.1 (2017-05-03)\n------------------\n\n- Improved handling of how charsets and encodings work with aiohttp.\n\n- Fixed an issue where ``Content-Type`` header would always be included twice\n for aiohttp.web.Response objects.\n\n\n0.2.0 (2017-05-02)\n------------------\n\n- Watcher now only reacts to files with file endings ``.py``, ``.json``,\n ``.yml``, ``.html`` or ``.html`` and ignores to look at paths\n ``__pycache__``, ``.git``, ``.svn``, ``__ignored__``, ``__temporary__`` and\n ``__tmp__``.\n\n- HTTP transport may now respond with an aiohttp.web.Response object for more\n complex responses.\n\n- HTTP transport response headers can now use the multidict library.\n\n\n0.1.11 (2017-04-02)\n-------------------\n\n- Working PyPI release.\n\n- Added unit tests.\n\n- Works with aiohttp 2 and aiobotocore 0.3.\n\n- Service classes must be decorated with ``@tomodachi.service``.\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://pypi.python.org/pypi/tomodachi", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kalaspuff/tomodachi", "keywords": "tomodachi,microservice,microservices,framework,library,asyncio,aws,sns,sqs,amqp,rabbitmq,http,websockets,easy,fast,python 3", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "tomodachi", "package_url": "https://pypi.org/project/tomodachi/", "platform": "any", "project_url": "https://pypi.org/project/tomodachi/", "project_urls": { "Download": "https://pypi.python.org/pypi/tomodachi", "Homepage": "https://github.com/kalaspuff/tomodachi" }, "release_url": "https://pypi.org/project/tomodachi/0.16.4/", "requires_dist": [ "pycparser (>=2.18)", "aioamqp (<0.14.0,>=0.10.0)", "ujson (>=1.35)", "uvloop (>=0.8.1)", "aiobotocore (<0.11.0,>=0.6.0)", "tzlocal (>=1.4)", "aiohttp (<3.6.0,>=3.0.5)", "yarl (>=1.1.0)", "colorama (<0.5.0,>=0.3.9)" ], "requires_python": "", "summary": "Python 3 microservice library on asyncio with HTTP, websockets, RabbitMQ and AWS SNS+SQS.", "version": "0.16.4" }, "last_serial": 5745245, "releases": { "0.1.11": [ { "comment_text": "", "digests": { "md5": "b2f17ebba7cd68af61438c93b51835cf", "sha256": "3365cdf28393d035209997dc74d31eea4fd5c0bf2a2f964dbaa12917e20c8ee4" }, "downloads": -1, "filename": "tomodachi-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "b2f17ebba7cd68af61438c93b51835cf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30097, "upload_time": "2017-04-02T10:57:50", "url": "https://files.pythonhosted.org/packages/68/1f/c77f59a781fd3c6fcc6fb8abd48a6f840ece1f59713a6829ad97d17ad96c/tomodachi-0.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73a8f42f71f7c49df565c2d3f93afaab", "sha256": "cfc2185e456ff8afa21476f9f5b1ed29ed196c47d4fe0e66b2efb78e13be8fb3" }, "downloads": -1, "filename": "tomodachi-0.1.11.tar.gz", "has_sig": false, "md5_digest": "73a8f42f71f7c49df565c2d3f93afaab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21548, "upload_time": "2017-04-02T10:57:52", "url": "https://files.pythonhosted.org/packages/19/5b/71938f0de90db27b07eb0901ac7a8b3dfbd77bd19ddaeca389249df56fad/tomodachi-0.1.11.tar.gz" } ], "0.1.5": [], "0.10.0": [ { "comment_text": "", "digests": { "md5": "c1fdbfa0ccabe198a8158c21091d0f30", "sha256": "378801fa84cdf9498aa4e7b9229241641c6b9d264170ed439f568c6ed9959de9" }, "downloads": -1, "filename": "tomodachi-0.10.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c1fdbfa0ccabe198a8158c21091d0f30", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58973, "upload_time": "2018-04-20T12:10:45", "url": "https://files.pythonhosted.org/packages/e0/9b/1f8d69f614f73199775d7d508bcc5c18abd1b5ec0480784858f3d4490360/tomodachi-0.10.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5aa14d11305312d203dc1804dbd00a92", "sha256": "c4d14e935df8bf1c2486c3d4821c0129055a889d86b9f1471f1c816f97cff8fb" }, "downloads": -1, "filename": "tomodachi-0.10.0.tar.gz", "has_sig": false, "md5_digest": "5aa14d11305312d203dc1804dbd00a92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50714, "upload_time": "2018-04-20T12:10:46", "url": "https://files.pythonhosted.org/packages/9b/51/298f953fb4987c8857712d4746c4a254cd04d82ab4020542356a68261ecd/tomodachi-0.10.0.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "e87eebda0e9444cd4427e0f899b94707", "sha256": "8572a56ebaae1fd2ed0e1e8e2beb74659629b5f6aef905bccbd2fadc4ff459ce" }, "downloads": -1, "filename": "tomodachi-0.10.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e87eebda0e9444cd4427e0f899b94707", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 59251, "upload_time": "2018-04-26T09:05:18", "url": "https://files.pythonhosted.org/packages/e1/d4/9993b0dc07d771049d5bf4da66341bde0f44e5657debb3af94a4bfe7eb6e/tomodachi-0.10.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a3c7fd5cc9aa65c8c787201d14f5275", "sha256": "571ccf98658210fbd3aa3fa62937f4e1aeb20534b92a9d9606e682eecc12305d" }, "downloads": -1, "filename": "tomodachi-0.10.1.tar.gz", "has_sig": false, "md5_digest": "5a3c7fd5cc9aa65c8c787201d14f5275", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50928, "upload_time": "2018-04-26T09:05:19", "url": "https://files.pythonhosted.org/packages/37/34/cc7843b3c78bf52772732957f6d233184c7e11c23beaa5c147feccb11ce8/tomodachi-0.10.1.tar.gz" } ], "0.10.2": [ { "comment_text": "", "digests": { "md5": "588dfbb428aa0ff7435bf20f167e6e87", "sha256": "00822a093bb99489af2a01f17304082810809c9124dccfef17998abb9d79d6ab" }, "downloads": -1, "filename": "tomodachi-0.10.2-py3-none-any.whl", "has_sig": false, "md5_digest": "588dfbb428aa0ff7435bf20f167e6e87", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 59330, "upload_time": "2018-05-15T13:54:51", "url": "https://files.pythonhosted.org/packages/1e/fd/cd42ff205b464cfdff882ade953b51d08cb60233da56fa2a2f50d94f79ea/tomodachi-0.10.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "257ad8a92b42a31b1348875383ff8f66", "sha256": "8f27ab758302bb5dcebbe55c00a532838ef0c2c856500420c8bdf960c44a5bae" }, "downloads": -1, "filename": "tomodachi-0.10.2.tar.gz", "has_sig": false, "md5_digest": "257ad8a92b42a31b1348875383ff8f66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50986, "upload_time": "2018-05-15T13:54:53", "url": "https://files.pythonhosted.org/packages/f9/fe/d8615d8d0561278c6f2e726ed7daa137f33234afcfea6f2a7daa6b729e4d/tomodachi-0.10.2.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "c950c148abc463423a5bf87fc782af5e", "sha256": "d9d4f4ebc286337f9387ee9798ab1492b7cf5c6f951fd3cfbc17fd5fc1370d32" }, "downloads": -1, "filename": "tomodachi-0.11.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c950c148abc463423a5bf87fc782af5e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 59287, "upload_time": "2018-05-15T21:22:17", "url": "https://files.pythonhosted.org/packages/7d/9e/374d45f20a86bb9d38ffeb698b39bc9f300eb121d2e6b93312291127fa8e/tomodachi-0.11.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "72c6e0c64b6b17daf3c5155b6f359a3f", "sha256": "e6c1bbf83e201bcdfb9800e6741f136405565faf41cb774b548fb566925d1a4a" }, "downloads": -1, "filename": "tomodachi-0.11.0.tar.gz", "has_sig": false, "md5_digest": "72c6e0c64b6b17daf3c5155b6f359a3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50991, "upload_time": "2018-05-15T21:22:19", "url": "https://files.pythonhosted.org/packages/5c/3c/04af27028a70ef5a03d380cec3fe3a52549e31d0c000316df586b4067857/tomodachi-0.11.0.tar.gz" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "bee792c868700cc85cbb4f4d01e39c6b", "sha256": "b4dbab6bcaa3f221a1b245dcf186bc043c6408755718f2fdd49db5165f58ada1" }, "downloads": -1, "filename": "tomodachi-0.11.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bee792c868700cc85cbb4f4d01e39c6b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60385, "upload_time": "2018-05-18T10:49:11", "url": "https://files.pythonhosted.org/packages/81/f9/9f6b0134bd5d67d2290ff6c93a1f24a75235f5d8bc12d891890f53656a7e/tomodachi-0.11.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5215af764cba655fe10a0f9631a7f236", "sha256": "38edf2fba416f0ab416c7519922d22e0b7ee501ad87f1672be6b8919f8784ada" }, "downloads": -1, "filename": "tomodachi-0.11.1.tar.gz", "has_sig": false, "md5_digest": "5215af764cba655fe10a0f9631a7f236", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51807, "upload_time": "2018-05-18T10:49:13", "url": "https://files.pythonhosted.org/packages/81/66/f8c179e8ef562d2777ce7ee16c9a04c44a7715edbf1f73f15fa8805f65cc/tomodachi-0.11.1.tar.gz" } ], "0.11.2": [ { "comment_text": "", "digests": { "md5": "d02b14adc54b555fa4cb4b64950ae5ce", "sha256": "180918a9dd8ed413dcd1d9202d79a108c71abed902f472387e7087e2315de2a4" }, "downloads": -1, "filename": "tomodachi-0.11.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d02b14adc54b555fa4cb4b64950ae5ce", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 62755, "upload_time": "2018-05-18T23:45:41", "url": "https://files.pythonhosted.org/packages/25/30/13681fd36cc7dc1af2dc660660746705730dbee287d5ed3b05a697bec7ae/tomodachi-0.11.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a92feba3bc6313d8fbdb232d488c782", "sha256": "02901b15e4ff92c3804afe62899eaaeeca6621e6ee332e4cafb3578b9e22ffdb" }, "downloads": -1, "filename": "tomodachi-0.11.2.tar.gz", "has_sig": false, "md5_digest": "6a92feba3bc6313d8fbdb232d488c782", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59964, "upload_time": "2018-05-18T23:45:43", "url": "https://files.pythonhosted.org/packages/f2/d9/40468160d44712b3692f6c87ffeb7b5fe01a1c851c883d859e20fd1e7cc9/tomodachi-0.11.2.tar.gz" } ], "0.11.3": [ { "comment_text": "", "digests": { "md5": "3133ceba65477b32bf417654e9423351", "sha256": "857f693fb33e7e6070c9b8da4f5974d0bd90f63e5dc13f7770b49b3ee54557b3" }, "downloads": -1, "filename": "tomodachi-0.11.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3133ceba65477b32bf417654e9423351", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 63581, "upload_time": "2018-05-25T11:32:33", "url": "https://files.pythonhosted.org/packages/22/b4/b0d08255dc77f6b4603677289b5a602ffe7e011bf68a3000bcb1328f633f/tomodachi-0.11.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a359c4a400597fd9a6c7212f63cfa39", "sha256": "51d06877d8ce57f673af115f8b7ed1e2bcb1dfa0a71bcadd2035d418436d8144" }, "downloads": -1, "filename": "tomodachi-0.11.3.tar.gz", "has_sig": false, "md5_digest": "3a359c4a400597fd9a6c7212f63cfa39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62022, "upload_time": "2018-05-25T11:32:35", "url": "https://files.pythonhosted.org/packages/9c/26/bde4ca96d61bc54d8bbd1b8ec610fed2eae1db685808b1f31cefc3bf42a1/tomodachi-0.11.3.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "de84b5ce0510d3915d4cad06e53655e0", "sha256": "0a7e072ddc5d92b5eb3814ed309b13d94ab87ae29f1ba12cf0554a391fc048f5" }, "downloads": -1, "filename": "tomodachi-0.12.0-py3-none-any.whl", "has_sig": false, "md5_digest": "de84b5ce0510d3915d4cad06e53655e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64075, "upload_time": "2018-05-31T10:24:47", "url": "https://files.pythonhosted.org/packages/1c/b7/fbe2acb25dd430c95c234318dd464ebbf04182979dcf92827a4a95faef16/tomodachi-0.12.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "51839f36805d89bd0334ccb1b034d244", "sha256": "9d4e7ca94d21f29359bccc747d493e235c3b6f40938472707c8dd121462ab797" }, "downloads": -1, "filename": "tomodachi-0.12.0.tar.gz", "has_sig": false, "md5_digest": "51839f36805d89bd0334ccb1b034d244", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62607, "upload_time": "2018-05-31T10:24:49", "url": "https://files.pythonhosted.org/packages/72/f4/3ac9080835403427290101716d783eabd9466cbd07f8f3ec8b0d799464ee/tomodachi-0.12.0.tar.gz" } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "160b0176d86264308285451d4c0f1cb8", "sha256": "13137875b6c7db1c7cad5a662b8e1bb40dc5a7c371309b64aa8d7401f2bed19c" }, "downloads": -1, "filename": "tomodachi-0.12.1-py3-none-any.whl", "has_sig": false, "md5_digest": "160b0176d86264308285451d4c0f1cb8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64143, "upload_time": "2018-06-07T09:09:11", "url": "https://files.pythonhosted.org/packages/db/29/91ffb6c3964b99e9a29f333c3e44835dc58541aecb2ee67dea99f1f28bc0/tomodachi-0.12.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4604434569e80938eab7c90d3a4dca8b", "sha256": "435dd862ac21031541d206de83b0b894d49156bde325319862af8e534a912a6c" }, "downloads": -1, "filename": "tomodachi-0.12.1.tar.gz", "has_sig": false, "md5_digest": "4604434569e80938eab7c90d3a4dca8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62691, "upload_time": "2018-06-07T09:09:12", "url": "https://files.pythonhosted.org/packages/b6/f9/a9b75bd0feeac15026963a750d3443f6973770b37c151ef890d86ce89650/tomodachi-0.12.1.tar.gz" } ], "0.12.2": [ { "comment_text": "", "digests": { "md5": "80c43472f5d5dc84d788b021173b2df9", "sha256": "14f8a97430af54a55ac6c3a415f53f708b62eb6a25e1144a1951627295dffd5c" }, "downloads": -1, "filename": "tomodachi-0.12.2-py3-none-any.whl", "has_sig": false, "md5_digest": "80c43472f5d5dc84d788b021173b2df9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64872, "upload_time": "2018-06-12T13:45:43", "url": "https://files.pythonhosted.org/packages/84/c7/b9ad42ef526f2167219369cb861895a6413667ffa49685c570f29c4747e4/tomodachi-0.12.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fd625ae09f9971ab35b1dc7984a0243", "sha256": "7299ec28122510acc5ffae51b35689830b0a056594f3c3745aff48a3b4e2f943" }, "downloads": -1, "filename": "tomodachi-0.12.2.tar.gz", "has_sig": false, "md5_digest": "7fd625ae09f9971ab35b1dc7984a0243", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63105, "upload_time": "2018-06-12T13:45:45", "url": "https://files.pythonhosted.org/packages/43/bd/179f63aa640bcaf573739c88e5c5d63296ffc3c33e8a985317e2ade9bd6b/tomodachi-0.12.2.tar.gz" } ], "0.12.3": [ { "comment_text": "", "digests": { "md5": "89184ebdccd1510da0caf4856c769b6d", "sha256": "ca35b772e01e79a92ce88355372849e032a13f8960aa493541520915648da936" }, "downloads": -1, "filename": "tomodachi-0.12.3-py3-none-any.whl", "has_sig": false, "md5_digest": "89184ebdccd1510da0caf4856c769b6d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64907, "upload_time": "2018-06-12T14:31:52", "url": "https://files.pythonhosted.org/packages/4d/84/9c47fdb66bbf7f78cf00933a68a4d8610feaadd037d0663d8927c743ddb2/tomodachi-0.12.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0362cb11bf147d5119cfbb37564a11d2", "sha256": "98a0830c06200950617408748bd31f91aaac7719fdb54e6f13ce906fc06f629d" }, "downloads": -1, "filename": "tomodachi-0.12.3.tar.gz", "has_sig": false, "md5_digest": "0362cb11bf147d5119cfbb37564a11d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63124, "upload_time": "2018-06-12T14:31:54", "url": "https://files.pythonhosted.org/packages/c6/86/d0ac6299b76e3eca38ea7103840914ef9d5088239646db91f44ef9fbdbec/tomodachi-0.12.3.tar.gz" } ], "0.12.4": [ { "comment_text": "", "digests": { "md5": "327b8db911cf74b93b989e584d2b37fc", "sha256": "eeb3981aa8dfdbf09d0b471e687f03fef2e69c8f7d2c3ce75e55682384911643" }, "downloads": -1, "filename": "tomodachi-0.12.4-py3-none-any.whl", "has_sig": false, "md5_digest": "327b8db911cf74b93b989e584d2b37fc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65216, "upload_time": "2018-06-24T09:45:23", "url": "https://files.pythonhosted.org/packages/53/af/fd2cea26311dccd0e9e14521534d19bcf474601c19523770e97f8c2b8c8d/tomodachi-0.12.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "829a18231f8968af1c41cf73f2a00214", "sha256": "b00d88448a8d05be4b441872bc69db469bb74b4e9a19953242cceecfb84c54c3" }, "downloads": -1, "filename": "tomodachi-0.12.4.tar.gz", "has_sig": false, "md5_digest": "829a18231f8968af1c41cf73f2a00214", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63548, "upload_time": "2018-06-24T09:45:25", "url": "https://files.pythonhosted.org/packages/99/c4/30ec0d6c7b16b6f573e66c0054ec1bcf39c9da366e4e78112330667fa5d0/tomodachi-0.12.4.tar.gz" } ], "0.12.5": [ { "comment_text": "", "digests": { "md5": "9eb2700a653e3c2031408cb1afac5192", "sha256": "7f19b6bb569876a1de070eb66dac58bfdc4ffd324258e2fe0241cd6ce1a75118" }, "downloads": -1, "filename": "tomodachi-0.12.5-py3-none-any.whl", "has_sig": false, "md5_digest": "9eb2700a653e3c2031408cb1afac5192", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65397, "upload_time": "2018-06-27T13:16:32", "url": "https://files.pythonhosted.org/packages/0e/0a/0bca566b011136a7c2a97df16aa2da63b17dbf339e481d3bcba8e32ea5e6/tomodachi-0.12.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44eac703199f7aec6d3607e57317ed6b", "sha256": "eda94076eb306fbe442713db01aed6baa2739b3733c5dd6735ee7d79bfbc5ff1" }, "downloads": -1, "filename": "tomodachi-0.12.5.tar.gz", "has_sig": false, "md5_digest": "44eac703199f7aec6d3607e57317ed6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63713, "upload_time": "2018-06-27T13:16:34", "url": "https://files.pythonhosted.org/packages/13/b5/02889897bd7d0b1ea573ae70d09c445c2dc254203b9ec0eb11cdd4d82596/tomodachi-0.12.5.tar.gz" } ], "0.12.6": [ { "comment_text": "", "digests": { "md5": "50cbf294088a6cd859efa011911c3a04", "sha256": "1059b9d76d6255a2112444ad44c61429b1129b2d5e0d3c448794a21a0d0e36e8" }, "downloads": -1, "filename": "tomodachi-0.12.6-py3-none-any.whl", "has_sig": false, "md5_digest": "50cbf294088a6cd859efa011911c3a04", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65526, "upload_time": "2018-07-02T21:49:31", "url": "https://files.pythonhosted.org/packages/80/8d/ecc8812e4d9d01a98574c96e322074d80600fd1876f43745b1c9e43682e9/tomodachi-0.12.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ece0149aba215c83fb35e52a015a6c80", "sha256": "fc2d196d4902c5dc4b56f8af5937be536b1123300557f49c0f930421819591aa" }, "downloads": -1, "filename": "tomodachi-0.12.6.tar.gz", "has_sig": false, "md5_digest": "ece0149aba215c83fb35e52a015a6c80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63846, "upload_time": "2018-07-02T21:49:33", "url": "https://files.pythonhosted.org/packages/f2/f5/84ccaff258144e8f63a695bca3ac454299ebef179775cdf997ba3d86917e/tomodachi-0.12.6.tar.gz" } ], "0.12.7": [ { "comment_text": "", "digests": { "md5": "ba0783acf2edc9aefc165c34b58438f3", "sha256": "3d2e81c28a7524a312e8fd86356858245e0d7f3891c3289984ea92b297cadcfc" }, "downloads": -1, "filename": "tomodachi-0.12.7-py3-none-any.whl", "has_sig": false, "md5_digest": "ba0783acf2edc9aefc165c34b58438f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65594, "upload_time": "2018-07-04T11:55:35", "url": "https://files.pythonhosted.org/packages/06/77/e86a15085ea10dd3fd59385586abb6896e1be764e00a9d8c89f11494ff1f/tomodachi-0.12.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b9fe4eb84a4cc2833540241d9623ac38", "sha256": "f5fd0949bc48ed42a5afee7f2b2304bcff6ab3e27cd91171f460d8954bbc77fe" }, "downloads": -1, "filename": "tomodachi-0.12.7.tar.gz", "has_sig": false, "md5_digest": "b9fe4eb84a4cc2833540241d9623ac38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64008, "upload_time": "2018-07-04T11:55:36", "url": "https://files.pythonhosted.org/packages/37/08/c736ac0acfff7d624c51b640f546bf07055a46cc71fcbc1000b9ee70f48b/tomodachi-0.12.7.tar.gz" } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "5c16c9a68cc9da67802bfc337081e6a8", "sha256": "55e01ea3c48047b4e952150dd1ae48aa519137864be2710b1eb2fb77dbe86ea2" }, "downloads": -1, "filename": "tomodachi-0.13.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5c16c9a68cc9da67802bfc337081e6a8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65756, "upload_time": "2018-07-25T15:52:53", "url": "https://files.pythonhosted.org/packages/6e/44/6460ed5b6a6f388ee119589829fd06ce4d8442d007cca7ddc8f0ac196ecf/tomodachi-0.13.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "857cc2f845cbedab8987f7b170a79ec9", "sha256": "a6a3972280c29729dfe6e145d6934c622ee407dd4fe0b394154b5e21e134b669" }, "downloads": -1, "filename": "tomodachi-0.13.0.tar.gz", "has_sig": false, "md5_digest": "857cc2f845cbedab8987f7b170a79ec9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64325, "upload_time": "2018-07-25T15:52:55", "url": "https://files.pythonhosted.org/packages/4e/12/1c3d2dd74f87a1d1b44fe6df051836bfb480675c32ff23cdd1cb031b7517/tomodachi-0.13.0.tar.gz" } ], "0.13.1": [ { "comment_text": "", "digests": { "md5": "ed13bc4149a057fc88427872c5384325", "sha256": "a9f76e1bb2dcb056df29e7a3f6e11638d7163881a93b4c83176433cf3b1056ec" }, "downloads": -1, "filename": "tomodachi-0.13.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ed13bc4149a057fc88427872c5384325", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65903, "upload_time": "2018-08-01T11:26:58", "url": "https://files.pythonhosted.org/packages/6c/32/7693d902eab760622ba3cd50157b62384c278d7831999f33fa93cd453ba0/tomodachi-0.13.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0863fc6ff316bd084490f669e57a9c4", "sha256": "53277366f09221b06004f31718e763ae0d27095a29486d23ad97048587f8f1a4" }, "downloads": -1, "filename": "tomodachi-0.13.1.tar.gz", "has_sig": false, "md5_digest": "d0863fc6ff316bd084490f669e57a9c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64613, "upload_time": "2018-08-01T11:26:59", "url": "https://files.pythonhosted.org/packages/10/13/9491519315bf69670b62a47dfaff4345b14f8fc07d551f9c297bd7a1e109/tomodachi-0.13.1.tar.gz" } ], "0.13.2": [ { "comment_text": "", "digests": { "md5": "eefcfee8afe05a917db076d0bab349f3", "sha256": "1f358abd77e88932a15af47abb26274a5abeef0b802e0e37c295fefbcf94422d" }, "downloads": -1, "filename": "tomodachi-0.13.2-py3-none-any.whl", "has_sig": false, "md5_digest": "eefcfee8afe05a917db076d0bab349f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 66017, "upload_time": "2018-08-03T14:37:19", "url": "https://files.pythonhosted.org/packages/32/44/6725614b0186faae81d3628be4a323840800ba7ed03973dab35ddd013403/tomodachi-0.13.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bab6a3fc68f151c6a7ca820b000b77f9", "sha256": "2c1450dfc5e2123fbccb4a5796204da906e32518c40e5af26ad2201f82d3c3a2" }, "downloads": -1, "filename": "tomodachi-0.13.2.tar.gz", "has_sig": false, "md5_digest": "bab6a3fc68f151c6a7ca820b000b77f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64766, "upload_time": "2018-08-03T14:37:20", "url": "https://files.pythonhosted.org/packages/ba/00/72e78d0a3fe634d0a16a278a41aafe1ddc25a122f38b64891ac8e9f58202/tomodachi-0.13.2.tar.gz" } ], "0.13.3": [ { "comment_text": "", "digests": { "md5": "f53372bf2a5ac731ab6ebd2c2dc2ac53", "sha256": "85dcfcb972650304aa1d965d8c69ce6dac3d86632dfae519aab6f5b396698b12" }, "downloads": -1, "filename": "tomodachi-0.13.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f53372bf2a5ac731ab6ebd2c2dc2ac53", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 66051, "upload_time": "2018-08-03T14:39:26", "url": "https://files.pythonhosted.org/packages/4f/ee/74a72b7608d41fd128e9b7d82c3086f90421775ac1f863d542a9a52956a3/tomodachi-0.13.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4606161ff2be43933b605b14c37ab513", "sha256": "bf3daf8d6d1b7fe2e21a05682245ce6f716b4ee6c678d37fd36f188fff0d01f6" }, "downloads": -1, "filename": "tomodachi-0.13.3.tar.gz", "has_sig": false, "md5_digest": "4606161ff2be43933b605b14c37ab513", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64808, "upload_time": "2018-08-03T14:39:27", "url": "https://files.pythonhosted.org/packages/a1/ac/9b1d87dd9d71cd1ef060a0bb8e66f647f1ce57620ad14460439b8e70c803/tomodachi-0.13.3.tar.gz" } ], "0.13.4": [ { "comment_text": "", "digests": { "md5": "d55f43a0497a9c9c55b1f7537f4984e0", "sha256": "058f0caf0d3581c7e1fa09b3908dfd7565e6306c6d3a5d992f1ac33d09f9c933" }, "downloads": -1, "filename": "tomodachi-0.13.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d55f43a0497a9c9c55b1f7537f4984e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 69044, "upload_time": "2018-08-06T06:17:14", "url": "https://files.pythonhosted.org/packages/12/84/de9ced43112667757c80c5c650ef05f341a6e85385a4ddfad31fc49487c2/tomodachi-0.13.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90c0feb9e660bf1c8c34b07277438c8b", "sha256": "3040ce1787520cf22131aa2593bc3f1b2c9d8381cdab327da3b3ab23c722624c" }, "downloads": -1, "filename": "tomodachi-0.13.4.tar.gz", "has_sig": false, "md5_digest": "90c0feb9e660bf1c8c34b07277438c8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65443, "upload_time": "2018-08-06T06:17:16", "url": "https://files.pythonhosted.org/packages/6e/7a/f84f463c1d36a68b39b9550889380f54b535160c52504f5f7333866729bd/tomodachi-0.13.4.tar.gz" } ], "0.13.5": [ { "comment_text": "", "digests": { "md5": "6ff9a1025433f0e3c7a1eb3356cb629c", "sha256": "08dca2ca4a3e656b988de5a4d880e91d4a8ab652a9583ab4432080defcea42c7" }, "downloads": -1, "filename": "tomodachi-0.13.5-py3-none-any.whl", "has_sig": false, "md5_digest": "6ff9a1025433f0e3c7a1eb3356cb629c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 69338, "upload_time": "2018-08-08T17:42:11", "url": "https://files.pythonhosted.org/packages/6d/de/c1f3f58c8c20d28448b649a41b7a515d55490b1e0a7e29b19f5f08607fbd/tomodachi-0.13.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36c988e3e0383f8fa1331dd464b578dc", "sha256": "42488509b966b7b2c90a0e91deef081fea7a12cff3a8696856bfcce1cdf755e8" }, "downloads": -1, "filename": "tomodachi-0.13.5.tar.gz", "has_sig": false, "md5_digest": "36c988e3e0383f8fa1331dd464b578dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65862, "upload_time": "2018-08-08T17:42:14", "url": "https://files.pythonhosted.org/packages/db/1f/9d1514ab5493fcbd1c0f8c4d39355509e9fcd9bb1ebc2b4532a8abfa7ea9/tomodachi-0.13.5.tar.gz" } ], "0.13.6": [ { "comment_text": "", "digests": { "md5": "f62f0ed07af8540907587c8374c17562", "sha256": "1019b87e451623000c5dffcbc2328671bca6935a2bab8da676233b8054bb468a" }, "downloads": -1, "filename": "tomodachi-0.13.6-py3-none-any.whl", "has_sig": false, "md5_digest": "f62f0ed07af8540907587c8374c17562", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 70029, "upload_time": "2018-08-10T06:35:06", "url": "https://files.pythonhosted.org/packages/f3/ea/1a3465998474f3942627e17835c5aeca95b3946d093d346715e9ea36330b/tomodachi-0.13.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c839f16a1bbedebf76c0f7c1b0f0f326", "sha256": "70331a582f8a8441ff0ca1d263190028e8af1cc2247e13772ff75bc8a46b22fd" }, "downloads": -1, "filename": "tomodachi-0.13.6.tar.gz", "has_sig": false, "md5_digest": "c839f16a1bbedebf76c0f7c1b0f0f326", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66690, "upload_time": "2018-08-10T06:35:08", "url": "https://files.pythonhosted.org/packages/07/79/2dddb6423230dce99a5fef8c406eca245300559ac83c67db73404317ea79/tomodachi-0.13.6.tar.gz" } ], "0.13.7": [ { "comment_text": "", "digests": { "md5": "ee716d73c83dec8cf30e60e0795d2351", "sha256": "6da9ce78c3aaab02c6684fd8828f9b1eec963a91bf36e31f19503b13e5f981a2" }, "downloads": -1, "filename": "tomodachi-0.13.7-py3-none-any.whl", "has_sig": false, "md5_digest": "ee716d73c83dec8cf30e60e0795d2351", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 70109, "upload_time": "2018-08-10T11:05:16", "url": "https://files.pythonhosted.org/packages/09/05/92f2d7b5a901449df103ec04b0c020841a81fe42fef1c752979ad2a698ee/tomodachi-0.13.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8fb9659d81dfb739e0ebece0eb6501d3", "sha256": "c97ec929034a54b586de4675bb29186c80a40fed412f8469dd2699754fd9bac4" }, "downloads": -1, "filename": "tomodachi-0.13.7.tar.gz", "has_sig": false, "md5_digest": "8fb9659d81dfb739e0ebece0eb6501d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66787, "upload_time": "2018-08-10T11:05:19", "url": "https://files.pythonhosted.org/packages/a1/a9/642a08a84322fb1675654aca522623182abe8e1d366cdf5ae080335ac5db/tomodachi-0.13.7.tar.gz" } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "6775fab7eaf711e304db3e649a49b32e", "sha256": "17fb0b4bdf182a87b9e212971ca96daacea8ff8e024196370dc3cc40129b63ca" }, "downloads": -1, "filename": "tomodachi-0.14.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6775fab7eaf711e304db3e649a49b32e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 75952, "upload_time": "2018-12-04T15:53:53", "url": "https://files.pythonhosted.org/packages/20/34/89aa06bc9902082844c777ad5db1ad15280520241b70419615e0a54ed9e0/tomodachi-0.14.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58af02a74266a24b55c318ed2bbffc37", "sha256": "ff52d3eb80999fc2a030b339a8e3a886c9f73618dc663ce899aff45c3b01f859" }, "downloads": -1, "filename": "tomodachi-0.14.0.tar.gz", "has_sig": false, "md5_digest": "58af02a74266a24b55c318ed2bbffc37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74681, "upload_time": "2018-12-04T15:53:55", "url": "https://files.pythonhosted.org/packages/23/98/77cf4fb219fba3eb49558452ec94dfd6910417e5ae5d71e6be11b240de35/tomodachi-0.14.0.tar.gz" } ], "0.14.1": [ { "comment_text": "", "digests": { "md5": "6cc7f6cb33997a1886963c1201d896e4", "sha256": "044692b7b75c77757fdb3519ebcd23e049cd87b694b8ecdf5e5eb73c585d460f" }, "downloads": -1, "filename": "tomodachi-0.14.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6cc7f6cb33997a1886963c1201d896e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 76490, "upload_time": "2018-12-04T20:12:54", "url": "https://files.pythonhosted.org/packages/b5/af/9168ba4a315c40d4fa4d59347d2967d15f6cc1bc0b822d7e5465ce6931e5/tomodachi-0.14.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4f21e0c99f6aef9494d1c62cd4ca8811", "sha256": "ec3305297bf9253427be9146113a547fba3a9f87240762b497f209d4ddf9459c" }, "downloads": -1, "filename": "tomodachi-0.14.1.tar.gz", "has_sig": false, "md5_digest": "4f21e0c99f6aef9494d1c62cd4ca8811", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75548, "upload_time": "2018-12-04T20:12:56", "url": "https://files.pythonhosted.org/packages/91/08/d48e9de4b9d4683d2397f7432bdb2fd06f0c15286889f197819ee0d552a7/tomodachi-0.14.1.tar.gz" } ], "0.14.2": [ { "comment_text": "", "digests": { "md5": "298cf3a6191153541f6c78747fa06cf7", "sha256": "cb389797b9887ccb46d05d50ebfb8891e4db4ea0e0a5148bc9441d3b6772f8d3" }, "downloads": -1, "filename": "tomodachi-0.14.2-py3-none-any.whl", "has_sig": false, "md5_digest": "298cf3a6191153541f6c78747fa06cf7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 76960, "upload_time": "2018-12-18T23:09:41", "url": "https://files.pythonhosted.org/packages/c6/65/9b8d2c2c447dc108a6fe7184ef8714dcfadcebf51f5d31ba8d3caf1dff35/tomodachi-0.14.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cda0e3376e6c139d9717bb1fa7ab8a6f", "sha256": "2bd1e836e4fdf214a40b9fd040e6419631c4c5c7239d0f64e676a7745cf07c6a" }, "downloads": -1, "filename": "tomodachi-0.14.2.tar.gz", "has_sig": false, "md5_digest": "cda0e3376e6c139d9717bb1fa7ab8a6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76086, "upload_time": "2018-12-18T23:09:43", "url": "https://files.pythonhosted.org/packages/f4/61/4b020ed1139baa4cace69f17bdb7a6281e6a58178753ef444b3a3ef52319/tomodachi-0.14.2.tar.gz" } ], "0.14.3": [ { "comment_text": "", "digests": { "md5": "5c39a09fb06e51c4f621aa74546da69e", "sha256": "33cc94baff6d0c4b6c78ef8ba30806b7423f4d38a40dfe103cfe617c2b0e5821" }, "downloads": -1, "filename": "tomodachi-0.14.3-py3-none-any.whl", "has_sig": false, "md5_digest": "5c39a09fb06e51c4f621aa74546da69e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 76981, "upload_time": "2018-12-26T02:45:47", "url": "https://files.pythonhosted.org/packages/04/be/2830feda8fd2d9d8a746e8a5f0a8c34823139bf4ae9876acce421e20eb7c/tomodachi-0.14.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ebcef02c31e6757e12fd6e94f8c0239d", "sha256": "bda6342e425d218420b1ac7d99393368a5f57d2718164a5b0cba6007c23cf738" }, "downloads": -1, "filename": "tomodachi-0.14.3.tar.gz", "has_sig": false, "md5_digest": "ebcef02c31e6757e12fd6e94f8c0239d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76206, "upload_time": "2018-12-26T02:45:50", "url": "https://files.pythonhosted.org/packages/f3/13/abd3abe55744222f3e14f96b4c3f7a22b59e6252cb430dbf8ce380028a3d/tomodachi-0.14.3.tar.gz" } ], "0.14.4": [ { "comment_text": "", "digests": { "md5": "9ca99333be39d98b648b19591a52d8c2", "sha256": "f63f74a8fabfc606b6e9126fdaa87fdf771047a4eee20df30c6a833733cd2244" }, "downloads": -1, "filename": "tomodachi-0.14.4-py3-none-any.whl", "has_sig": false, "md5_digest": "9ca99333be39d98b648b19591a52d8c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 77735, "upload_time": "2019-01-06T22:22:27", "url": "https://files.pythonhosted.org/packages/26/ba/a098d51df362136de0e25b0e9e614d6c05f396c63531304a635dfd41b3e4/tomodachi-0.14.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb80216e83bc269e74c93a45ecfe4442", "sha256": "08d37c2abe2eb812f5656d1d7fd59757ecbd11d894992a8ac8ae1911e30d9600" }, "downloads": -1, "filename": "tomodachi-0.14.4.tar.gz", "has_sig": false, "md5_digest": "eb80216e83bc269e74c93a45ecfe4442", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77128, "upload_time": "2019-01-06T22:22:29", "url": "https://files.pythonhosted.org/packages/2d/42/a853ea287290a54a7dcf5ffeedef586d515957788654c3af7d550145cb0b/tomodachi-0.14.4.tar.gz" } ], "0.14.5": [ { "comment_text": "", "digests": { "md5": "41732b3b1f2be399b0a8419876273756", "sha256": "530d24d791215a8be202b68db195af65c4bf6dc0897002ffb42c5f4c298988f5" }, "downloads": -1, "filename": "tomodachi-0.14.5-py3-none-any.whl", "has_sig": false, "md5_digest": "41732b3b1f2be399b0a8419876273756", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 78145, "upload_time": "2019-01-09T08:58:27", "url": "https://files.pythonhosted.org/packages/99/68/586894ee1b04b56869f3520be0f420d809f20aff19889a5670f1a4ad030f/tomodachi-0.14.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1fe6fca3bc5a2cc44546cfc32050e4f", "sha256": "9f4f28dc99484067045c4eb9e72590f933d5d98edbc9bb11e1624fbdd7090db4" }, "downloads": -1, "filename": "tomodachi-0.14.5.tar.gz", "has_sig": false, "md5_digest": "e1fe6fca3bc5a2cc44546cfc32050e4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77441, "upload_time": "2019-01-09T08:58:29", "url": "https://files.pythonhosted.org/packages/77/94/8afcaeee91b589c92f4284199899ee18a2a0a7ca5142358475f9fac42eee/tomodachi-0.14.5.tar.gz" } ], "0.14.6": [ { "comment_text": "", "digests": { "md5": "eaa3e8eb2cc57c60b56586c596c45c9e", "sha256": "61fcf451960fda1eae6e1b8f91cb6febab4515182584908be15debb2d17f2c11" }, "downloads": -1, "filename": "tomodachi-0.14.6-py3-none-any.whl", "has_sig": false, "md5_digest": "eaa3e8eb2cc57c60b56586c596c45c9e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 78664, "upload_time": "2019-01-14T12:01:22", "url": "https://files.pythonhosted.org/packages/3e/e8/73501a7b8e9e06fd55306cc55a14d288c4f0991b9b66287bea74a5090a94/tomodachi-0.14.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1ab85558945bdb84422d23ce9c7eabb4", "sha256": "d4d198a44053d4a965420187c5bbfa93b7ee50798be4f6f5e9bf71993b69ed66" }, "downloads": -1, "filename": "tomodachi-0.14.6.tar.gz", "has_sig": false, "md5_digest": "1ab85558945bdb84422d23ce9c7eabb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77822, "upload_time": "2019-01-14T12:01:24", "url": "https://files.pythonhosted.org/packages/95/43/2bb7886825ff48d5f8732256a230927f97b5ac80897413dafed9ebd2a595/tomodachi-0.14.6.tar.gz" } ], "0.14.7": [ { "comment_text": "", "digests": { "md5": "511744acef6ac77c3c0773f41c51f210", "sha256": "8072956959759397bad5f18fcd53f85c3643b273b8c38a25a5097d6a4020105e" }, "downloads": -1, "filename": "tomodachi-0.14.7-py3-none-any.whl", "has_sig": false, "md5_digest": "511744acef6ac77c3c0773f41c51f210", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 79069, "upload_time": "2019-01-21T18:23:19", "url": "https://files.pythonhosted.org/packages/34/88/af42c5ddaab1f43657cad5fde8ab05672864c7cee91b65c241e6cb27d9c5/tomodachi-0.14.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e7548de6096ea5fb267b47697976cd1", "sha256": "1f044b9e0e0e573e501c4c977fa56b201d06ae14fb3e9213b28819dcf830ffc5" }, "downloads": -1, "filename": "tomodachi-0.14.7.tar.gz", "has_sig": false, "md5_digest": "5e7548de6096ea5fb267b47697976cd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78361, "upload_time": "2019-01-21T18:23:22", "url": "https://files.pythonhosted.org/packages/59/d0/79d326df13954406b4b3b959bca8c2580131e39e7880037d85331b7c77e0/tomodachi-0.14.7.tar.gz" } ], "0.14.8": [ { "comment_text": "", "digests": { "md5": "26821d96c9412a7cf0b7e5529a974fa5", "sha256": "2a5f883fe4611088038c83c9deb118798e003a3f8c3f2c20dcbdf124cdd2172e" }, "downloads": -1, "filename": "tomodachi-0.14.8-py3-none-any.whl", "has_sig": false, "md5_digest": "26821d96c9412a7cf0b7e5529a974fa5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 79334, "upload_time": "2019-01-28T07:35:22", "url": "https://files.pythonhosted.org/packages/4d/52/29ea33e29d82d018034c3bacb087d552c42a1b5607de634f5bfb993c7ac0/tomodachi-0.14.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "475d4bd4397910a3c5fa443715f2e8c8", "sha256": "786fa722eabc20cd927be58203bd169dfa69bd42449b60ce94db3e35c60a25ce" }, "downloads": -1, "filename": "tomodachi-0.14.8.tar.gz", "has_sig": false, "md5_digest": "475d4bd4397910a3c5fa443715f2e8c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78761, "upload_time": "2019-01-28T07:35:24", "url": "https://files.pythonhosted.org/packages/11/f8/aa328d3eb1a6323db81cab9ae65e067f8c3d7f347f25f3033a26179b4813/tomodachi-0.14.8.tar.gz" } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "0176edd8da45f478c009e822e2395fc4", "sha256": "986d9c6c9109d7972127d3ecd47b989e2c152f05dd404136ba36be8589fd0471" }, "downloads": -1, "filename": "tomodachi-0.15.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0176edd8da45f478c009e822e2395fc4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 79886, "upload_time": "2019-02-27T09:20:26", "url": "https://files.pythonhosted.org/packages/ce/05/efe88e75869dbb66b89463e7b9af9f16be96e6ae3377459c779bd32d6a18/tomodachi-0.15.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4595b825e935287d53aa9c6d3159e4cf", "sha256": "b68283ce5b67ae71d7064e005a34adf588acd64a4151ee3dd77f0fba7c5e87ff" }, "downloads": -1, "filename": "tomodachi-0.15.0.tar.gz", "has_sig": false, "md5_digest": "4595b825e935287d53aa9c6d3159e4cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79436, "upload_time": "2019-02-27T09:20:28", "url": "https://files.pythonhosted.org/packages/e4/24/a9b9121ba67a1484b41aaa53103cafd2aa9a2190f1f74860773ec55bdb52/tomodachi-0.15.0.tar.gz" } ], "0.15.1": [ { "comment_text": "", "digests": { "md5": "abd89c7aa57c2ef51eec338d509d5741", "sha256": "92261a21329b2c6351ee85c8cf3efbd872b28a5f74c12dbc4d5d4b2535e661ed" }, "downloads": -1, "filename": "tomodachi-0.15.1-py3-none-any.whl", "has_sig": false, "md5_digest": "abd89c7aa57c2ef51eec338d509d5741", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 80108, "upload_time": "2019-03-07T06:49:25", "url": "https://files.pythonhosted.org/packages/28/43/e903b120458726e269aa600d57533d8781c626dc0b13ef11fc67967dd520/tomodachi-0.15.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76bb86ae46981270ada9627dacd60f14", "sha256": "634ff03b65ffde68c7638c9822e546e7a5e3af73f3be41e295fea471da4b2780" }, "downloads": -1, "filename": "tomodachi-0.15.1.tar.gz", "has_sig": false, "md5_digest": "76bb86ae46981270ada9627dacd60f14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79694, "upload_time": "2019-03-07T06:49:27", "url": "https://files.pythonhosted.org/packages/90/ed/b18bdfa722eb801bacd19f02fe941631a9777158e8a95b9494f44b66cb93/tomodachi-0.15.1.tar.gz" } ], "0.16.0": [ { "comment_text": "", "digests": { "md5": "458878c661dcd1d0545ae8988d55c848", "sha256": "8ecf7dbb586a57f91f5321d827e4655c17ef7c2f101c73931891b836f4789940" }, "downloads": -1, "filename": "tomodachi-0.16.0-py3-none-any.whl", "has_sig": false, "md5_digest": "458878c661dcd1d0545ae8988d55c848", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 80524, "upload_time": "2019-03-07T20:14:01", "url": "https://files.pythonhosted.org/packages/a9/14/aa6d864a2dcf4fb1200b1c83475a2b2c1a93ad628bd3fa8e19a3158e4608/tomodachi-0.16.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f366ad83f8e39ce06a604e0f365b5c0b", "sha256": "eda752e019991be7c30ea0e5e566173e645ab317fe2d2935cbbfd591b0e1cda3" }, "downloads": -1, "filename": "tomodachi-0.16.0.tar.gz", "has_sig": false, "md5_digest": "f366ad83f8e39ce06a604e0f365b5c0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80045, "upload_time": "2019-03-07T20:14:03", "url": "https://files.pythonhosted.org/packages/d9/f6/582135bcbae1ae471485c83e4dca2a356968c6d42865f8a7bf0cf3577466/tomodachi-0.16.0.tar.gz" } ], "0.16.1": [ { "comment_text": "", "digests": { "md5": "f40d45cecf21d78e9f46f858bf020f75", "sha256": "ab2c78d3e30c05898ded574b4a976b61e008e8c13bafd6b9dd40c49a57cd7525" }, "downloads": -1, "filename": "tomodachi-0.16.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f40d45cecf21d78e9f46f858bf020f75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 80651, "upload_time": "2019-03-21T17:02:43", "url": "https://files.pythonhosted.org/packages/f6/ad/3008984937917f75f065e4c293b7c4423bc529acbc5e104c9c42bc49be5e/tomodachi-0.16.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "61d76d6d4db31a17d5754d493df891cb", "sha256": "ebb91d0b9905a354d893ff9f218343a65f6c4fc06f391f4f42d4c3505466cfc4" }, "downloads": -1, "filename": "tomodachi-0.16.1.tar.gz", "has_sig": false, "md5_digest": "61d76d6d4db31a17d5754d493df891cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80222, "upload_time": "2019-03-21T17:02:47", "url": "https://files.pythonhosted.org/packages/a9/24/b7764c8bdbce9c41409cee8eec72f69825a0dfc592e2a3245c292fcbc620/tomodachi-0.16.1.tar.gz" } ], "0.16.2": [ { "comment_text": "", "digests": { "md5": "16d8e938e412e032484c09b60b62b252", "sha256": "4e74745ffd6d2d04a532494f516ce0abd2bee9bc7928c14f91a8160ce1c4e022" }, "downloads": -1, "filename": "tomodachi-0.16.2-py3-none-any.whl", "has_sig": false, "md5_digest": "16d8e938e412e032484c09b60b62b252", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 81115, "upload_time": "2019-03-27T09:57:20", "url": "https://files.pythonhosted.org/packages/2e/c7/7b1533e78c2aa91d055c7ab46559bb8d9b8a48c41815c174152abed098de/tomodachi-0.16.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c93d16836da1b1381287cfdfbcfcdb3b", "sha256": "8f74ad8a76048f9bdc81fe29e2ba73883948b6a2b5173601c95a6f3d854e0e01" }, "downloads": -1, "filename": "tomodachi-0.16.2.tar.gz", "has_sig": false, "md5_digest": "c93d16836da1b1381287cfdfbcfcdb3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 80955, "upload_time": "2019-03-27T09:57:22", "url": "https://files.pythonhosted.org/packages/b0/5b/39f2e28202ad39e645965f970216523cbbf7b164ccfb24a8cc295d17fc5e/tomodachi-0.16.2.tar.gz" } ], "0.16.3": [ { "comment_text": "", "digests": { "md5": "25f23febe7f9ba33a38b9ee12c95e2f8", "sha256": "b37d2beafbe543a3314337f068c83afdac3b310bf663d5c627dc23f5197581e7" }, "downloads": -1, "filename": "tomodachi-0.16.3-py3-none-any.whl", "has_sig": false, "md5_digest": "25f23febe7f9ba33a38b9ee12c95e2f8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 81737, "upload_time": "2019-08-22T23:01:13", "url": "https://files.pythonhosted.org/packages/74/ea/75b78184b959e753c25ad37282296ade6e3a73f821a086b928d94bc7cd26/tomodachi-0.16.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76dde86c054ac1ae91ef7d9bfbe04e1a", "sha256": "b5c5bc7c06ac32a3eb1fa9ccdd410d019412d2b57619c9f9530cca95f802f4b5" }, "downloads": -1, "filename": "tomodachi-0.16.3.tar.gz", "has_sig": false, "md5_digest": "76dde86c054ac1ae91ef7d9bfbe04e1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81465, "upload_time": "2019-08-22T23:01:15", "url": "https://files.pythonhosted.org/packages/1d/9a/f8d46d75ac04d7cc9b091e9bf88a87b513e788d7d05eb54aaf4d4aade3bb/tomodachi-0.16.3.tar.gz" } ], "0.16.4": [ { "comment_text": "", "digests": { "md5": "162fc23821d5fdf387938d6916de5d63", "sha256": "910422d8f96adb15a1a352ca27cb91aa39fe33af8101c30b1ad85f315e21bfbc" }, "downloads": -1, "filename": "tomodachi-0.16.4-py3-none-any.whl", "has_sig": false, "md5_digest": "162fc23821d5fdf387938d6916de5d63", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 81888, "upload_time": "2019-08-28T20:09:25", "url": "https://files.pythonhosted.org/packages/29/9d/920d29d18815762867a37f52fe94b276ec7a24f07d1b3345ce5e9d55d2b1/tomodachi-0.16.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fae62dd77878991331420059f6c0127b", "sha256": "76f59daa82a553d387f770b617d7f13e83129644dbdedb793de38158dc904a6e" }, "downloads": -1, "filename": "tomodachi-0.16.4.tar.gz", "has_sig": false, "md5_digest": "fae62dd77878991331420059f6c0127b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81643, "upload_time": "2019-08-28T20:09:28", "url": "https://files.pythonhosted.org/packages/f9/69/163c72bd22a93282646026026164a5c67ad91ec8598b794ec0195aa7babe/tomodachi-0.16.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "0eefcb7a8a4ad99275f8024472afb5c6", "sha256": "47b3bec545ac134666f19942c86b4d58840e76c8a5e783df6d97449cd698febb" }, "downloads": -1, "filename": "tomodachi-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0eefcb7a8a4ad99275f8024472afb5c6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30283, "upload_time": "2017-05-02T20:03:11", "url": "https://files.pythonhosted.org/packages/77/d9/03c172468841790ecf8d3d3f00966e3cd537e3874057ce8f5d7763bada91/tomodachi-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c163213e82307309e02a632ae14b97d4", "sha256": "d197454b018af065afac277c6d4cb1349b26632702a4bbcb9970a46de26f2fb8" }, "downloads": -1, "filename": "tomodachi-0.2.0.tar.gz", "has_sig": false, "md5_digest": "c163213e82307309e02a632ae14b97d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21785, "upload_time": "2017-05-02T20:03:12", "url": "https://files.pythonhosted.org/packages/21/5e/118d5fd9bfc8bc9766b1262a9754dffd3e8d7edd32b66a3f576f4e1523b8/tomodachi-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "6530f1fdc56159ba467bc7a91f1e51f5", "sha256": "cdba13da6efeccf5ff90e2ca13dbbc83f6366774d9f3df74264ce3951635771f" }, "downloads": -1, "filename": "tomodachi-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6530f1fdc56159ba467bc7a91f1e51f5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30535, "upload_time": "2017-05-03T06:35:38", "url": "https://files.pythonhosted.org/packages/54/aa/a57fca8bebc3d6f0136569e66758a44293ca74ce6f7ac3b208952ec44fc3/tomodachi-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0330718e20ec2d894aaa0c78421cb084", "sha256": "95fdc176e1cdf76e0b1934b869ef44645bd5898db3fb5b6fbdb547feb9127410" }, "downloads": -1, "filename": "tomodachi-0.2.1.tar.gz", "has_sig": false, "md5_digest": "0330718e20ec2d894aaa0c78421cb084", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22005, "upload_time": "2017-05-03T06:35:40", "url": "https://files.pythonhosted.org/packages/c8/ce/e315680d5f7191309a3d30e74b65fcca3a92c9fd63ac825824d71d009c25/tomodachi-0.2.1.tar.gz" } ], "0.2.10": [ { "comment_text": "", "digests": { "md5": "e6d7d7011e1571de9db1cc69993180f8", "sha256": "583ee6ebb49efbc7dfd87335e7be3569923e9a1134a66bb11298a8dfd1a42cc9" }, "downloads": -1, "filename": "tomodachi-0.2.10-py3-none-any.whl", "has_sig": false, "md5_digest": "e6d7d7011e1571de9db1cc69993180f8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31670, "upload_time": "2017-06-08T11:56:07", "url": "https://files.pythonhosted.org/packages/a0/44/b44de602c7555c621873feaf096307202365b1e1c2e555899cfc84a77102/tomodachi-0.2.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e194d27de0d51090e9340e006743149d", "sha256": "5ca21d4dc1e997ee1a51a521376e72245aa938d7eff65defdeacac6eb6cf5921" }, "downloads": -1, "filename": "tomodachi-0.2.10.tar.gz", "has_sig": false, "md5_digest": "e194d27de0d51090e9340e006743149d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23152, "upload_time": "2017-06-08T11:56:08", "url": "https://files.pythonhosted.org/packages/94/39/143645e33da98495d5465e1530519085061d6864c8454ad60fedc1adbdd3/tomodachi-0.2.10.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "ed4fd758455d276fa80f87d7d9106fff", "sha256": "cf0f1bf1ae1fd55b1e67b5cca3010dbc28eab7106c11e005ded44059f12a33b8" }, "downloads": -1, "filename": "tomodachi-0.2.11-py3-none-any.whl", "has_sig": false, "md5_digest": "ed4fd758455d276fa80f87d7d9106fff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31765, "upload_time": "2017-06-08T22:04:02", "url": "https://files.pythonhosted.org/packages/56/4e/fa4615b74ea0b37102a5462894d8487338d6f53167cfbaca7840dae3a34c/tomodachi-0.2.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d5d967237c57451a00ecf325d6218caa", "sha256": "4d708840b2ae5cb118368f02f4bf01d069fc692e2f347d4cc692f23992aa5c76" }, "downloads": -1, "filename": "tomodachi-0.2.11.tar.gz", "has_sig": false, "md5_digest": "d5d967237c57451a00ecf325d6218caa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23211, "upload_time": "2017-06-08T22:04:04", "url": "https://files.pythonhosted.org/packages/40/61/7381f121f8cfe11dd04efe7d36454b68813be80b26e1bb94163ac8cc3f10/tomodachi-0.2.11.tar.gz" } ], "0.2.12": [ { "comment_text": "", "digests": { "md5": "9ba6a956391a8748265aeba73c641fd4", "sha256": "df37101b3688e59c864da677a599b7a58175170141042f9c7b320b5b6527d80f" }, "downloads": -1, "filename": "tomodachi-0.2.12-py3-none-any.whl", "has_sig": false, "md5_digest": "9ba6a956391a8748265aeba73c641fd4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33421, "upload_time": "2017-06-18T21:36:52", "url": "https://files.pythonhosted.org/packages/84/aa/d2f443af2e124931902d5804a86f3d3a77652ccbbdfe7e2d63396bb830c0/tomodachi-0.2.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d7e722447d77b1004f204e9b6f7cee8", "sha256": "cd33dece61167e57c60c1f0d6e71803504cb5b1090e0594b64bfd7ede096edc7" }, "downloads": -1, "filename": "tomodachi-0.2.12.tar.gz", "has_sig": false, "md5_digest": "1d7e722447d77b1004f204e9b6f7cee8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24117, "upload_time": "2017-06-18T21:36:54", "url": "https://files.pythonhosted.org/packages/98/59/269b05ab1ed79aba4ff9502510a84880f62ca50804a561fed21be140c8e5/tomodachi-0.2.12.tar.gz" } ], "0.2.13": [ { "comment_text": "", "digests": { "md5": "2587def8bb219098644c08da57111a48", "sha256": "157c7883f37d2c3cc49ce07a344fab83a1dfaf673ee56c9bdbe47c28740f1414" }, "downloads": -1, "filename": "tomodachi-0.2.13-py3-none-any.whl", "has_sig": false, "md5_digest": "2587def8bb219098644c08da57111a48", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36372, "upload_time": "2017-06-20T15:21:03", "url": "https://files.pythonhosted.org/packages/ac/d2/59a3e08b5383c43b28c3eff1d5a62cec6a102ad59ead672568636469978f/tomodachi-0.2.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a3532b6f6b204ce9e84fc2f787cabd8c", "sha256": "bd85862722b60968df2ce11294043560cb0d9f5753ad022f0ebc560cf7e08b78" }, "downloads": -1, "filename": "tomodachi-0.2.13.tar.gz", "has_sig": false, "md5_digest": "a3532b6f6b204ce9e84fc2f787cabd8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27551, "upload_time": "2017-06-20T15:21:07", "url": "https://files.pythonhosted.org/packages/de/37/d3992e891943b739b2e84e83e2bfe3daf8eb6ce1a59ca186d5b3ae11411d/tomodachi-0.2.13.tar.gz" } ], "0.2.14": [ { "comment_text": "", "digests": { "md5": "6a86be4ee8ade1615a32678b4a1aa72d", "sha256": "11b7cb863e65c63192b57df90e0938b80c77546891d0864abf6f763c59bcecb9" }, "downloads": -1, "filename": "tomodachi-0.2.14-py3-none-any.whl", "has_sig": false, "md5_digest": "6a86be4ee8ade1615a32678b4a1aa72d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41309, "upload_time": "2017-06-29T22:13:30", "url": "https://files.pythonhosted.org/packages/1f/cd/09ae68231cfe6fd376763b4d420d292c42ea2c5d4e8c4891fda91aa4f667/tomodachi-0.2.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56f3a5619bd61e442ee1bbd01c5352b3", "sha256": "a93445b05a2e529d20e0aaecc203236c9dcecff078bf216179397f5c43f92c8e" }, "downloads": -1, "filename": "tomodachi-0.2.14.tar.gz", "has_sig": false, "md5_digest": "56f3a5619bd61e442ee1bbd01c5352b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31476, "upload_time": "2017-06-29T22:13:32", "url": "https://files.pythonhosted.org/packages/04/c4/28c9692efbaff2faeccf62e4b0e5b043264429db163fbe7f243195978b11/tomodachi-0.2.14.tar.gz" } ], "0.2.15": [ { "comment_text": "", "digests": { "md5": "37a329fc7d7b736319c203fb3dc3bdd9", "sha256": "0bcbe6ffc00c90ef3a02456f20e410054f315028e5e7bcb8b2bbbe135e17ca0f" }, "downloads": -1, "filename": "tomodachi-0.2.15-py3-none-any.whl", "has_sig": false, "md5_digest": "37a329fc7d7b736319c203fb3dc3bdd9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41432, "upload_time": "2017-07-01T22:00:51", "url": "https://files.pythonhosted.org/packages/9c/b0/1756c55b8a9b47699903f1189ed09ef8270d60c43f277af2227ad4b5c5a9/tomodachi-0.2.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6db9692a777f6ecab2afe1333ccc79a9", "sha256": "9b67231407b86bff083c67a15788d2a19775ecf75c435c538a3086cd80c98e6f" }, "downloads": -1, "filename": "tomodachi-0.2.15.tar.gz", "has_sig": false, "md5_digest": "6db9692a777f6ecab2afe1333ccc79a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31661, "upload_time": "2017-07-01T22:00:53", "url": "https://files.pythonhosted.org/packages/61/fd/5732ce83914f65eff7ad9604c2661e6dbd71118641ee614b4d5760102161/tomodachi-0.2.15.tar.gz" } ], "0.2.16": [ { "comment_text": "", "digests": { "md5": "c0efcece94de1d9dd941d3059e63a63e", "sha256": "634fec9ac61769ad488a3118bd8dd6c175637945c082eec1919e7f648a2ec252" }, "downloads": -1, "filename": "tomodachi-0.2.16-py3-none-any.whl", "has_sig": false, "md5_digest": "c0efcece94de1d9dd941d3059e63a63e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41257, "upload_time": "2017-07-02T18:30:21", "url": "https://files.pythonhosted.org/packages/50/33/176cc16964dbe87b89e81b7b73e3dad29c542a3938afeff1ca946f0855d0/tomodachi-0.2.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cf5e5053dd4210494a9445b8d258c7fc", "sha256": "e9531c53b3fa7aeb245818f6865f846eba2c9dd10df24de9c93a183a9c466618" }, "downloads": -1, "filename": "tomodachi-0.2.16.tar.gz", "has_sig": false, "md5_digest": "cf5e5053dd4210494a9445b8d258c7fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31424, "upload_time": "2017-07-02T18:30:22", "url": "https://files.pythonhosted.org/packages/7d/50/65be6d85d59536ee4f3746dea677023fac2f2f05ff1fd5657017419a8120/tomodachi-0.2.16.tar.gz" } ], "0.2.17": [ { "comment_text": "", "digests": { "md5": "bdba73489bc8425e59a4d310878d074e", "sha256": "1cd3f76f34bdbb550bb910ea58d0f411c034b6c0dc946ad077a66c0045e44d79" }, "downloads": -1, "filename": "tomodachi-0.2.17-py3-none-any.whl", "has_sig": false, "md5_digest": "bdba73489bc8425e59a4d310878d074e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42632, "upload_time": "2017-07-05T07:33:28", "url": "https://files.pythonhosted.org/packages/ee/1b/93de4e5632f40134eb14b2bb0fa02e7a8fe5fddbe8eecebe6ae07d487235/tomodachi-0.2.17-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44bfd8b3d624dd3a89f4c887702b7d6b", "sha256": "fe6ec8c90440809a2c1148c2d36eee162d5105fb39ae228ff4fd6f87a4423cff" }, "downloads": -1, "filename": "tomodachi-0.2.17.tar.gz", "has_sig": false, "md5_digest": "44bfd8b3d624dd3a89f4c887702b7d6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32751, "upload_time": "2017-07-05T07:33:30", "url": "https://files.pythonhosted.org/packages/83/ed/398a781ac0cddb5f338eaf9325d713460523f04cd451534f161ee8ad9e5b/tomodachi-0.2.17.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "3d357546394cc94987a813cfd3caaddb", "sha256": "fdfea0bc80194266901e7bc1c2aec6b85e2fffa60f7ddbda049f3d653ba74412" }, "downloads": -1, "filename": "tomodachi-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3d357546394cc94987a813cfd3caaddb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30795, "upload_time": "2017-05-04T08:31:22", "url": "https://files.pythonhosted.org/packages/f5/c3/580fc7f626f69b97fafdf3cce1da4f1c5d5144c9425447e77157dcdd8528/tomodachi-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83b717c2483b199611ad396fd0014b43", "sha256": "66460b51ccaa283453278255adb7fdf7299ed291af95ff7626f743de701da06a" }, "downloads": -1, "filename": "tomodachi-0.2.2.tar.gz", "has_sig": false, "md5_digest": "83b717c2483b199611ad396fd0014b43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22280, "upload_time": "2017-05-04T08:31:23", "url": "https://files.pythonhosted.org/packages/73/45/7ef1b7f116e7f9aedf0ed6eb275bb9b584ce55a80dc738f8be4dc35b7433/tomodachi-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "1779651fa2819dbb64904dba34c0b5bd", "sha256": "c72e5b2c51a9c05d2dfff81c0304a4025a94a795ff4d355d39dd29676fcbfcb9" }, "downloads": -1, "filename": "tomodachi-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1779651fa2819dbb64904dba34c0b5bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30896, "upload_time": "2017-05-10T15:03:40", "url": "https://files.pythonhosted.org/packages/d5/a7/f60159a7fb4f97dd18545045320a2b8160046c5cbc7696826bd364ab78d7/tomodachi-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "42651bd43d5843342b9b331eb2fad680", "sha256": "8bb62194de6b985690ca091571fbe5d9a1c0647fb87f249b9667ef9c7faba321" }, "downloads": -1, "filename": "tomodachi-0.2.3.tar.gz", "has_sig": false, "md5_digest": "42651bd43d5843342b9b331eb2fad680", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22423, "upload_time": "2017-05-10T15:03:43", "url": "https://files.pythonhosted.org/packages/31/dd/ac376b6765f4850f9c8fbee44290157042d8e2190c8f58ec5826315f6906/tomodachi-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "db033e0a8eefca8ad8224094d18e788a", "sha256": "889ee30624571a438ab4350d6120907b566a664540edda894c3d72b1f5a2a5c2" }, "downloads": -1, "filename": "tomodachi-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "db033e0a8eefca8ad8224094d18e788a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30901, "upload_time": "2017-05-12T13:17:32", "url": "https://files.pythonhosted.org/packages/68/ef/31c9ae88c9eb828c4051e65ec80c8e1c508fc80c17d91aa71d7a2cafa5ca/tomodachi-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2353404d0e81fafee0377b8a4177e06", "sha256": "a38f94c8cf42b3d4aa073c374b819889a0d0a9eae9c0693dda1ccd31f20745ff" }, "downloads": -1, "filename": "tomodachi-0.2.4.tar.gz", "has_sig": false, "md5_digest": "f2353404d0e81fafee0377b8a4177e06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22434, "upload_time": "2017-05-12T13:17:34", "url": "https://files.pythonhosted.org/packages/b5/f6/00c87aa9ea9de56140c40ace51371b8c7391eae78da7a5d45e0005164c1f/tomodachi-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "ea1548b70e881a95dbafa48b48f0d805", "sha256": "e5b25dfd7fd5c456781919fd19a3f51e0c06d7bad6b50e8758059832d118aec3" }, "downloads": -1, "filename": "tomodachi-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "ea1548b70e881a95dbafa48b48f0d805", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30981, "upload_time": "2017-05-16T12:20:04", "url": "https://files.pythonhosted.org/packages/b5/e4/9626ae77968731750d913563bd9f8163a724054d5fc7b6f594e1d60643e8/tomodachi-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba5e870e0292f8103eeb6b9745d4dc34", "sha256": "5368a55c76122bb2c1495dc11baae3057145c6df3f96f8f3d4b5f5804dcf8646" }, "downloads": -1, "filename": "tomodachi-0.2.5.tar.gz", "has_sig": false, "md5_digest": "ba5e870e0292f8103eeb6b9745d4dc34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22503, "upload_time": "2017-05-16T12:20:07", "url": "https://files.pythonhosted.org/packages/0f/37/bf9e0f3a57a0336d6f41fd84fb1fa860f2584e4bdf68c7b6fc5c25b453b8/tomodachi-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "2190e3e9ba76186f593329edbc990447", "sha256": "730173298a7777cb25ec85af97b0e6c6e971ca2a59bbf40756bbd3d1ed0104e1" }, "downloads": -1, "filename": "tomodachi-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "2190e3e9ba76186f593329edbc990447", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31195, "upload_time": "2017-05-22T20:30:32", "url": "https://files.pythonhosted.org/packages/1f/b1/6c81b72a92a9447344ecffe163439a073218be8bbd4d9b525997f3a269d5/tomodachi-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36d87c99c9c864d577169c2488388877", "sha256": "04c350f90b8cd69da4d6af1ec02b610c790828e4e46b26b9e76f1956eee5a8d2" }, "downloads": -1, "filename": "tomodachi-0.2.6.tar.gz", "has_sig": false, "md5_digest": "36d87c99c9c864d577169c2488388877", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22758, "upload_time": "2017-05-22T20:30:35", "url": "https://files.pythonhosted.org/packages/ef/1f/d79c7a58cc926e07f28848554212072f492eda492517a7c24f008f29fe85/tomodachi-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "2c15d4824d0ee1c75469c3bf103c0c56", "sha256": "7f28383842f2663aa31f577fd2b0ba940a6f3f18704ac80a613f511c60004210" }, "downloads": -1, "filename": "tomodachi-0.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "2c15d4824d0ee1c75469c3bf103c0c56", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31522, "upload_time": "2017-05-23T11:01:06", "url": "https://files.pythonhosted.org/packages/8b/b1/9759fd297553ee0d2e1ce8da0a5299f7f8695522bf1640ec55d25ec99b08/tomodachi-0.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a43919bcdecea925d3071b4a938810f2", "sha256": "a707522c3c0f15cb54fe9a6c04de3bc4b8de090f10a727e062da8195501a24ae" }, "downloads": -1, "filename": "tomodachi-0.2.7.tar.gz", "has_sig": false, "md5_digest": "a43919bcdecea925d3071b4a938810f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23008, "upload_time": "2017-05-23T11:01:09", "url": "https://files.pythonhosted.org/packages/f4/b4/b7b030e72cc3b3d6e2c60e1aa75b8f4b1555f3bb033972774c889eacad13/tomodachi-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "c699079b28feeef14f89269d5cacd559", "sha256": "8b3434359d571b79403951ed6a7117d2ea221e134ce8c848032356916d7fff70" }, "downloads": -1, "filename": "tomodachi-0.2.8-py3-none-any.whl", "has_sig": false, "md5_digest": "c699079b28feeef14f89269d5cacd559", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31566, "upload_time": "2017-05-23T13:29:05", "url": "https://files.pythonhosted.org/packages/66/ac/e19370b9e5388e45c5234d50b52dc96d81c9f635878e8f930ca3f63cd660/tomodachi-0.2.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "08554a4788aefc1092366763b569e6ab", "sha256": "b3c23ce2a5e416766b7cf71b76398bb0e8700f73c540ad21d49056d1b13da9f5" }, "downloads": -1, "filename": "tomodachi-0.2.8.tar.gz", "has_sig": false, "md5_digest": "08554a4788aefc1092366763b569e6ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23076, "upload_time": "2017-05-23T13:29:08", "url": "https://files.pythonhosted.org/packages/2e/16/13b71ba6bb31862fcc65887648f9798e49b9c9c9225f02137b3347f64283/tomodachi-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "ad7fbc8d22398823393ff68752089f97", "sha256": "396387cfd32b1950418d07ab42974d20f03c192ed26964aafab97978dfd2315c" }, "downloads": -1, "filename": "tomodachi-0.2.9-py3-none-any.whl", "has_sig": false, "md5_digest": "ad7fbc8d22398823393ff68752089f97", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31634, "upload_time": "2017-06-06T21:42:51", "url": "https://files.pythonhosted.org/packages/f1/43/6e22bc60cee4a754bfa1cfcff88085411985ef02dfe4e8f6dcfdf8cba457/tomodachi-0.2.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40c061093695ca61129e664cd9924a34", "sha256": "39b093183548f63133b4861ed16906cb97e950835a7036a49f8c94287f9ef9b7" }, "downloads": -1, "filename": "tomodachi-0.2.9.tar.gz", "has_sig": false, "md5_digest": "40c061093695ca61129e664cd9924a34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23140, "upload_time": "2017-06-06T21:42:54", "url": "https://files.pythonhosted.org/packages/a3/30/35d0d744e7a98543e228da322cc00a51cea8bf6b4007d742199edcc34d08/tomodachi-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "18e7a6b070f8a638c46fea194d95f9c8", "sha256": "56af3cdba3f0c815838b0079dd036717364c3030881a01a61463306360aa8ad1" }, "downloads": -1, "filename": "tomodachi-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "18e7a6b070f8a638c46fea194d95f9c8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43744, "upload_time": "2017-07-25T07:38:43", "url": "https://files.pythonhosted.org/packages/02/35/dbd6783cd677989fc74238942da03b6e1f34721d53cdd177a6ea52c14927/tomodachi-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "85405378b0ac8f02cf62b3079a5eda95", "sha256": "1f2a59a00cb6599eb209924995a682c1881b47dce65bfc5b7c53ae8e0ac656c1" }, "downloads": -1, "filename": "tomodachi-0.3.0.tar.gz", "has_sig": false, "md5_digest": "85405378b0ac8f02cf62b3079a5eda95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33944, "upload_time": "2017-07-25T07:38:45", "url": "https://files.pythonhosted.org/packages/7d/75/ea4a9a486be51eb6865b13c6f6b759b2b7ed5cee5410048a61401976bb31/tomodachi-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "3bfd71be5ea02868ba9179a1ce996ba6", "sha256": "bca2a90b16558f25380a2fce156f4c937dcb17ee336009d9d1c9728dbde9668c" }, "downloads": -1, "filename": "tomodachi-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3bfd71be5ea02868ba9179a1ce996ba6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44475, "upload_time": "2017-08-05T12:46:25", "url": "https://files.pythonhosted.org/packages/d5/e4/527ae2919d4dfb7c0bcb689806a372f9255edf41ad999757caaad1b3981c/tomodachi-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45a3b407962df11850c9694b2f2b61dc", "sha256": "289140804d85f3bb7e146d5d10a8502c9fb3cd3c01733bd202f38f3c885031ba" }, "downloads": -1, "filename": "tomodachi-0.4.0.tar.gz", "has_sig": false, "md5_digest": "45a3b407962df11850c9694b2f2b61dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34704, "upload_time": "2017-08-05T12:46:26", "url": "https://files.pythonhosted.org/packages/de/d3/cf13f7d53c8107a5d241c218ef0c2f4bb1e2a6d566023fa3972828df6636/tomodachi-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "f9d53849e0d3a47860ad893fff16c86a", "sha256": "95aaba2bdf67e31fdc2c7e6c56f824142dd47e7eac3f1a87ef43cff7d2d641ee" }, "downloads": -1, "filename": "tomodachi-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f9d53849e0d3a47860ad893fff16c86a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44584, "upload_time": "2017-08-05T15:27:47", "url": "https://files.pythonhosted.org/packages/d2/50/0522b0b62f3f8f0a2cb56602ac8d272eba771ab4f465288f2787267af2f6/tomodachi-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf0fe3e42c9fb1999c88afa36f1413f2", "sha256": "a1699f9ef558c152e0e17ba03544c48c1af846d26f7a104a4c7d56e5d1c5d471" }, "downloads": -1, "filename": "tomodachi-0.4.1.tar.gz", "has_sig": false, "md5_digest": "bf0fe3e42c9fb1999c88afa36f1413f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34752, "upload_time": "2017-08-05T15:27:49", "url": "https://files.pythonhosted.org/packages/9d/db/38e5c2b883ecd6ad17724f0252441bfd93898ebd055bf8c49ed717ad0d06/tomodachi-0.4.1.tar.gz" } ], "0.4.10": [ { "comment_text": "", "digests": { "md5": "aeb88afd0d0a2d353092f396ee7a93d7", "sha256": "38dd814c37ed74dc51211c8fa1fdb7e5a0bf7361d9d85cc504214e27e96b0850" }, "downloads": -1, "filename": "tomodachi-0.4.10-py3-none-any.whl", "has_sig": false, "md5_digest": "aeb88afd0d0a2d353092f396ee7a93d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 47115, "upload_time": "2017-10-02T15:13:07", "url": "https://files.pythonhosted.org/packages/82/b2/b930bfccbaa9a78d7f12f24c97c0f8a597d9895ffc1881095a71205d72ea/tomodachi-0.4.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d1fd33aa1a4d1be6540cbe2f2d6b082", "sha256": "a80c44ed3e845951443f2c0c765a300628085be654b4737a45a3536350f68a93" }, "downloads": -1, "filename": "tomodachi-0.4.10.tar.gz", "has_sig": false, "md5_digest": "6d1fd33aa1a4d1be6540cbe2f2d6b082", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37462, "upload_time": "2017-10-02T15:13:10", "url": "https://files.pythonhosted.org/packages/86/c0/865380b355d09af930206a8765c4accef74a867e66bca01225fb24432249/tomodachi-0.4.10.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "377c5afc3d60bf2017a82834870267b9", "sha256": "e64da6a66fa60118c2d3c7a95193d0d390961bcf1c32abc6759849e59d52507a" }, "downloads": -1, "filename": "tomodachi-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "377c5afc3d60bf2017a82834870267b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44712, "upload_time": "2017-08-07T11:18:03", "url": "https://files.pythonhosted.org/packages/9c/37/da48e44f5897fd1f3f38f87dee404820536b2d1e53f129da8ee293017fd1/tomodachi-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d2cd8806887efbae6f56b6c1dc6d35ae", "sha256": "411791b961c36c56e988af5e0e6f6258e6e011a64788411a391beb842ce0db8c" }, "downloads": -1, "filename": "tomodachi-0.4.2.tar.gz", "has_sig": false, "md5_digest": "d2cd8806887efbae6f56b6c1dc6d35ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34939, "upload_time": "2017-08-07T11:18:05", "url": "https://files.pythonhosted.org/packages/f8/ff/178090802fa1a8ec87ab56dd6435bbd96f9f6e82948bf15c2943614a476e/tomodachi-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "f539635aeed2a74e66ec47f1b5fd641f", "sha256": "c4999ea5dbf9859cd1cee07bc5f2452f2528fd292104210003a7bbd84af78c69" }, "downloads": -1, "filename": "tomodachi-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f539635aeed2a74e66ec47f1b5fd641f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44869, "upload_time": "2017-08-09T11:38:53", "url": "https://files.pythonhosted.org/packages/54/c4/df99bae9ce4b77a8195b9526f6fcaab30fe2f6154994b0ae4f33020a65a9/tomodachi-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2260bf8a3d825c15533d7f4f0778bfda", "sha256": "be14b2475be6613f746280a7275301a7b4c1e6478996fb59588d8efbef71db87" }, "downloads": -1, "filename": "tomodachi-0.4.3.tar.gz", "has_sig": false, "md5_digest": "2260bf8a3d825c15533d7f4f0778bfda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35099, "upload_time": "2017-08-09T11:38:54", "url": "https://files.pythonhosted.org/packages/37/d7/f9439bd20513311469ca09fbdab58353bac102ca55ae6720b0f0d798ca02/tomodachi-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "cc4551676a39e2758722225f40324d75", "sha256": "9dad9199dbc4b1e4cff4b39bbe09bbdc47859f59590f12724a09e611d0857c31" }, "downloads": -1, "filename": "tomodachi-0.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "cc4551676a39e2758722225f40324d75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 45277, "upload_time": "2017-08-24T22:01:21", "url": "https://files.pythonhosted.org/packages/13/2c/fa64b18fc791563ac51a1371324f19e60a31d74edbd656bbaeb8ec74d2b9/tomodachi-0.4.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9c3605b76cf472156aad5015f387e24", "sha256": "a75b5609f4d8784a25653d29f8346c401ede66f6c176ccb86c8ec7da1e314452" }, "downloads": -1, "filename": "tomodachi-0.4.4.tar.gz", "has_sig": false, "md5_digest": "e9c3605b76cf472156aad5015f387e24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35547, "upload_time": "2017-08-24T22:01:24", "url": "https://files.pythonhosted.org/packages/84/db/6b8521be48dbebd2bbfeb7c62db980f8fb83a7689df4ba91d3fc55ba7bf9/tomodachi-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "0dc84db429a85b454cdf3bd83f0aab1b", "sha256": "6892ea0ec0b50e0ffb02813a963e11833c6d3615ea58bca227ab0d1fe4d3217c" }, "downloads": -1, "filename": "tomodachi-0.4.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0dc84db429a85b454cdf3bd83f0aab1b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 45751, "upload_time": "2017-09-07T06:31:27", "url": "https://files.pythonhosted.org/packages/2a/34/07ce54a679a654563e280880f3fe1a0fd1da8118c883b3083e2d24c29578/tomodachi-0.4.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5de06eabf5b00fef8769d48ae3e251d1", "sha256": "33af5eb99ff73e258cc09f9db8a0724ccbc32857df2ca4039917c7cba5d351e6" }, "downloads": -1, "filename": "tomodachi-0.4.5.tar.gz", "has_sig": false, "md5_digest": "5de06eabf5b00fef8769d48ae3e251d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36055, "upload_time": "2017-09-07T06:31:28", "url": "https://files.pythonhosted.org/packages/e7/3e/36afd4dc94800b1ac74dccc8ec38c902158b6be24cc4135e18c7283a3867/tomodachi-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "bd1e00116c5dc38431c9d36eda5edcd2", "sha256": "c00038f5ba0c1278a312f51d17781dcd225444538a872401b0c9a65395c0c12e" }, "downloads": -1, "filename": "tomodachi-0.4.6-py3-none-any.whl", "has_sig": false, "md5_digest": "bd1e00116c5dc38431c9d36eda5edcd2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 46186, "upload_time": "2017-09-29T13:44:32", "url": "https://files.pythonhosted.org/packages/04/96/92715e49d5bfa2070d0b2f2f9da9c710a570414b54e407bc5c3b73953acf/tomodachi-0.4.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40c1229c24a6ee92136318ceb08d2def", "sha256": "26521780781bdebe1d6c51972dc0984e632029073b1657bc4aea8c9e2061e226" }, "downloads": -1, "filename": "tomodachi-0.4.6.tar.gz", "has_sig": false, "md5_digest": "40c1229c24a6ee92136318ceb08d2def", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36600, "upload_time": "2017-09-29T13:44:36", "url": "https://files.pythonhosted.org/packages/5a/43/d8c962ef39d31e94edf78ffc3e3ff03b178b6d9ab37040402287fd7d07f5/tomodachi-0.4.6.tar.gz" } ], "0.4.7": [ { "comment_text": "", "digests": { "md5": "35732c16f69eadaa610a2d9a5c5dc60b", "sha256": "a7f72162e73e2e3ca21b5b50cf13e6ab36726ca3be94e0d48083166f121d955b" }, "downloads": -1, "filename": "tomodachi-0.4.7-py3-none-any.whl", "has_sig": false, "md5_digest": "35732c16f69eadaa610a2d9a5c5dc60b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 46705, "upload_time": "2017-09-29T22:01:12", "url": "https://files.pythonhosted.org/packages/46/ae/bfb289c401152366275f391423ff96e2058e4a379a9529db612c65ed6366/tomodachi-0.4.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7743c8b9a631a261a0fcba7435e9d160", "sha256": "7b03a47fcaf87daccfcf2618cbbb43f51d0098a1102d4d91dbc747e983737748" }, "downloads": -1, "filename": "tomodachi-0.4.7.tar.gz", "has_sig": false, "md5_digest": "7743c8b9a631a261a0fcba7435e9d160", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37116, "upload_time": "2017-09-29T22:01:18", "url": "https://files.pythonhosted.org/packages/c9/b5/bb3dfeb1a22b18116a90a62e2872856a5817fd0ae89a5463d5bcd25de5bb/tomodachi-0.4.7.tar.gz" } ], "0.4.8": [ { "comment_text": "", "digests": { "md5": "092c254b70887d47303ef9c27ea6ec8f", "sha256": "28551ce1e19001b972cada29fb1f7b538e835eab9bfa445d8f2e9474de7b3573" }, "downloads": -1, "filename": "tomodachi-0.4.8-py3-none-any.whl", "has_sig": false, "md5_digest": "092c254b70887d47303ef9c27ea6ec8f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 46968, "upload_time": "2017-10-02T07:38:04", "url": "https://files.pythonhosted.org/packages/0d/46/7b218e6a87bd9df070ca92eb8706af13b46ec39586027e5c9bfbf0ad2c5b/tomodachi-0.4.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "abd9c63201a84bfe60c92e958d6228c8", "sha256": "43670bd634851457154750b3c469b7d3381ccd5e8ee1663ed4fb54029bbb9a2b" }, "downloads": -1, "filename": "tomodachi-0.4.8.tar.gz", "has_sig": false, "md5_digest": "abd9c63201a84bfe60c92e958d6228c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37289, "upload_time": "2017-10-02T07:38:06", "url": "https://files.pythonhosted.org/packages/6b/d6/0884a8e81eaf9109eed77ed74221fc6439ed4f1350b6765f30b9479b0fd1/tomodachi-0.4.8.tar.gz" } ], "0.4.9": [ { "comment_text": "", "digests": { "md5": "eaf807edc6cb1fd6f5449bb680e298fd", "sha256": "ea5fa9d48c44e5f0bbbf16f25460241db834110570f5cfcf82088bdf3de6e12b" }, "downloads": -1, "filename": "tomodachi-0.4.9-py3-none-any.whl", "has_sig": false, "md5_digest": "eaf807edc6cb1fd6f5449bb680e298fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 47050, "upload_time": "2017-10-02T14:34:24", "url": "https://files.pythonhosted.org/packages/4c/51/ad27a21ab63d9219ae896fdb176a71a6f22a36f65bc0ace742f06c98a4b6/tomodachi-0.4.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ea57dc950f0abcb38cf6cef7d9d3617", "sha256": "ab6bf8f1bcb764745169ca71c708dfb0fb68a374bab53848de8ae7cca6944816" }, "downloads": -1, "filename": "tomodachi-0.4.9.tar.gz", "has_sig": false, "md5_digest": "5ea57dc950f0abcb38cf6cef7d9d3617", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37406, "upload_time": "2017-10-02T14:34:26", "url": "https://files.pythonhosted.org/packages/4b/af/c5080a04f672a7987092daa1c03bc7a86d4610e6b407301e1a6fa9c68041/tomodachi-0.4.9.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "e3e900cd207c63ca85a97b94a3602181", "sha256": "0d9f9be98b11ff06da7ccfca0323678267a2abc700edbcc5576661d0ae964f3a" }, "downloads": -1, "filename": "tomodachi-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e3e900cd207c63ca85a97b94a3602181", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 47331, "upload_time": "2017-10-02T17:03:24", "url": "https://files.pythonhosted.org/packages/27/54/4cf419693a7a1a0ccb1fe307f8edad14056c23fcc8faf531f11347b3c47d/tomodachi-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7aec42e2e2f3909b45a7293fd9083604", "sha256": "8457f4f7b4b895c59db55ef53577c3ef13e945ec6688b4a0225a6ed7966d6acb" }, "downloads": -1, "filename": "tomodachi-0.5.0.tar.gz", "has_sig": false, "md5_digest": "7aec42e2e2f3909b45a7293fd9083604", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37710, "upload_time": "2017-10-02T17:03:30", "url": "https://files.pythonhosted.org/packages/30/af/1861d97cf1817a46b2313e55d026eef8e7279148b9859b392e51d3114214/tomodachi-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "95b4634af7a86835b7f53a4b583c3759", "sha256": "e98f2a299ec3f3d5247dc289a58f7afc922ddca01d76de75b8b18102d15d0dbf" }, "downloads": -1, "filename": "tomodachi-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "95b4634af7a86835b7f53a4b583c3759", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 48241, "upload_time": "2017-10-03T08:48:03", "url": "https://files.pythonhosted.org/packages/4e/da/f4ebe0f2a402bf94d676bf4651599bd2627ce632ac27f84abe9a111d8988/tomodachi-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1cbc1455470a6f47e944df6d0ff80549", "sha256": "fdbe8d64580d54b8c004c1d8162df4898124ae322de2a06cb4066824585309c0" }, "downloads": -1, "filename": "tomodachi-0.5.1.tar.gz", "has_sig": false, "md5_digest": "1cbc1455470a6f47e944df6d0ff80549", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38714, "upload_time": "2017-10-03T08:48:05", "url": "https://files.pythonhosted.org/packages/00/ba/b789c44f88e80b80b46ec33eae2981c4c2f349d63c57934893dc93a4bfbe/tomodachi-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "835e8632b4aea592f5dd3f0d8ba58787", "sha256": "ac5e64b528362a60f1e3dad6337ea33ffb017d0b147a859537759ce3eb882422" }, "downloads": -1, "filename": "tomodachi-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "835e8632b4aea592f5dd3f0d8ba58787", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 48634, "upload_time": "2017-10-08T21:40:49", "url": "https://files.pythonhosted.org/packages/be/5e/9e15a50d83a9dfab5322792d24da505d6051bcfd59ef736c3362ead5b095/tomodachi-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7966df7b94ba17fd7c6d7e219ae50a6c", "sha256": "f1d5ac9c9e5d1d7cd9564f94a4ab257e97fcc210eb115b148f1799e37865e3d4" }, "downloads": -1, "filename": "tomodachi-0.5.2.tar.gz", "has_sig": false, "md5_digest": "7966df7b94ba17fd7c6d7e219ae50a6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39092, "upload_time": "2017-10-08T21:40:51", "url": "https://files.pythonhosted.org/packages/ef/0b/e9eddd34c027e5960e6d330337dd8fef96ea500ffa1ec9a0a1f79a2e7f66/tomodachi-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "3aab2085697a68124a0e95ec614e86c4", "sha256": "e9184d0832cedeae096750e7e61c4d9ba66e136c27872feb3aa2142024f9d236" }, "downloads": -1, "filename": "tomodachi-0.5.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3aab2085697a68124a0e95ec614e86c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49018, "upload_time": "2017-11-08T11:04:45", "url": "https://files.pythonhosted.org/packages/6a/6a/9b91f94f63e45c6bdd8e5b1a529b5beecea2b3abbe8823e3e067d737f2c6/tomodachi-0.5.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e27253ca13b5ef94e20a10a534832ba8", "sha256": "bf2d3be66b93adb4fa48ad352e40089b98d57342d2de496616c04b960dfce35a" }, "downloads": -1, "filename": "tomodachi-0.5.3.tar.gz", "has_sig": false, "md5_digest": "e27253ca13b5ef94e20a10a534832ba8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39541, "upload_time": "2017-11-08T11:04:47", "url": "https://files.pythonhosted.org/packages/9d/a1/95196e577d7002ea1519aa517873bc875aa76ce6b3edcee5a5cd9db919b6/tomodachi-0.5.3.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "0779743bf3a58d41b7a6609351c58629", "sha256": "111b6616b81a258bd806f16df62f4074253c843ed0e5034fb225fd5e542323a0" }, "downloads": -1, "filename": "tomodachi-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0779743bf3a58d41b7a6609351c58629", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49188, "upload_time": "2017-11-15T10:15:41", "url": "https://files.pythonhosted.org/packages/a5/8f/531827b234fef116a7167521004c208ce9dca4b10f900d61c5c8e113e851/tomodachi-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d4b93d895c02058bd7c2e23971f8036", "sha256": "8b4ac3743f61a101f3a8327f3a6709275b675fd771231b7898cf88b1eb6a8de9" }, "downloads": -1, "filename": "tomodachi-0.6.0.tar.gz", "has_sig": false, "md5_digest": "0d4b93d895c02058bd7c2e23971f8036", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39730, "upload_time": "2017-11-15T10:15:44", "url": "https://files.pythonhosted.org/packages/16/1c/18bfe9d22799182f8ed965ff2f2bf4177b2fcd1dca2c669d2d75a86d1658/tomodachi-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "ca0a29a6de19a7a72dc60ea9c30fe03c", "sha256": "d91e62f3e55da8d6510f07f52662eddb9a453ebdf6392466e2e748445bcb3fda" }, "downloads": -1, "filename": "tomodachi-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ca0a29a6de19a7a72dc60ea9c30fe03c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49709, "upload_time": "2017-11-15T22:50:20", "url": "https://files.pythonhosted.org/packages/f2/3d/547ceb28dac0f5e01da3e1842e7f424c18d92dac375174eec4d284594230/tomodachi-0.6.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca3664f115843172763542205026ece7", "sha256": "69533d340686c50dcf5d7b28a56cdca9218dc2f0760ab47e99d3ac9617535d60" }, "downloads": -1, "filename": "tomodachi-0.6.1.tar.gz", "has_sig": false, "md5_digest": "ca3664f115843172763542205026ece7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40499, "upload_time": "2017-11-15T22:50:21", "url": "https://files.pythonhosted.org/packages/7c/a7/5ff8d610226a73ddb4005a887d2bc1a976238c02161a06b104a6a273157b/tomodachi-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "2d3eca3b626c3a559a21d7ae24df99ef", "sha256": "c4c995fcc625bd47cf59044060f7708676908cfb0308862e4a1370abaafa296b" }, "downloads": -1, "filename": "tomodachi-0.6.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2d3eca3b626c3a559a21d7ae24df99ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49786, "upload_time": "2017-11-16T11:03:36", "url": "https://files.pythonhosted.org/packages/c1/7b/c26238b56db48c79bb0eba2397bf62947b8767c1e71763c0c9e77b749e58/tomodachi-0.6.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39567e2da80709bd17dced6e296e4fd0", "sha256": "6139b94e9c63d945445b259e1233da8861efd71fb14991462ab8ce2b4aa19bf3" }, "downloads": -1, "filename": "tomodachi-0.6.2.tar.gz", "has_sig": false, "md5_digest": "39567e2da80709bd17dced6e296e4fd0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40586, "upload_time": "2017-11-16T11:03:38", "url": "https://files.pythonhosted.org/packages/30/35/4715a813a746afcc62fc2b0f1d423a4422eb870e1772b1984b16a3100849/tomodachi-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "d3708c8ad3f1db8e23bad536515365a6", "sha256": "23149074940b7f5ea4790c173dbbfd43cc09404a294f21879bb21e3e045a8360" }, "downloads": -1, "filename": "tomodachi-0.6.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d3708c8ad3f1db8e23bad536515365a6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 50109, "upload_time": "2018-01-12T08:54:39", "url": "https://files.pythonhosted.org/packages/0a/33/3804b99e0546910dec82c544af3979fb1dbadd2698520a63ef28ab34e7e4/tomodachi-0.6.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9d5803e0901685cfcb2f928eceefeb7", "sha256": "7d5f8aa36f3f9276b50bf02f4e462fb7fd058500be2a895e8ed7d562ea508af5" }, "downloads": -1, "filename": "tomodachi-0.6.3.tar.gz", "has_sig": false, "md5_digest": "e9d5803e0901685cfcb2f928eceefeb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40996, "upload_time": "2018-01-12T08:54:41", "url": "https://files.pythonhosted.org/packages/27/56/a952c7cae5de38e109140e44fad9e7f6da3f0da9c660d6e9a12b85b44beb/tomodachi-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "84213ef77840141fb9e15f067359d762", "sha256": "145a65c32a2f993efed62fccf9743f5782a6d40e9035272808b64bebde7a46fb" }, "downloads": -1, "filename": "tomodachi-0.6.4-py3-none-any.whl", "has_sig": false, "md5_digest": "84213ef77840141fb9e15f067359d762", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 50180, "upload_time": "2018-01-15T13:47:52", "url": "https://files.pythonhosted.org/packages/3b/78/6436114425a3e13bb9bb75c7d6ae3f18924accbb48d1397be04d0009de66/tomodachi-0.6.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd01d574ba88ec18a2a2d883e2eb35b1", "sha256": "6a8ee0d780ebe674ca75cd388e611824b51af91a3883612e19b0d21acefc0533" }, "downloads": -1, "filename": "tomodachi-0.6.4.tar.gz", "has_sig": false, "md5_digest": "dd01d574ba88ec18a2a2d883e2eb35b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41083, "upload_time": "2018-01-15T13:47:54", "url": "https://files.pythonhosted.org/packages/56/27/bdb8cad31119fe86a03acee4b84eb846721caa7f9d25aaf1cad5964e5aac/tomodachi-0.6.4.tar.gz" } ], "0.6.5": [ { "comment_text": "", "digests": { "md5": "436a3142680e0a24309d752550d47de5", "sha256": "e949bf18b9aca85d10f2e91f2be581296861649ff1970b0156d92d71611fb75d" }, "downloads": -1, "filename": "tomodachi-0.6.5-py3-none-any.whl", "has_sig": false, "md5_digest": "436a3142680e0a24309d752550d47de5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 50239, "upload_time": "2018-01-16T07:42:51", "url": "https://files.pythonhosted.org/packages/63/b0/4a35f596f2c23d75d2b88f4900eece32d0421c1afb7d8300efb952638546/tomodachi-0.6.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "443d4d40bf77ef9e9e376ef249ac4d84", "sha256": "139a051e594529794097e2fdd867d65f61a9576d8c82f85fe407c1e2f876bbd6" }, "downloads": -1, "filename": "tomodachi-0.6.5.tar.gz", "has_sig": false, "md5_digest": "443d4d40bf77ef9e9e376ef249ac4d84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41160, "upload_time": "2018-01-16T07:42:52", "url": "https://files.pythonhosted.org/packages/42/2f/48fcbbf646933e80cc0e2cf06b0c6c160ccd6571737fcfc8ae1724518e01/tomodachi-0.6.5.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "8b8b753026baf8a5ae7aa42023015349", "sha256": "16cb72a509950a857b951810f1aeaab1dff1c7a4d5c15213b845886a06a06973" }, "downloads": -1, "filename": "tomodachi-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8b8b753026baf8a5ae7aa42023015349", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 50917, "upload_time": "2018-01-27T19:23:23", "url": "https://files.pythonhosted.org/packages/d7/e8/87cd2a973c6d3a80d5ab19e844d7589990eea500d0b27c1601a9e945507c/tomodachi-0.7.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6763b56a3820232b65adb163040a3a0c", "sha256": "193f0731ec05a243deae2d89c32c37f69667bda595d535703f55d3e1e74d7b37" }, "downloads": -1, "filename": "tomodachi-0.7.0.tar.gz", "has_sig": false, "md5_digest": "6763b56a3820232b65adb163040a3a0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41804, "upload_time": "2018-01-27T19:23:24", "url": "https://files.pythonhosted.org/packages/5a/5f/d9b6dc9e8f5e6756e2454d0ee53e18f9da7981b2f89d79de7e3c1e0d9e9b/tomodachi-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "657e2c2f67aa4e32ebfba4058198d40e", "sha256": "48183300190a16cfc68f122a43aff738ab6c0b366d81a8fcfb22379df4dfe071" }, "downloads": -1, "filename": "tomodachi-0.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "657e2c2f67aa4e32ebfba4058198d40e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 53019, "upload_time": "2018-02-27T19:11:12", "url": "https://files.pythonhosted.org/packages/8b/3b/89931e5f3187b3d97d3026abc5e54d351a2f3d2204d4eef007806995d01e/tomodachi-0.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d4bd0eef605558fa96a93bcd31489b74", "sha256": "c34a3dbf9eaaf8638992f369b46439241c01abe5a224a344e5080cf50baa51cc" }, "downloads": -1, "filename": "tomodachi-0.8.0.tar.gz", "has_sig": false, "md5_digest": "d4bd0eef605558fa96a93bcd31489b74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43838, "upload_time": "2018-02-27T19:11:13", "url": "https://files.pythonhosted.org/packages/56/8d/756ee70d2e927381ba4021bb0fa5235249d792963dfe3ebd1b09b1fc56a2/tomodachi-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "666dececb650656de1472536e4f09745", "sha256": "c948bccf69db3d9e9d80b3e6121f566c072d7ddac089201d152cf06537808cc8" }, "downloads": -1, "filename": "tomodachi-0.8.1-py3-none-any.whl", "has_sig": false, "md5_digest": "666dececb650656de1472536e4f09745", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 53070, "upload_time": "2018-02-27T19:14:11", "url": "https://files.pythonhosted.org/packages/af/f3/413f8c886891eb32cba9c57b16efd0aefce651da071681f426f88210407a/tomodachi-0.8.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d2c81f4c98806ca27be01473afcb923", "sha256": "075c22f3199815729478df156ff86ab218c486e7d46fb5a807f2caf0a78a405a" }, "downloads": -1, "filename": "tomodachi-0.8.1.tar.gz", "has_sig": false, "md5_digest": "0d2c81f4c98806ca27be01473afcb923", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43886, "upload_time": "2018-02-27T19:14:13", "url": "https://files.pythonhosted.org/packages/e7/7b/4fb1738391741c406d13c0f65b2da1dde816d81d5b85eeadebc9494aae98/tomodachi-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "222c956c5b492642729bb477655efaa5", "sha256": "865d675b6bd868e1381f2750644b95f007ad80908449f68c5098606000daa715" }, "downloads": -1, "filename": "tomodachi-0.8.2-py3-none-any.whl", "has_sig": false, "md5_digest": "222c956c5b492642729bb477655efaa5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 50748, "upload_time": "2018-02-28T17:15:24", "url": "https://files.pythonhosted.org/packages/bc/eb/5974204171dc8b8f03f1a97437b907f365ade20e85664334ea03c350526f/tomodachi-0.8.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16c9afb56693a962d0829d17b7e48227", "sha256": "592e929f4ac274393cbd111af65cf0dd55e4400c7d67c13aa5dcfab3c96f3c01" }, "downloads": -1, "filename": "tomodachi-0.8.2.tar.gz", "has_sig": false, "md5_digest": "16c9afb56693a962d0829d17b7e48227", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43609, "upload_time": "2018-02-28T17:15:25", "url": "https://files.pythonhosted.org/packages/46/01/792a63225091e034cdf7505df48f735517dd5f84d81a773537bc85b8a645/tomodachi-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "b91c2a198bb166865e7f600fa8e8e70f", "sha256": "1bc27191a8be86f0a3d0117308393f902b3facd3e8144be3e27aaf8d200754d2" }, "downloads": -1, "filename": "tomodachi-0.8.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b91c2a198bb166865e7f600fa8e8e70f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 51289, "upload_time": "2018-03-02T13:17:20", "url": "https://files.pythonhosted.org/packages/e3/f0/179a2a89d5a8835a7adefd39bfab662236cd98e3c1e6178924ec74f29677/tomodachi-0.8.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05d4d3bbb5e7d02037110f247921757e", "sha256": "d4198f7b26ef705c5cfc0d43e8e9d8eb3226d78aa64e21209c50d68c3f5b990f" }, "downloads": -1, "filename": "tomodachi-0.8.3.tar.gz", "has_sig": false, "md5_digest": "05d4d3bbb5e7d02037110f247921757e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44288, "upload_time": "2018-03-02T13:17:22", "url": "https://files.pythonhosted.org/packages/47/9c/effd017b23b0ef5427d3a5611faa6c88dc18fa218cba780317bed631d309/tomodachi-0.8.3.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "154ff91605ef16cb90ec8ce0a8047380", "sha256": "806e2b769ee590e405f945eebd2ddf851ee1bcd7c6ab04fc4fc9d2cc5aa94637" }, "downloads": -1, "filename": "tomodachi-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "154ff91605ef16cb90ec8ce0a8047380", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 52278, "upload_time": "2018-03-04T21:24:51", "url": "https://files.pythonhosted.org/packages/16/89/7ada33b4d9dee5349f81594097364a21625db24d1af805b520747fe7f1b1/tomodachi-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e266a1487a58fd49efe630bb36dabba", "sha256": "814be3d87c1a86594dcbea8db90c3d81b4e58c05bafed9cb8736424d76f9b759" }, "downloads": -1, "filename": "tomodachi-0.9.0.tar.gz", "has_sig": false, "md5_digest": "8e266a1487a58fd49efe630bb36dabba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45118, "upload_time": "2018-03-04T21:24:53", "url": "https://files.pythonhosted.org/packages/5d/9d/3ee934c1f3f7c2d8eecb7f60185a5ba158fd7c1ce00218ef06c01ada1457/tomodachi-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "bb6459c3da6fddd7f6143924c31389ee", "sha256": "0fcf4dfc1ae2fbb7ff3082d0e39754766997946fee4b73e63df06414c4e740ce" }, "downloads": -1, "filename": "tomodachi-0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bb6459c3da6fddd7f6143924c31389ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 52799, "upload_time": "2018-03-05T17:47:48", "url": "https://files.pythonhosted.org/packages/8f/8f/43be19ce3d5f1beed66b19fdb0140771ddc95b6c778afc184384c4fa299d/tomodachi-0.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f1ef41bc3cccc7c3f5cb2b64f3d6206f", "sha256": "d5568f6375f3dd7c7056ef73ced26011fd58a6506a4c3d8b073677d00d6eef20" }, "downloads": -1, "filename": "tomodachi-0.9.1.tar.gz", "has_sig": false, "md5_digest": "f1ef41bc3cccc7c3f5cb2b64f3d6206f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45619, "upload_time": "2018-03-05T17:47:50", "url": "https://files.pythonhosted.org/packages/3e/a1/7ebde45452ac128b5f0dac7cfbae69deefbe75449a298ef077f4c9aea8ba/tomodachi-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "da610fe7d9a2ff31b83481eaa0335625", "sha256": "e5fa2e77be0c901e9190c25efbbb3dfd258a2af948e6b4d85341f3886e64abaf" }, "downloads": -1, "filename": "tomodachi-0.9.2-py3-none-any.whl", "has_sig": false, "md5_digest": "da610fe7d9a2ff31b83481eaa0335625", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 52984, "upload_time": "2018-03-05T20:53:33", "url": "https://files.pythonhosted.org/packages/f9/ab/812fa70bce76750cc17a4fc359bb1e185e821b001e6a35270a1a10de1f3a/tomodachi-0.9.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f83951227a7e9b7d8c8b1fe4e4b11c48", "sha256": "420b8967b6a0a8a37ed28ea76af2c3fb0be09dc0c2cb61790ea19f977c5e5f16" }, "downloads": -1, "filename": "tomodachi-0.9.2.tar.gz", "has_sig": false, "md5_digest": "f83951227a7e9b7d8c8b1fe4e4b11c48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45839, "upload_time": "2018-03-05T20:53:35", "url": "https://files.pythonhosted.org/packages/d9/b7/8c7fcc450b4245f99c3926aeffbcefb641fee4cead1850880a465582955c/tomodachi-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "9487f93b898ab9c9414fc0b9dec91a43", "sha256": "2c7c181f7d88e6bc11b977fc4596a7f12b92acfeb5cc7c399655afce60844875" }, "downloads": -1, "filename": "tomodachi-0.9.3-py3-none-any.whl", "has_sig": false, "md5_digest": "9487f93b898ab9c9414fc0b9dec91a43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 54530, "upload_time": "2018-03-06T09:49:36", "url": "https://files.pythonhosted.org/packages/47/60/e97ca30f4e3fb76a9d7d9bac59e22596f150f48c9e810d1db5b89eed24cc/tomodachi-0.9.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4617a45ebcf3f77c00bbeb9a3fa2776", "sha256": "d089186ebc8fae7be80625ffeb822034b2f0c78f97ae75066d046ab045d8fd7d" }, "downloads": -1, "filename": "tomodachi-0.9.3.tar.gz", "has_sig": false, "md5_digest": "f4617a45ebcf3f77c00bbeb9a3fa2776", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47535, "upload_time": "2018-03-06T09:49:37", "url": "https://files.pythonhosted.org/packages/f1/57/b97e03e2193020305fbf8c2c180d351d9c78aeb53f6eafc8535333491624/tomodachi-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "d4ba95884c64979a1e16ad89fa53e025", "sha256": "38cf63d65aca3cc68c3aadd5f8cb8fa669b5b60ef5af52028a4383f9536b7481" }, "downloads": -1, "filename": "tomodachi-0.9.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d4ba95884c64979a1e16ad89fa53e025", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 54641, "upload_time": "2018-03-06T16:53:07", "url": "https://files.pythonhosted.org/packages/b5/a8/104db3ef7264921ea4dc14160fc02359ace89e173a871fb005b034cd284b/tomodachi-0.9.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dfc0a10dd95082b8f9116442c3777a1c", "sha256": "6a4b006ccc3801e6624062ca9a8dc22ca0eb6fd875e3065650f8d14a83c1f4cc" }, "downloads": -1, "filename": "tomodachi-0.9.4.tar.gz", "has_sig": false, "md5_digest": "dfc0a10dd95082b8f9116442c3777a1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47646, "upload_time": "2018-03-06T16:53:09", "url": "https://files.pythonhosted.org/packages/dd/ff/f8df7efb3ccb4c3c255d031dd971753e38df0405e8f84cdf394a5a8b4071/tomodachi-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "c9717fa8e0ef390d2612206f3132ea77", "sha256": "e6a8eb0b63a14310cbe53e1b5eec460c113d98408f0c980cd8263c612aa8d5dc" }, "downloads": -1, "filename": "tomodachi-0.9.5-py3-none-any.whl", "has_sig": false, "md5_digest": "c9717fa8e0ef390d2612206f3132ea77", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 54780, "upload_time": "2018-03-16T07:43:18", "url": "https://files.pythonhosted.org/packages/50/5e/b3cb877eb71c4a233ae09c6a14199a64ad244c9aa31e907b8bbe46a85108/tomodachi-0.9.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7696aeb9c0c587fd659c672327fee501", "sha256": "07b5b898e8cf6854ef018d90e5c0ed3e6a034ba6e4a1d947d49d19a50faf778b" }, "downloads": -1, "filename": "tomodachi-0.9.5.tar.gz", "has_sig": false, "md5_digest": "7696aeb9c0c587fd659c672327fee501", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47768, "upload_time": "2018-03-16T07:43:20", "url": "https://files.pythonhosted.org/packages/11/24/51a7186b7a8f4ebe6dda0aaed28b0f63a9e0196dcc370b49bf76ecd09d87/tomodachi-0.9.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "162fc23821d5fdf387938d6916de5d63", "sha256": "910422d8f96adb15a1a352ca27cb91aa39fe33af8101c30b1ad85f315e21bfbc" }, "downloads": -1, "filename": "tomodachi-0.16.4-py3-none-any.whl", "has_sig": false, "md5_digest": "162fc23821d5fdf387938d6916de5d63", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 81888, "upload_time": "2019-08-28T20:09:25", "url": "https://files.pythonhosted.org/packages/29/9d/920d29d18815762867a37f52fe94b276ec7a24f07d1b3345ce5e9d55d2b1/tomodachi-0.16.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fae62dd77878991331420059f6c0127b", "sha256": "76f59daa82a553d387f770b617d7f13e83129644dbdedb793de38158dc904a6e" }, "downloads": -1, "filename": "tomodachi-0.16.4.tar.gz", "has_sig": false, "md5_digest": "fae62dd77878991331420059f6c0127b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81643, "upload_time": "2019-08-28T20:09:28", "url": "https://files.pythonhosted.org/packages/f9/69/163c72bd22a93282646026026164a5c67ad91ec8598b794ec0195aa7babe/tomodachi-0.16.4.tar.gz" } ] }