{ "info": { "author": "Alexander Forrence", "author_email": "aforren1@jhu.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "toon\n====\n\n[![image](https://img.shields.io/pypi/v/toon.svg)](https://pypi.python.org/pypi/toon)\n[![image](https://img.shields.io/pypi/l/toon.svg)](https://raw.githubusercontent.com/aforren1/toon/master/LICENSE.txt)\n[![image](https://img.shields.io/travis/aforren1/toon.svg)](https://travis-ci.org/aforren1/toon)\n[![image](https://img.shields.io/appveyor/ci/aforren1/toon.svg)](https://ci.appveyor.com/project/aforren1/toon)\n[![image](https://img.shields.io/coveralls/aforren1/toon.svg)](https://coveralls.io/github/aforren1/toon)\n\nDescription\n-----------\n\nAdditional tools for neuroscience experiments, including:\n\n- A framework for polling input devices on a separate process.\n- A framework for keyframe-based animation.\n\nEverything should work on Windows/Mac/Linux.\n\nSee [requirements.txt](https://github.com/aforren1/toon/blob/master/requirements.txt) for dependencies.\n\nInstall\n-------\n\nCurrent release:\n\n```pip install toon```\n\nDevelopment version:\n\n```pip install git+https://github.com/aforren1/toon```\n\nFor full install (including device and demo dependencies):\n\n```pip install toon[full]```\n\nSee [setup.py](https://github.com/aforren1/toon/blob/master/setup.py) for a list of those dependencies, as well as device-specific subdivisions.\n\nSee the [demos/](https://github.com/aforren1/toon/tree/master/demos) folder for usage examples (note: some require [psychopy](https://github.com/psychopy/psychopy)).\n\nOverview\n---------\n\n### Input\n\n`toon` provides a framework for polling from input devices, including common peripherals like mice and keyboards, with the flexibility to handle less-common devices like eyetrackers, motion trackers, and custom devices (see `toon/input/` for examples). The goal is to make it easier to use a wide variety of devices, including those with sampling rates >1kHz, with minimal performance impact on the main process.\n\nWe use the built-in `multiprocessing` module to control a separate process that hosts the device, and, in concert with `numpy`, to move data to the main process via shared memory. It seems that under typical conditions, we can expect single `read()` operations to take less than 500 microseconds (and more often < 100 us). See [demos/bench.py](https://github.com/aforren1/toon/blob/master/demos/bench.py) for an example of measuring user-side read performance.\n\nTypical use looks like this:\n\n```python\nfrom toon.input import MpDevice\nfrom toon.input.mouse import Mouse\nfrom timeit import default_timer\n\ndevice = MpDevice(Mouse())\n\nwith device:\n t1 = default_timer() + 10\n while default_timer() < t1:\n data = device.read()\n # alternatively, unpack\n # clicks, pos, scroll = device.read()\n if data.pos is not None:\n # N-D array of data (0th dim is time)\n print(data.pos)\n # time is 1D array of timestamps\n print(data.pos.time)\n print(data.pos[-1].time) # most recent timestamp\n```\n\nCreating a custom device is relatively straightforward, though there are a few boxes to check.\n\n```python\nfrom toon.input import BaseDevice, make_obs\nfrom ctypes import c_double\n\n# Obs is a class that manages observations\nclass MyDevice(BaseDevice):\n # optional: give a hint for the buffer size (we'll allocate 1s worth of this)\n sampling_frequency = 500\n\n # required: each data source gets its own Obs\n # can have multiple Obs per device\n # this can either be introduced at the class level, or during __init__\n # ctype can be a python type, numpy dtype, or ctype\n Pos = make_obs('Pos', shape=(3,), ctype=float)\n RotMat = make_obs('RotMat', (3, 3), c_double) # 2D data\n\n # optional. Do not start device communication here, wait until `enter`\n def __init__(self):\n pass\n\n ## Use `enter` and `exit`, rather than `__enter__` and `__exit__`\n # optional: configure the device, start communicating\n def enter(self):\n pass\n\n # optional: clean up resources, close device\n def exit(self, *args):\n pass\n\n # required\n def read(self):\n # See demos/ for examples of sharing a time source between the processes\n time = self.clock()\n # store new data with a timestamp\n pos = self.Pos(time, (1, 2, 3))\n rotmat = self.RotMat(time, [[1, 2, 3], [4, 5, 6], [7, 8, 9]])\n # can also be explicit, i.e. `self.Returns(pos=pos, rotmat=rotmat)`\n return pos, rotmat\n```\n\nThis device can then be passed to a `toon.input.MpDevice`, which preallocates the shared memory and handles other details.\n\nA few things to be aware of for data returned by `MpDevice`:\n\n - If a device only has a single `Obs`, `MpDevice` returns a single `TsArray` (a numpy array with a `time` attribute). Otherwise, `MpDevice` returns a named tuple of observations, where the names are alphabetically-sorted, lowercased versions of the pre-defined `Obs`. \n - If the data returned by a single read is scalar (e.g. a 1D force sensor), `MpDevice` will drop the 1st dimension.\n - If there's no data for a given observation, `None` is returned. The named tuple has a method for checking all members at once (`data.any()`).\n\n\nOther notes:\n - The returned data is a *view* of the local copy of the data. `toon.input.TsArray`s and device `Returns` have a `copy` method, which may be useful if e.g. appending to a list for later concatenation.\n - Re: concatenation, there is a `stack` function available via `from toon.input import stack`, which is like numpy's `vstack` but keeps the time attribute intact. It also dispatches appropriately for either `TsArray`s or `Returns`.\n - If receiving batches of data when reading from the device, you can return a list of `Returns` (see `tests/input/mockdevices.py` for an example).\n - You can optionally use `device.start()`/`device.stop()` instead of a context manager.\n - You can check for remote errors at any point using `device.check_error()`, though this automatically happens after entering the context manager and when reading.\n - In addition to python types/dtypes/ctypes, `Obs` can use `ctypes.Structure`s (see input tests or the [cyberglove](https://github.com/aforren1/toon/blob/master/toon/input/cyberglove.py) for examples).\n\n### Animation\n\nThis is still a work in progress, though I think it has some utility as-is. It's a port of the animation component in the [Magnum](https://magnum.graphics/) framework, though lacking some of the features (e.g. Track extrapolation, proper handling of time scaling).\n\nExample:\n\n```python\nfrom math import sin, pi\n\nfrom time import sleep\nfrom timeit import default_timer\nimport matplotlib.pyplot as plt\nfrom toon.anim import Track, Player\n# see toon/anim/easing.py for all available easings\nfrom toon.anim.easing import linear\n\nclass Circle(object):\n x = 0\n y = 0\n\ncircle = Circle()\n# list of (time, value)\nkeyframes = [(0.2, -0.5), (0.5, 0), (3, 0.5)]\nx_track = Track(keyframes, easing=linear)\n\n# currently, easings can be any function that takes a single\n# positional argument as input (time normalized to [0, 1]) and returns\n# a scalar (probably float), generally having a lower asymptote\n# of 0 and upper asymptote of 1, which is used as the current time\n# for purposes of interpolation\ndef elastic_in(x):\n return pow(2.0, 10.0 * (x - 1.0)) * sin(13.0 * pihalf * x)\n\n# we can reuse keyframes\ny_track = Track(keyframes, easing=elastic_in)\n\nplayer = Player(repeats=3)\n\n# directly modify an attribute\nplayer.add(x_track, 'x', obj=circle)\n\ndef y_cb(val, obj):\n obj.y = val\n\n# modify via callback\nplayer.add(y_track, y_cb, obj=circle)\n\nt0 = default_timer()\nplayer.start(t0)\nvals = []\nwhile player.is_playing:\n player.advance(default_timer())\n vals.append([circle.x, circle.y])\n sleep(1/60)\n\nplt.plot(vals)\nplt.show()\n```\n\nOther notes:\n - Non-numeric attributes, like color strings, can also be modified in this framework (easing is ignored).\n - The `Timeline` class (in `toon.anim`) can be used to get the time between frames, or the time since some origin time, taken at `timeline.start()`.\n - The `Player` can also be used as a mixin, in which case the `obj` argument can be omitted from `player.add()` (see the [demos/](https://github.com/aforren1/toon/tree/master/demos) folder for examples).\n - Multiple objects can be modified simultaneously by feeding a list of objects into `player.add()`.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/aforren1/toon", "keywords": "psychophysics neuroscience input experiment", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "toon", "package_url": "https://pypi.org/project/toon/", "platform": "", "project_url": "https://pypi.org/project/toon/", "project_urls": { "Homepage": "https://github.com/aforren1/toon" }, "release_url": "https://pypi.org/project/toon/0.12.7/", "requires_dist": [ "numpy", "psutil", "six", "pyserial ; extra == 'birds'", "pyserial ; extra == 'cyberglove'", "pynput ; extra == 'demo'", "matplotlib ; extra == 'demo'", "pyqtgraph ; extra == 'demo'", "nidaqmx ; (platform_system == \"Windows\") and extra == 'force'", "matplotlib ; extra == 'full'", "pyusb ; extra == 'full'", "pynput ; extra == 'full'", "pyserial ; extra == 'full'", "hidapi ; extra == 'full'", "pyqtgraph ; extra == 'full'", "nidaqmx ; (platform_system == \"Windows\") and extra == 'full'", "hidapi ; extra == 'hand'", "pyusb ; extra == 'hand'", "pynput ; extra == 'key_mouse'" ], "requires_python": "", "summary": "Tools for neuroscience experiments", "version": "0.12.7" }, "last_serial": 5721313, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "c3394ff7b9289c89c9c17736f60eec4f", "sha256": "223205a181a4617a0ae3863d1449aa349e2b2f71ee138ea2a0224a95d4324114" }, "downloads": -1, "filename": "toon-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c3394ff7b9289c89c9c17736f60eec4f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21940, "upload_time": "2017-09-03T16:37:41", "url": "https://files.pythonhosted.org/packages/a5/15/413277799fc729984cb9db7fb52c909d3c4420e8df558d419ddba4ca21dc/toon-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbe218786d14dc6496e8c28e3d0677b3", "sha256": "651c4a45bc8f0c16d8b80dd78950f8f97594fc5632a5843f545f67ceb63f5cd7" }, "downloads": -1, "filename": "toon-0.0.2.tar.gz", "has_sig": false, "md5_digest": "bbe218786d14dc6496e8c28e3d0677b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29946, "upload_time": "2017-09-03T16:37:42", "url": "https://files.pythonhosted.org/packages/f3/1e/a817b77b43ab02fa22dcef8f4956d50f87b7b10bf612cab7b811cc91cf8d/toon-0.0.2.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "87c9212922bc9f81688b71ea7556cb20", "sha256": "a53a744cbad3af250d195b70acd5dfeec43d4d50ded6ef660c4cb17bdcda281d" }, "downloads": -1, "filename": "toon-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "87c9212922bc9f81688b71ea7556cb20", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28416, "upload_time": "2017-09-20T16:41:37", "url": "https://files.pythonhosted.org/packages/f6/56/4aa440cfaef1a548df5508623bbaeb59fd5a77c8d3d535fa00edf6fecc9f/toon-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "826f28e3460ad81cf5ed2869640d7419", "sha256": "a55f58c909bb894874cdd5f2e97c76d1831ab8fd8b8ce0988b23be9e6ac8d335" }, "downloads": -1, "filename": "toon-0.1.0.tar.gz", "has_sig": false, "md5_digest": "826f28e3460ad81cf5ed2869640d7419", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23323, "upload_time": "2017-09-20T16:41:39", "url": "https://files.pythonhosted.org/packages/06/5d/87631ef39044d0b360143d8c03e6fa6a698a9fb2bb9868b4a87e107a6fd1/toon-0.1.0.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "4bc4f1797563af780c671b285097ddce", "sha256": "59bdc49d17d4e2704f7749f22c639cb0034f595858d1c25d49b2158c0416ab4c" }, "downloads": -1, "filename": "toon-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4bc4f1797563af780c671b285097ddce", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 68664, "upload_time": "2017-09-21T15:00:35", "url": "https://files.pythonhosted.org/packages/ef/10/12e928ccf74e984d51e9ad1b2cf9ba6f28db460f23ef398f2d3f8c0c64a7/toon-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "221b2eb54b29b41b58e44bd368559585", "sha256": "d270a12f7a8ac55e5047c1101fd816ff3a1c6f0d1e10fcc883c962b9d2470888" }, "downloads": -1, "filename": "toon-0.1.2.tar.gz", "has_sig": false, "md5_digest": "221b2eb54b29b41b58e44bd368559585", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25510, "upload_time": "2017-09-21T15:00:39", "url": "https://files.pythonhosted.org/packages/76/ed/34912ac134f84a544833a47a1dcab1f235579a78952e7511638ac474d698/toon-0.1.2.tar.gz" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "a527e6932a9f18d89c02afd8f56c6c36", "sha256": "2da9a9f01af7f16dd4797fa90bdfffcc287ed6dabc07a1dcba4229551d791629" }, "downloads": -1, "filename": "toon-0.10.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a527e6932a9f18d89c02afd8f56c6c36", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14500, "upload_time": "2018-11-26T18:10:46", "url": "https://files.pythonhosted.org/packages/63/4f/25d05f6a6d8687aaf59d7040cd3da0c7fe6d6f7c4a389e08615445c408df/toon-0.10.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "be6aca4de998fcf9b1a631a4e0872cee", "sha256": "ced6ce7994d9d11c0d72c0121083b320cd53d2add694d34f6c4949ae05443476" }, "downloads": -1, "filename": "toon-0.10.0.tar.gz", "has_sig": false, "md5_digest": "be6aca4de998fcf9b1a631a4e0872cee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24741, "upload_time": "2018-11-26T18:10:47", "url": "https://files.pythonhosted.org/packages/d5/97/ca2604673306b1813e07df8d6c5f73e8fde0c45d6f6f2fb86a45b9a3a526/toon-0.10.0.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "6aac4213da965ba27ed1a14a8ff0c872", "sha256": "f3498001605c1583efa410fc8612156fd1ff1855c99e8320bbbe39f1c5a54524" }, "downloads": -1, "filename": "toon-0.11.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6aac4213da965ba27ed1a14a8ff0c872", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22680, "upload_time": "2018-12-02T22:15:42", "url": "https://files.pythonhosted.org/packages/d9/cd/719f663cfd665757bfde917b8bb7617a22827d443426a3b5f519539b8f50/toon-0.11.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1a79ab9d22f2f8db1834f398004596d", "sha256": "d796c90f91d68754242f959be7321544abcf33e5310ee245150955bceaf7ba84" }, "downloads": -1, "filename": "toon-0.11.0.tar.gz", "has_sig": false, "md5_digest": "c1a79ab9d22f2f8db1834f398004596d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15649, "upload_time": "2018-12-02T22:15:43", "url": "https://files.pythonhosted.org/packages/2d/31/8475a31b45b3444ea142cbbe744787491fe5b833383f90c6fa30c46c6421/toon-0.11.0.tar.gz" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "2d69a8be36e5cf8502437827ce1f3c43", "sha256": "2fc1bedd6eaef8ac06bd8742785e7fc5ce3459d45a2c27fd7c45f3a82b2364bf" }, "downloads": -1, "filename": "toon-0.11.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2d69a8be36e5cf8502437827ce1f3c43", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22809, "upload_time": "2018-12-04T14:15:46", "url": "https://files.pythonhosted.org/packages/95/62/f915966e091ec217ebcb379af7402e143a970546f286a07c0c46c3111267/toon-0.11.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c463660938e6eb95044841baca019e97", "sha256": "126cfc153769c58b2eaa5cb7337be14dace0b87fc791b0d300c673edbeda41f2" }, "downloads": -1, "filename": "toon-0.11.1.tar.gz", "has_sig": false, "md5_digest": "c463660938e6eb95044841baca019e97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15825, "upload_time": "2018-12-04T14:15:47", "url": "https://files.pythonhosted.org/packages/d7/f4/70db316202371b6a7cf3a41576feb5cac8349a3d48d99d8ab0ee4a52021e/toon-0.11.1.tar.gz" } ], "0.11.2": [ { "comment_text": "", "digests": { "md5": "222ad4461b127af8329521a5395fa57e", "sha256": "36f793eb1a03700105141ea757d18b1b529f0a16df7d7bf272a26cb1ebd0a3d7" }, "downloads": -1, "filename": "toon-0.11.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "222ad4461b127af8329521a5395fa57e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23703, "upload_time": "2018-12-12T15:50:19", "url": "https://files.pythonhosted.org/packages/03/b8/ee655a8e68cfe4fce7f74ac4fa5b9f14bb8877963b64a03d2a61fb4cfc9f/toon-0.11.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf8d2accbda10697eb10ccf2b304b0ab", "sha256": "3ddad8f8da71b0357a6c88b160bbbc40d2380c1af976de30be8746694fe9c807" }, "downloads": -1, "filename": "toon-0.11.2.tar.gz", "has_sig": false, "md5_digest": "bf8d2accbda10697eb10ccf2b304b0ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16388, "upload_time": "2018-12-12T15:50:21", "url": "https://files.pythonhosted.org/packages/66/9f/869a5185c55e26ac467fa824870e1bbfe3a8780191d22f92ea124043275b/toon-0.11.2.tar.gz" } ], "0.11.3": [ { "comment_text": "", "digests": { "md5": "e6cc3dcf54463283915d704af11206ad", "sha256": "fde5101414267538c3cf82ff0d29ab3aefc3150326427920c0dc222850bdf7d1" }, "downloads": -1, "filename": "toon-0.11.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e6cc3dcf54463283915d704af11206ad", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25056, "upload_time": "2018-12-20T18:49:40", "url": "https://files.pythonhosted.org/packages/de/90/399e35c70d3b24a130ffa1f398f35928a0bfc1c83831d03a4dfced3d010f/toon-0.11.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5d9b947129447673494571d57947eb1d", "sha256": "31e007c379d276cfccb66095b29ed8ec6d98ea17318fb4f4a6ba668d48482ef5" }, "downloads": -1, "filename": "toon-0.11.3.tar.gz", "has_sig": false, "md5_digest": "5d9b947129447673494571d57947eb1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18365, "upload_time": "2018-12-20T18:49:41", "url": "https://files.pythonhosted.org/packages/c2/26/66327f7b3ac6258411ed10c9e8cfec8027a5719ecc3036909df1983b3c76/toon-0.11.3.tar.gz" } ], "0.11.4": [ { "comment_text": "", "digests": { "md5": "dc4a1feddc6717a6148359b0355d7b4e", "sha256": "d614ee475d8d21226594eb02c778b6facb5f2f4968c61d03881cbda6bad0d5a2" }, "downloads": -1, "filename": "toon-0.11.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dc4a1feddc6717a6148359b0355d7b4e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28942, "upload_time": "2019-01-09T19:30:30", "url": "https://files.pythonhosted.org/packages/58/38/5422f2d6219dd5e2b2c89b5ac3fa0b3be7ee75f9b99aaafc82f5cf827a33/toon-0.11.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "019502952b6ce8802980529977626fbb", "sha256": "7c3e1930e9c0ea9b7032d91b618737ba82c5a1d48885926c6cf35d2b1fa40a3b" }, "downloads": -1, "filename": "toon-0.11.4.tar.gz", "has_sig": false, "md5_digest": "019502952b6ce8802980529977626fbb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24172, "upload_time": "2019-01-09T19:30:32", "url": "https://files.pythonhosted.org/packages/c4/76/e16b8f1541d48f3924fef795c881e1c54ada923c94e15c84e40a1b7d2104/toon-0.11.4.tar.gz" } ], "0.11.5": [ { "comment_text": "", "digests": { "md5": "8159b6e4d242c75d562692cd2dde74d1", "sha256": "c1a3fcb74e1f68e5db42e4127fc7855a6124fafbbc5f410aabcc4159e4772280" }, "downloads": -1, "filename": "toon-0.11.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8159b6e4d242c75d562692cd2dde74d1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29460, "upload_time": "2019-01-14T16:43:32", "url": "https://files.pythonhosted.org/packages/82/08/543dc96635adf6cb580106c514671c7cd782ea57dfd2c5c1f333324ef439/toon-0.11.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7ede31511595353a49856c4d8951852", "sha256": "4e77f8816b8dc89648ccd517b0beedca65463ed9d65e1af51ada34598a78c8b8" }, "downloads": -1, "filename": "toon-0.11.5.tar.gz", "has_sig": false, "md5_digest": "f7ede31511595353a49856c4d8951852", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22381, "upload_time": "2019-01-14T16:43:33", "url": "https://files.pythonhosted.org/packages/a7/75/b04c744539ed612e91ad4e42adb7b485afe2b5c6dd804f823e45bdae04dc/toon-0.11.5.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "ee74050ef10ae4f4ea87f480603df71c", "sha256": "7f24fa26dbea602db20643d17da4c2c44086453117d0cd7d2c2ad22e3ab1c373" }, "downloads": -1, "filename": "toon-0.12.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ee74050ef10ae4f4ea87f480603df71c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30572, "upload_time": "2019-01-16T23:30:02", "url": "https://files.pythonhosted.org/packages/44/6b/ca8c22b8a6bbe3d3df2e06fbb9c61fe812e6e3c747235386caa4ac9e0e00/toon-0.12.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36c155fddf83f282a9d8f7e81cf1d2ba", "sha256": "6468c5a50141547f5af3b1033618b4bec6e2fe5e63b5167b18bd8308db216fc0" }, "downloads": -1, "filename": "toon-0.12.0.tar.gz", "has_sig": false, "md5_digest": "36c155fddf83f282a9d8f7e81cf1d2ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23211, "upload_time": "2019-01-16T23:30:04", "url": "https://files.pythonhosted.org/packages/ea/4a/47231d6ae59b440af13730651f63dccd20e21adc042212dec490edc0f0bf/toon-0.12.0.tar.gz" } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "2f19b3c98328625b9784279a57fa78ad", "sha256": "33636571246515045006d087516ff401d20b58f9c2223c913b3cd568aa9697da" }, "downloads": -1, "filename": "toon-0.12.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2f19b3c98328625b9784279a57fa78ad", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30870, "upload_time": "2019-01-21T19:58:02", "url": "https://files.pythonhosted.org/packages/42/32/2b9060b2d61b72e79434af593d5ea4fb61ae1a1e480e055f2a000e45870f/toon-0.12.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5002145b86dcdc61970d69e0628b022f", "sha256": "6724f16a35e49c85977898de028eac9a200f8f27a7a01b3f6b89d6ff927ffa8e" }, "downloads": -1, "filename": "toon-0.12.1.tar.gz", "has_sig": false, "md5_digest": "5002145b86dcdc61970d69e0628b022f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23578, "upload_time": "2019-01-21T19:58:03", "url": "https://files.pythonhosted.org/packages/64/73/8a6b3ef8dd121b54cef0c56b203b6951ab7320177ee54d7d91610aba6595/toon-0.12.1.tar.gz" } ], "0.12.2": [ { "comment_text": "", "digests": { "md5": "b02f3822d744eee9b174dbb453fc2d1c", "sha256": "6c37a448ea3f7f58ed8ae078b8020cfd82cf6849d818aa4b10c74317fa055559" }, "downloads": -1, "filename": "toon-0.12.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b02f3822d744eee9b174dbb453fc2d1c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32179, "upload_time": "2019-01-24T14:35:56", "url": "https://files.pythonhosted.org/packages/47/6f/5fd24bd7278ad7eb7b262b8f224ebe7b0e73d1775115d2f79dff1b9f2487/toon-0.12.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db11655521f13427ba8b6ad635a85338", "sha256": "84c7e89eefab111d0e44c470a69695637c3a4584a27524ae2b959c4128259961" }, "downloads": -1, "filename": "toon-0.12.2.tar.gz", "has_sig": false, "md5_digest": "db11655521f13427ba8b6ad635a85338", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24712, "upload_time": "2019-01-24T14:35:58", "url": "https://files.pythonhosted.org/packages/6a/14/12602808f03c0a7fe4c500748d71025b193418421cd28113e8be48d4b058/toon-0.12.2.tar.gz" } ], "0.12.3": [ { "comment_text": "", "digests": { "md5": "a5a2159db3afcabe1da8ad4f52d6a93f", "sha256": "efa949c758f3aac72f6a4d00bd050542ff6f32833d35f1b6fb436b06d109a83c" }, "downloads": -1, "filename": "toon-0.12.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a5a2159db3afcabe1da8ad4f52d6a93f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 33168, "upload_time": "2019-01-24T17:35:02", "url": "https://files.pythonhosted.org/packages/ba/61/f911844f179734ecc3e8aa763a8a6e1c42ac99ab57a0001f837ae1b738e9/toon-0.12.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1027fd1273b54289f03288f1d62421b4", "sha256": "3720dd460b2e79b6b72450376ffc21f106b797153e13a902af7f39248f8ed622" }, "downloads": -1, "filename": "toon-0.12.3.tar.gz", "has_sig": false, "md5_digest": "1027fd1273b54289f03288f1d62421b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25401, "upload_time": "2019-01-24T17:35:03", "url": "https://files.pythonhosted.org/packages/95/09/01c655809588bd4e89388fef21a5f76ab7c63ca68ad80948ea935e344fa9/toon-0.12.3.tar.gz" } ], "0.12.4": [ { "comment_text": "", "digests": { "md5": "d8cf34b022402bb47b7c520211e49c75", "sha256": "7bb5b2867fadb5306443f55c7b0a9b88806f463822deb909a2032d5ba9e56575" }, "downloads": -1, "filename": "toon-0.12.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d8cf34b022402bb47b7c520211e49c75", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34570, "upload_time": "2019-01-29T15:42:44", "url": "https://files.pythonhosted.org/packages/20/0d/451b0941a05d116db5349a8d3f45b3846460282fbc55d98aaaa153e8469b/toon-0.12.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9d2f3bd6fb5500fae9f72b2169fecc1", "sha256": "c8d2cbed825c07f1332f261cf335492c611567c76aadb790081da15c9e27d0cd" }, "downloads": -1, "filename": "toon-0.12.4.tar.gz", "has_sig": false, "md5_digest": "f9d2f3bd6fb5500fae9f72b2169fecc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26405, "upload_time": "2019-01-29T15:42:46", "url": "https://files.pythonhosted.org/packages/50/80/9d9420d90e603f49dc26a8c8c059658e70b00d80bcfe1d49dead89e0c3d5/toon-0.12.4.tar.gz" } ], "0.12.5": [ { "comment_text": "", "digests": { "md5": "af41328e058a0da265b94c74fd7ccee8", "sha256": "9d41b16035d590748dc9c7aaad48bf44c879e1af9f4cdd3c31c11b51c3eea55d" }, "downloads": -1, "filename": "toon-0.12.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "af41328e058a0da265b94c74fd7ccee8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34828, "upload_time": "2019-03-14T21:59:42", "url": "https://files.pythonhosted.org/packages/d3/c1/e0683439369b4ca89fafa7a269d0aacb91bb8da53f37b1504f1d77ca729c/toon-0.12.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9de56593654d2a9a652f94f4e81058a8", "sha256": "ad15cc8374b06b1ee347e1388ab22bd0e011b4c80194e87f913784281deb2b10" }, "downloads": -1, "filename": "toon-0.12.5.tar.gz", "has_sig": false, "md5_digest": "9de56593654d2a9a652f94f4e81058a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29102, "upload_time": "2019-03-14T21:59:44", "url": "https://files.pythonhosted.org/packages/bb/08/d2dba112fc6b53561c9b71c3752bdd3ee2a5231c627849e94aa9f78025d9/toon-0.12.5.tar.gz" } ], "0.12.6": [ { "comment_text": "", "digests": { "md5": "7753c4109ec0681175a72ed58040b6fc", "sha256": "5ce8574f38d079982cbc2b9d94e1587235c5231a0bd8d77c3667284b5b48684b" }, "downloads": -1, "filename": "toon-0.12.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7753c4109ec0681175a72ed58040b6fc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37430, "upload_time": "2019-04-04T13:59:27", "url": "https://files.pythonhosted.org/packages/39/98/f8e40abd0b3896562544fd1c02fc4182183036a012b0b8fc218525ab3c20/toon-0.12.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ff8ad13822110ae645e0e470eda10616", "sha256": "c74837d8cc1c28cddb82a065f7e1c1fdaeab51305be306117f65ffc1cb3204a5" }, "downloads": -1, "filename": "toon-0.12.6.tar.gz", "has_sig": false, "md5_digest": "ff8ad13822110ae645e0e470eda10616", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27651, "upload_time": "2019-04-04T13:59:28", "url": "https://files.pythonhosted.org/packages/b5/1c/12fc88aeb07aef641569744c0ca528b058ca02c8c12e1e0cbf8b79d1b838/toon-0.12.6.tar.gz" } ], "0.12.7": [ { "comment_text": "", "digests": { "md5": "f632d2d3177ea45366fbc42f9daaec97", "sha256": "e4280f61b0f38bc035ecc88ef98ac08c96a54131eae84af34645cb65d9951b99" }, "downloads": -1, "filename": "toon-0.12.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f632d2d3177ea45366fbc42f9daaec97", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 43272, "upload_time": "2019-08-23T15:08:03", "url": "https://files.pythonhosted.org/packages/82/22/ea9f1d6b5577945574ef91410c05bace786bc8f0265e50be5989e5ada18b/toon-0.12.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0fcbaacdc8471e23093fbd63f65d348", "sha256": "fb20b7caea5799dcb01f5acefeed337b7748d3ed864d8788e5230e1fc48f77d0" }, "downloads": -1, "filename": "toon-0.12.7.tar.gz", "has_sig": false, "md5_digest": "c0fcbaacdc8471e23093fbd63f65d348", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28082, "upload_time": "2019-08-23T15:08:05", "url": "https://files.pythonhosted.org/packages/09/82/7d4e50bb1567e8f71252a06566ebf304d926baa98ed74a8e120102820e95/toon-0.12.7.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a647e700eb88d18947df9bb2fbfd0bb3", "sha256": "9b0bdae236be1663fd8f554fa577d575f1f3b0929c41ced80ce140ccf0b086e6" }, "downloads": -1, "filename": "toon-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a647e700eb88d18947df9bb2fbfd0bb3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 33568, "upload_time": "2017-09-25T18:47:06", "url": "https://files.pythonhosted.org/packages/a3/d1/fa5dc1f7c17b6ef3b2d2d0b60ac8e588273c08de53eaf600f4b91fc981d7/toon-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b2bc782781cce372a52c4bf3f568f572", "sha256": "ee66c7ab1410ab788317c75420a3649333bf0e5c6b1149c8bb534ad1a88bbc1e" }, "downloads": -1, "filename": "toon-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b2bc782781cce372a52c4bf3f568f572", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26563, "upload_time": "2017-09-25T18:47:08", "url": "https://files.pythonhosted.org/packages/5f/f7/ae8b6666fac06b95499f69c27d874e9e4e7726c9e5fc784d7a4d26594864/toon-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "269f2ea47fb3c104d1747c260f41fb57", "sha256": "7930c47fbb0ad36882e5cc710a708ef78093c4093e599f15cdd59b2dd09fcd77" }, "downloads": -1, "filename": "toon-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "269f2ea47fb3c104d1747c260f41fb57", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 36411, "upload_time": "2017-09-29T20:31:14", "url": "https://files.pythonhosted.org/packages/cf/8f/25bfd7e1cb4dfa65bf5b45fd13bfc6f3a5e4926d4b8010c46445816a919d/toon-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e51052f40332524eef72e6a3cbe642ab", "sha256": "f354d06fd29655abc09a0a19407e4195f9323ee394f2d966e3bbbbbe2d1fb7a6" }, "downloads": -1, "filename": "toon-0.3.0.tar.gz", "has_sig": false, "md5_digest": "e51052f40332524eef72e6a3cbe642ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27928, "upload_time": "2017-09-29T20:31:15", "url": "https://files.pythonhosted.org/packages/e6/8e/788aa37ca4f0ef43d8734b64aac7ff41989fbba8c521f1042e05c54e2cb2/toon-0.3.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "f1bd5e502143e3695f758740b85da186", "sha256": "5941f15b4e2a35159ba488b25c95e0622fd4bc70fb35e874cea56b1326d2d471" }, "downloads": -1, "filename": "toon-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f1bd5e502143e3695f758740b85da186", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 36766, "upload_time": "2017-10-04T20:40:01", "url": "https://files.pythonhosted.org/packages/84/c5/234c15c0a1cface2b958cd5654fe07819c2d30933f9291894c53c98afdbf/toon-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "283db52c5909ab16b80429fde04b7a4a", "sha256": "59a8a3beb244d4c3dc8ffdbc36e6d10dcf521e9b4ee0f1a97c5b00ae7bdd3823" }, "downloads": -1, "filename": "toon-0.5.1.tar.gz", "has_sig": false, "md5_digest": "283db52c5909ab16b80429fde04b7a4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27958, "upload_time": "2017-10-04T20:40:04", "url": "https://files.pythonhosted.org/packages/c2/ab/884150e30c68c91f26f450f575ba21c7f424f151cdeb03f2fb472134e579/toon-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "91c1f3ca99de26dafa87ff2576c0d644", "sha256": "573d42b5a4d792ff6a16ef50ed5c6d62b92a4e6b2d50e42b03e5ef111ae3a181" }, "downloads": -1, "filename": "toon-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "91c1f3ca99de26dafa87ff2576c0d644", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 40063, "upload_time": "2017-10-17T21:09:51", "url": "https://files.pythonhosted.org/packages/31/b2/d9c806e5b826d12c43d3c1e251618eaf712f31284dc93137cf5a7ffcf3d3/toon-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "195376bbb5a87ab77e22aa0fb90d3f68", "sha256": "f96b4af5fdcc116b4abf6d56a3445d3d4c21581b909a49cae4ff6880fd45ede7" }, "downloads": -1, "filename": "toon-0.6.0.tar.gz", "has_sig": false, "md5_digest": "195376bbb5a87ab77e22aa0fb90d3f68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28649, "upload_time": "2017-10-17T21:09:52", "url": "https://files.pythonhosted.org/packages/82/3c/66ec1c769a102c51ec798a475cfc43506c35d64763cdc255da08a0d13f00/toon-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "d0030ac88a4e180304fc1283274c7ad9", "sha256": "ebf67ef50bdb389302ae5dcf55b9b28a5f3546327dbad7ca32ab3f1d8c4b1efc" }, "downloads": -1, "filename": "toon-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d0030ac88a4e180304fc1283274c7ad9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37657, "upload_time": "2017-10-24T15:47:03", "url": "https://files.pythonhosted.org/packages/2b/64/1989447f5e00bb2222551f45190982aab08e7cc4aae63bfbfeff530d14e2/toon-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3616dea34c293a8d5ea1bd773b263cd6", "sha256": "c6a3e1b593c966809504ec460fe6dc77381740e549fa48f5d735778820528bea" }, "downloads": -1, "filename": "toon-0.7.0.tar.gz", "has_sig": false, "md5_digest": "3616dea34c293a8d5ea1bd773b263cd6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26536, "upload_time": "2017-10-24T15:47:09", "url": "https://files.pythonhosted.org/packages/2c/63/c4f2b08cebe590a10b076da61cdecf9db52bf25740ca7bc4363405224282/toon-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "fd35b34cb78c63c04534971116ec8135", "sha256": "f48f8d70eba09eabc336acab4b1f8510fce9eb7d3b5ec6f08b0c5165cb4b20ad" }, "downloads": -1, "filename": "toon-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fd35b34cb78c63c04534971116ec8135", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 39154, "upload_time": "2017-12-18T18:28:24", "url": "https://files.pythonhosted.org/packages/81/2f/7dce869197755232877dce2df2dbe41b5eb3a0ffa92fe1351ac01ff3adbb/toon-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ad78a8783a7c21b90e7f13737eb7985", "sha256": "3137cc796a69ee635af781fbc3e100bd9a6f4c3fb6ac028c08e83b0333d44dec" }, "downloads": -1, "filename": "toon-0.8.0.tar.gz", "has_sig": false, "md5_digest": "2ad78a8783a7c21b90e7f13737eb7985", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21843, "upload_time": "2017-12-18T18:28:25", "url": "https://files.pythonhosted.org/packages/35/ce/a90ab98acecf3a0dd94384bf415d706164140ee4f3e047e054db013ac145/toon-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "82713754379c80c535ad70339c772e3b", "sha256": "8446952796a7a0ad4cbc64a264c099cf812ec967ee55cd0f14d017d15f78d758" }, "downloads": -1, "filename": "toon-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "82713754379c80c535ad70339c772e3b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 38898, "upload_time": "2017-12-18T19:50:13", "url": "https://files.pythonhosted.org/packages/7b/04/4a9f9f96feeb5edcc8a3f52a1c389e101ed1bf50d2be50a78043d4eacfe7/toon-0.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "deefb1f0a9c146f57b3074fcf2d76894", "sha256": "419b66bdbd68720138bf46939f0cea248ea8cfab11f7910d7199f9661123eea5" }, "downloads": -1, "filename": "toon-0.8.1.tar.gz", "has_sig": false, "md5_digest": "deefb1f0a9c146f57b3074fcf2d76894", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21733, "upload_time": "2017-12-18T19:50:14", "url": "https://files.pythonhosted.org/packages/78/77/390ecbf467ebcd48cb4f478629c1ed4624dc7f674407621a41ed71d6567c/toon-0.8.1.tar.gz" } ], "0.8.5": [ { "comment_text": "", "digests": { "md5": "e128dff1de5e217d667935ad7c39e331", "sha256": "7d1f3b4a99e007169420d7b2ae35751b24f54d18da1bddbcf1ab3f55679b9bcf" }, "downloads": -1, "filename": "toon-0.8.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e128dff1de5e217d667935ad7c39e331", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 76550, "upload_time": "2018-05-07T18:10:57", "url": "https://files.pythonhosted.org/packages/92/ee/ed9ed6b2679b7820538eca3c23e3b96d810d5085a7ac7e4f226bee69c45d/toon-0.8.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "50f255937b780fb21cbd3b5f616f1d9f", "sha256": "a66950366bf2de2bc62536234f83dae9c343866edf56b3f514f6e68476fe4c10" }, "downloads": -1, "filename": "toon-0.8.5.tar.gz", "has_sig": false, "md5_digest": "50f255937b780fb21cbd3b5f616f1d9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22204, "upload_time": "2018-05-07T18:10:58", "url": "https://files.pythonhosted.org/packages/84/ce/23180a92afa26e4f3b64363956781dabb60a0ef1a32682a58751eaf734eb/toon-0.8.5.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "fc1e203d03989b33b3732b2035b0ab15", "sha256": "f16743ee2c4e1baa5cf06ef50839df4671dc329546f87950ad10e360b0449a6c" }, "downloads": -1, "filename": "toon-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fc1e203d03989b33b3732b2035b0ab15", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 40483, "upload_time": "2018-06-20T17:40:28", "url": "https://files.pythonhosted.org/packages/85/43/57bd523d1be18651d170bf24547bc34c3511c3961860ffabc5464a28caab/toon-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e67e79ffab166774915b6fb51efa2a42", "sha256": "3b596184d08d6b723de321535650a0b08261a5369950e65a7cc30539591e8425" }, "downloads": -1, "filename": "toon-0.9.0.tar.gz", "has_sig": false, "md5_digest": "e67e79ffab166774915b6fb51efa2a42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22477, "upload_time": "2018-06-20T17:40:29", "url": "https://files.pythonhosted.org/packages/10/38/0db79a93964d2bcdf5b0ddbb56cc09c8e6ae5ff35f91494eb449bd1abbf1/toon-0.9.0.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "3b27cbc0101abfedc752c77fa4a2e239", "sha256": "cf6a621858e9fdbceefd81f8c211668898ce4606ca7c1a07f921b920a80b8a76" }, "downloads": -1, "filename": "toon-0.9.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3b27cbc0101abfedc752c77fa4a2e239", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 38425, "upload_time": "2019-06-11T13:12:45", "url": "https://files.pythonhosted.org/packages/6d/58/47ca640226d33656733fecd42ae70f16889374a65d79d0cddb08a3064577/toon-0.9.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "456ed332b93c907beb3ad228c5a492c7", "sha256": "bf22e033ef9d412912608b622e6a0a4c918220087002d19d9a88fa91b1a103d0" }, "downloads": -1, "filename": "toon-0.9.2.tar.gz", "has_sig": false, "md5_digest": "456ed332b93c907beb3ad228c5a492c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22438, "upload_time": "2019-06-11T13:12:47", "url": "https://files.pythonhosted.org/packages/b4/a2/26b3f5a0e5be8fb21b3dd26bb8584bf5afbff7e925169ddc5fb1c7bb08b6/toon-0.9.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f632d2d3177ea45366fbc42f9daaec97", "sha256": "e4280f61b0f38bc035ecc88ef98ac08c96a54131eae84af34645cb65d9951b99" }, "downloads": -1, "filename": "toon-0.12.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f632d2d3177ea45366fbc42f9daaec97", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 43272, "upload_time": "2019-08-23T15:08:03", "url": "https://files.pythonhosted.org/packages/82/22/ea9f1d6b5577945574ef91410c05bace786bc8f0265e50be5989e5ada18b/toon-0.12.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0fcbaacdc8471e23093fbd63f65d348", "sha256": "fb20b7caea5799dcb01f5acefeed337b7748d3ed864d8788e5230e1fc48f77d0" }, "downloads": -1, "filename": "toon-0.12.7.tar.gz", "has_sig": false, "md5_digest": "c0fcbaacdc8471e23093fbd63f65d348", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28082, "upload_time": "2019-08-23T15:08:05", "url": "https://files.pythonhosted.org/packages/09/82/7d4e50bb1567e8f71252a06566ebf304d926baa98ed74a8e120102820e95/toon-0.12.7.tar.gz" } ] }