{ "info": { "author": "Markus Konrad", "author_email": "markus.konrad@wzb.eu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "# tmtoolkit \u2013 Text Mining and Topic Modeling Toolkit for Python\n\nMarkus Konrad \n\n`tmtoolkit` is a set of tools for text mining and topic modeling with Python. It contains functions for text preprocessing like lemmatization, stemming or [POS tagging](https://en.wikipedia.org/wiki/Part-of-speech_tagging) especially for English and German texts. Preprocessing is done in parallel by using all available processors on your machine. The topic modeling features include topic model evaluation metrics, allowing to calculate models with different parameters in parallel and comparing them (e.g. in order to find the optimal number of topics and other parameters). Topic models can be generated in parallel for different copora and/or parameter sets using the LDA implementations either from [lda](http://pythonhosted.org/lda/), [scikit-learn](http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.LatentDirichletAllocation.html) or [gensim](https://radimrehurek.com/gensim/).\n\n## Features\n\n### Text preprocessing\n\nText preprocessing is built on top of [NLTK](http://www.nltk.org/) and [CLiPS pattern](https://www.clips.uantwerpen.be/pattern). Common features include:\n\n* tokenization\n* POS tagging (optimized for German and English)\n* lemmatization (optimized for German and English)\n* stemming\n* cleaning tokens\n* filtering tokens\n* generating n-grams\n* generating document-term-matrices\n\nPreprocessing is done in parallel by using all available processors on your machine, greatly improving processing speed as compared to sequential processing on a single processor.\n\n### Topic modeling\n\nTopic models can be generated in parallel for different copora and/or parameter sets using the LDA implementations either from [lda](http://pythonhosted.org/lda/), [scikit-learn](http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.LatentDirichletAllocation.html) or [gensim](https://radimrehurek.com/gensim/). They can be evaluated and compared (for example in order to find the optimal number of topics) using several implemented metrics:\n\n* Pair-wise cosine distance method ([Cao Juan et al. 2009](http://doi.org/10.1016/j.neucom.2008.06.011))\n* KL divergence method ([Arun et al. 2010](http://doi.org/10.1007/978-3-642-13657-3_43))\n* Harmonic mean method ([Griffiths, Steyvers 2004](http://doi.org/10.1073/pnas.0307752101))\n* Probability of held-out documents ([Wallach et al. 2009](https://doi.org/10.1145/1553374.1553515))\n* Model coherence ([Mimno et al. 2011](https://dl.acm.org/citation.cfm?id=2145462) or with [metrics implemented in Gensim](https://radimrehurek.com/gensim/models/coherencemodel.html))\n* the loglikelihood or perplexity methods natively implemented in lda, sklearn or gensim \n\nFurther features include:\n\n* plot evaluation results\n* export estimated document-topic and topic-word distributions to Excel\n* visualize topic-word distributions and document-topic distributions as word clouds (see [lda_visualization Jupyter Notebook](https://github.com/WZBSocialScienceCenter/tmtoolkit/blob/master/examples/lda_visualization.ipynb))\n* visualize topic-word distributions and document-topic distributions as heatmaps (see [lda_visualization Jupyter Notebook](https://github.com/WZBSocialScienceCenter/tmtoolkit/blob/master/examples/lda_visualization.ipynb))\n* integrate [PyLDAVis](https://pyldavis.readthedocs.io/en/latest/) to visualize results\n* coherence for individual topcis (see [model_coherence Jupyter Notebook](https://github.com/WZBSocialScienceCenter/tmtoolkit/blob/master/examples/model_coherence.ipynb))\n\n## Installation\n\nThe package is available on [PyPI](https://pypi.org/project/tmtoolkit/) and can be installed via Python package manager *pip*:\n\n```\n# recommended installation\npip install -U tmtoolkit[excel_export,plotting,wordclouds]\n\n# minimal installation:\npip install -U tmtoolkit\n```\n\nThe package is about 13MB big, because it contains some additional German language model data for POS tagging.\n\n**Upgrade notice:** If upgrading from an older version to 0.6.0 or above, you will need to uninstall tmtoolkit first (run `pip uninstall tmtoolkit`), before re-installing (using one of the commands described above).\n\n\n### Optional packages\n\nPyPI packages which can be installed via pip are written *italic*.\n\n* for improved lemmatization of German texts: *Pattern*\n* for plotting/visualizations: *matplotlib*\n* for the word cloud functions: *wordcloud* and *Pillow*\n* for Excel export: *openpyxl*\n* for topic modeling, one of the LDA implementations: *lda*, *scikit-learn* or *gensim*\n* for additional topic model coherence metrics: *gensim*\n\nFor LDA evaluation metrics `griffiths_2004` and `held_out_documents_wallach09` it is necessary to install [gmpy2](https://github.com/aleaxit/gmpy) for multiple-precision arithmetic. This in turn requires installing some C header libraries for GMP, MPFR and MPC. On Debian/Ubuntu systems this is done with: \n\n```\nsudo apt install libgmp-dev libmpfr-dev libmpc-dev\n```\n\nAfter that, gmpy2 can be installed via *pip*.\n\nSo for the full set of features, you should run the following (optionally adding gmpy2 if you have installed the above requirements):\n\n```\npip install -U Pattern matplotlib wordcloud Pillow openpyxl lda scikit-learn gensim\n```\n\n## Requirements\n\n**`tmtoolkit` works with Python 3.5 or above.**\n\nRequirements are automatically installed via *pip*. Additional packages can also be installed via *pip* for certain use cases (see optional packages).\n\n**A special note for Windows users**: tmtoolkit has been tested on Windows and works well (I recommend using the [Anaconda distribution for Python](https://anaconda.org/) there). However, you will need to wrap all code that uses multi-processing (i.e. all calls to `TMPreproc` and the parallel topic modeling functions) in a `if __name__ == '__main__'` block like this:\n\n```python\ndef main():\n # code with multi-processing comes here\n # ...\n\nif __name__ == '__main__':\n main()\n```\n\nSee the `examples` directory.\n\n### Required packages\n\n* six\n* NumPy\n* SciPy\n* NLTK\n* Pandas\n* Pyphen\n\n**Please note:** You will need to install several corpora and language models from NLTK if you didn't do so yet. Run `python -c 'import nltk; nltk.download()'` which will open a graphical downloader interface. You will need at least the following data packages:\n\n* `averaged_perceptron_tagger`\n* `punkt`\n* `stopwords`\n* `wordnet`\n\n## Documentation\n\nDocumentation for many methods is still missing at the moment and will be added in the future. For the moment, you should have a look at the examples below and in the `examples` directory.\n\n## Examples\n\nSome examples that can be run directly in an IPython session:\n\n### Preprocessing\n\nWe will process as small, self-defined toy corpus with German text. It will be tokenized, cleaned and transformed into a document-term-matrix. **You will need to wrap this in a `if __name__ == '__main__'` block if you're using Windows. See \"Special note for Windows users\" above.**\n\n```python\nfrom tmtoolkit.preprocess import TMPreproc\n\n# a small toy corpus in German, here directly defined as a dict\n# to load \"real\" (text) files use the methods in tmtoolkit.corpus\ncorpus = {\n 'doc1': 'Ein einfaches Beispiel in einfachem Deutsch.',\n 'doc2': 'Es enth\u00e4lt nur drei sehr einfache Dokumente.',\n 'doc3': 'Die Dokumente sind sehr kurz.',\n}\n\n# initialize\npreproc = TMPreproc(corpus, language='german')\n\n# run the preprocessing pipeline: tokenize, POS tag, lemmatize, transform to\n# lowercase and then clean the tokens (i.e. remove stopwords)\npreproc.tokenize().pos_tag().lemmatize().tokens_to_lowercase().clean_tokens()\n\nprint(preproc.tokens)\n# this will output: \n# {'doc1': ('einfach', 'beispiel', 'einfach', 'deutsch'),\n# 'doc2': ('enthalten', 'drei', 'einfach', 'dokument'),\n# 'doc3': ('dokument', 'kurz')}\n\nprint(preproc.tokens_with_pos_tags)\n# this will output: \n# {'doc1': [('einfach', 'ADJA'),\n# ('beispiel', 'NN'),\n# ('einfach', 'ADJA'),\n# ('deutsch', 'NN')],\n# 'doc2': [('enthalten', 'VVFIN'),\n# ('drei', 'CARD'),\n# ('einfach', 'ADJA'),\n# ('dokument', 'NN')],\n# 'doc3': [('dokument', 'NN'), ('kurz', 'ADJD')]}\n\n# generate sparse DTM and print it as a data table\ndoc_labels, vocab, dtm = preproc.get_dtm()\n\nimport pandas as pd\nprint(pd.DataFrame(dtm.todense(), columns=vocab, index=doc_labels))\n```\n\n### Topic modeling\n\nWe will use the [lda package](http://pythonhosted.org/lda/) for topic modeling. Several models for different numbers of topics and alpha values are generated and compared. The best is chosen and the results are printed.\n\n```python\nfrom tmtoolkit.topicmod import tm_lda\nimport lda # for the Reuters dataset\n\nimport matplotlib.pyplot as plt\nplt.style.use('ggplot')\n\ndoc_labels = lda.datasets.load_reuters_titles()\nvocab = lda.datasets.load_reuters_vocab()\ndtm = lda.datasets.load_reuters()\n\n# evaluate topic models with different parameters\nconst_params = dict(n_iter=100, random_state=1) # low number of iter. just for showing how it works here\nvarying_params = [dict(n_topics=k, alpha=1.0/k) for k in range(10, 251, 10)]\n\n# this will evaluate 25 models (with n_topics = 10, 20, .. 250) in parallel\nmodels = tm_lda.evaluate_topic_models(dtm, varying_params, const_params,\n return_models=True)\n\n# plot the results\n# note that since we used a low number of iterations, the plot looks quite \"unstable\"\n# for the given metrics.\nfrom tmtoolkit.topicmod.visualize import plot_eval_results\nfrom tmtoolkit.topicmod.evaluate import results_by_parameter\n\nresults_by_n_topics = results_by_parameter(models, 'n_topics')\nplot_eval_results(results_by_n_topics)\nplt.show()\n\n# the peak seems to be around n_topics == 140\nfrom tmtoolkit.topicmod.model_io import print_ldamodel_topic_words, print_ldamodel_doc_topics\n\nbest_model = dict(results_by_n_topics)[140]['model']\nprint_ldamodel_topic_words(best_model.topic_word_, vocab)\nprint_ldamodel_doc_topics(best_model.doc_topic_, doc_labels)\n```\n\nMore examples can be found in the `examples` directory.\n\n## Example data\n\nThe provided samples in `examples/data` come from: \n\n* `bt18_sample_1000.pickle`: [offenesparlament.de](https://github.com/Datenschule/offenesparlament-data)\n* `gutenberg`: [Project Gutenberg](https://www.gutenberg.org/)\n\n## License\n\nCode licensed under [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). See `LICENSE` file. \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/WZBSocialScienceCenter/tmtoolkit", "keywords": "textmining textanalysis text mining analysis preprocessing topicmodeling topic modeling evaluation", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "tmtoolkit", "package_url": "https://pypi.org/project/tmtoolkit/", "platform": "", "project_url": "https://pypi.org/project/tmtoolkit/", "project_urls": { "Bug Reports": "https://github.com/WZBSocialScienceCenter/tmtoolkit/issues", "Homepage": "https://github.com/WZBSocialScienceCenter/tmtoolkit", "Source": "https://github.com/WZBSocialScienceCenter/tmtoolkit" }, "release_url": "https://pypi.org/project/tmtoolkit/0.8.0/", "requires_dist": [ "numpy (>=1.13.0)", "scipy (>=1.0.0)", "pandas (>=0.20.0)", "nltk (>=3.0.0)", "globre (>=0.1.5)", "matplotlib (>=2.2.2)", "germalemma (>=0.1.1)", "openpyxl ; extra == 'excel_export'", "gmpy2 ; extra == 'topic_modeling_eval_extra'", "gensim (>=3.4.0) ; extra == 'topic_modeling_gensim'", "lda ; extra == 'topic_modeling_lda'", "scikit-learn (>=0.18.0) ; extra == 'topic_modeling_sklearn'", "wordcloud ; extra == 'wordclouds'", "Pillow ; extra == 'wordclouds'" ], "requires_python": ">=2.7", "summary": "Text Mining and Topic Modeling Toolkit", "version": "0.8.0" }, "last_serial": 4783058, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2e6ce3388b2449cd91934be1a4861b20", "sha256": "cdf6170106604a997c851283fe0d35de618320433eaac84d4f5471b07e76d56a" }, "downloads": -1, "filename": "tmtoolkit-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2e6ce3388b2449cd91934be1a4861b20", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 21560, "upload_time": "2017-11-07T09:04:56", "url": "https://files.pythonhosted.org/packages/f4/65/f1d13e1e81d76db77e919c035ace30da682595d7b7d3ff4fab3987568ce3/tmtoolkit-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd34226e681d34562e4a3509c155cb43", "sha256": "c9625f112af27eca1877cd012b70a6f6547b3ac6111e7897fdfb123e7f024b57" }, "downloads": -1, "filename": "tmtoolkit-0.1.0.tar.gz", "has_sig": false, "md5_digest": "dd34226e681d34562e4a3509c155cb43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24862, "upload_time": "2017-11-07T09:04:55", "url": "https://files.pythonhosted.org/packages/0d/40/3601db30e6d6d9839383199517b6147007399878c561e439a4d84cd0dead/tmtoolkit-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "fafa5e00d5901c36c3c29aa9807dec0a", "sha256": "6d93bf9a181afa1d1fb4ef6cd0c49cbaaf19d0eade3b36c7df3570eb31f8a9d3" }, "downloads": -1, "filename": "tmtoolkit-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fafa5e00d5901c36c3c29aa9807dec0a", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 22344, "upload_time": "2017-11-07T09:15:18", "url": "https://files.pythonhosted.org/packages/56/f6/8958f5a1cac93098ab906c388ee44c59d9cb83eaf407f2601fcae7b0e172/tmtoolkit-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3338e4d524ea766850064cfe3ceb5f6c", "sha256": "3f0216b8b4b8b3b97a0b898df428bc18aa0a242ecd329922c0c261d5e2a4cf83" }, "downloads": -1, "filename": "tmtoolkit-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3338e4d524ea766850064cfe3ceb5f6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25088, "upload_time": "2017-11-07T09:15:17", "url": "https://files.pythonhosted.org/packages/f4/fc/5403e8ad47e2d55c5574da83256f20ee472b17a0fa107dc973792dfd025d/tmtoolkit-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "53fcb3aaf1c4568a665629dc440f4608", "sha256": "b7837c140f6911ac906c013c979d5a4c92164a232ac0bb4168cbcb1ffcbbb522" }, "downloads": -1, "filename": "tmtoolkit-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "53fcb3aaf1c4568a665629dc440f4608", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 35953, "upload_time": "2017-11-07T10:35:48", "url": "https://files.pythonhosted.org/packages/9e/57/cee5d85dd50a44662ee2d98744ae737ee36e3ca6c6d1a2ea76c718caece7/tmtoolkit-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ecc40b69817ca6f0cc6160dffe8580c", "sha256": "f5575b30192b456b9b5d10ceaf6b0fae60964ba3ef8cbe573b4715f9d9221503" }, "downloads": -1, "filename": "tmtoolkit-0.1.2.tar.gz", "has_sig": false, "md5_digest": "6ecc40b69817ca6f0cc6160dffe8580c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35099, "upload_time": "2017-11-07T10:35:47", "url": "https://files.pythonhosted.org/packages/dd/7f/f2651e29f7bd206f730989f2116949ee69a1e5a5cf9b2a322916a124d87f/tmtoolkit-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "6dbeabeaba426656718f1738c20016aa", "sha256": "4704414d7342368d0fc24541927ea8b0e202b5b32da3475bb32538fae4bd48b3" }, "downloads": -1, "filename": "tmtoolkit-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6dbeabeaba426656718f1738c20016aa", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 36092, "upload_time": "2017-11-07T16:12:16", "url": "https://files.pythonhosted.org/packages/4f/13/43b8d9219993cb0946f87c8690353f18c62990a6e4da2b7e7aa941cb8c95/tmtoolkit-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c80cf440f0daa912d9150ae61172480", "sha256": "6e7f854de9c8ad8675d19ca729cf746bd335538e75bb09bb258e726d1d9b76a0" }, "downloads": -1, "filename": "tmtoolkit-0.1.3.tar.gz", "has_sig": false, "md5_digest": "7c80cf440f0daa912d9150ae61172480", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35230, "upload_time": "2017-11-07T16:12:14", "url": "https://files.pythonhosted.org/packages/f6/d7/fe060b1cd8131432c74534d2239f88925fe84ce680d7b6dfa9c273eb3003/tmtoolkit-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "45cb01827569c8247384440cf7d6f173", "sha256": "dcd6b5b45363159ed3b371ab631a8fa44fa22a92044e16f2338bdca652747fbd" }, "downloads": -1, "filename": "tmtoolkit-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "45cb01827569c8247384440cf7d6f173", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 36197, "upload_time": "2017-11-08T07:43:47", "url": "https://files.pythonhosted.org/packages/1e/33/909ab70d3cec88c537599822be1937789ff40c47e5b3e086ad55bbe7e2e6/tmtoolkit-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c85de51b8c776f1dd72389072501541", "sha256": "9b1c8de5aec90ef2133cb27b30d57762972d6fca1f4345f8bc2a7eb0a94d05f2" }, "downloads": -1, "filename": "tmtoolkit-0.1.4.tar.gz", "has_sig": false, "md5_digest": "9c85de51b8c776f1dd72389072501541", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35335, "upload_time": "2017-11-08T07:43:45", "url": "https://files.pythonhosted.org/packages/da/6f/0db15cf2d294b9fef9c544230a636d4e111c5e7a05a780947efeab59a222/tmtoolkit-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "16fe21439ccf9ec9466473da1f314cdd", "sha256": "3d272b435cb2b40c1696cd41e0d66551aef253dc7d22225f66167d7e1a94c0c1" }, "downloads": -1, "filename": "tmtoolkit-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "16fe21439ccf9ec9466473da1f314cdd", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15310289, "upload_time": "2017-11-14T14:15:35", "url": "https://files.pythonhosted.org/packages/87/70/a08b8a68e8d40e772d5bf4a3cdd30f666bd0651aca90bce6271a82d556bc/tmtoolkit-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e83cdaeacb629c41401467a7cd071e5", "sha256": "f0f0bafb52a7775c3c59d140ab66a692ff06db3c6eadf0778ae1ee389ab0dbe5" }, "downloads": -1, "filename": "tmtoolkit-0.1.5.tar.gz", "has_sig": false, "md5_digest": "5e83cdaeacb629c41401467a7cd071e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15208983, "upload_time": "2017-11-14T14:15:22", "url": "https://files.pythonhosted.org/packages/f7/2a/621460627d06ed7cd2284b7cc26d108d0bcf5a6c39acda8758edffeb2c7b/tmtoolkit-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "de4334049f73b1acd456250c6b10be73", "sha256": "215b3d932a169b761dffee764a6bfc7dd69be30ef93c31f0c56209afa22dc420" }, "downloads": -1, "filename": "tmtoolkit-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "de4334049f73b1acd456250c6b10be73", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15312029, "upload_time": "2017-11-14T14:35:19", "url": "https://files.pythonhosted.org/packages/c4/ca/9996f0362e96f3aacb7be6c4a2c619135eec8bf9150da14a9609ecd0a97a/tmtoolkit-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "70cf9ee623af424a6165f66d67ce959c", "sha256": "a660914a339fbc207ec1a3a8268e8747995a48aa74fdc933c0544c8d0be45547" }, "downloads": -1, "filename": "tmtoolkit-0.1.6.tar.gz", "has_sig": false, "md5_digest": "70cf9ee623af424a6165f66d67ce959c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15210033, "upload_time": "2017-11-14T14:35:07", "url": "https://files.pythonhosted.org/packages/19/26/f3619f14b94b4f232ee576bfcf545582ef5980a7515e04068489c2a24094/tmtoolkit-0.1.6.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d129ecac9ed5393b6c8a07793efee762", "sha256": "53ed93370818d8834c568ccf34a1e0088f7efc068efeefcac91f75e3451071b9" }, "downloads": -1, "filename": "tmtoolkit-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d129ecac9ed5393b6c8a07793efee762", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15316995, "upload_time": "2017-11-22T10:52:39", "url": "https://files.pythonhosted.org/packages/a4/1b/988055c659db24af9ea9793f737793f69438dcf8a60185a66a213eb63ae1/tmtoolkit-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddbdb25f4fb7e53ccecea86b6443c6ca", "sha256": "ffa2fa7b0fdf9bea6f386df09701c714f9e48a4d51b26c234732830e956ef656" }, "downloads": -1, "filename": "tmtoolkit-0.2.0.tar.gz", "has_sig": false, "md5_digest": "ddbdb25f4fb7e53ccecea86b6443c6ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15214585, "upload_time": "2017-11-22T10:52:28", "url": "https://files.pythonhosted.org/packages/5a/4a/c7b9eb2e273f5e6484c7cea92ef33dd6adc977713687c6c3556b641704a9/tmtoolkit-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "451324c5939b03b2c2d046fe93cca49d", "sha256": "9b675362a79d82b475fda8f73681148ec027ab28c7c629d7c3e7529795e4cba5" }, "downloads": -1, "filename": "tmtoolkit-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "451324c5939b03b2c2d046fe93cca49d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15317185, "upload_time": "2017-11-28T13:46:40", "url": "https://files.pythonhosted.org/packages/75/75/333b255dd1d9dfd60aa7a3c16175b0a080dd5bad6ae56c72a5b909808565/tmtoolkit-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1a1a46f49dcd572c68c9457513ee19c", "sha256": "c5b6810c0f9ac87d0f16c6ff2a91857d02d7a7af553c4664974610a8cec53d11" }, "downloads": -1, "filename": "tmtoolkit-0.3.0.tar.gz", "has_sig": false, "md5_digest": "c1a1a46f49dcd572c68c9457513ee19c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15215061, "upload_time": "2017-11-28T13:46:23", "url": "https://files.pythonhosted.org/packages/f5/ce/b11accefc710c8b41920412166860268161ba86e7972010fac3578775af2/tmtoolkit-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "a353068cca723c23de8b3be7bd3f36b9", "sha256": "a40bed59e6581287ff3a174aedbc864558143de4ccc6a1de9b0569054619b357" }, "downloads": -1, "filename": "tmtoolkit-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a353068cca723c23de8b3be7bd3f36b9", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15317233, "upload_time": "2017-12-04T14:35:31", "url": "https://files.pythonhosted.org/packages/f6/de/65239d6a030e7071c54065b47417d01313bd3438bf81d032d6a5afbacb25/tmtoolkit-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86237a561b119521e94a9ddbe1031ae6", "sha256": "20086cabd0beb43b9a283af2c5dff8e6d78648086023a6992c0c894743f87caa" }, "downloads": -1, "filename": "tmtoolkit-0.3.1.tar.gz", "has_sig": false, "md5_digest": "86237a561b119521e94a9ddbe1031ae6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15215104, "upload_time": "2017-12-04T14:35:20", "url": "https://files.pythonhosted.org/packages/76/fc/a4725a4a57c88330676c1c96aab2762ab72ad68783a4c2a9271d82ffda1f/tmtoolkit-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "75792244848f97ee303359590495cf73", "sha256": "bba11d7018561769ed5fc5506f0ffb70961e108bd81ae10a079fc13e0350c2d4" }, "downloads": -1, "filename": "tmtoolkit-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "75792244848f97ee303359590495cf73", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15319345, "upload_time": "2018-01-18T09:18:21", "url": "https://files.pythonhosted.org/packages/db/24/b63724f041dea8933e502ed4e282599ecb296f4090d4d1a3a5ccd7cfb5f7/tmtoolkit-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa93a6cf00c8e63a45c066f22b598586", "sha256": "f65805163fbdcc46200f25c75047a593075b49864ccfa18d45940b0bc6d74afc" }, "downloads": -1, "filename": "tmtoolkit-0.4.0.tar.gz", "has_sig": false, "md5_digest": "aa93a6cf00c8e63a45c066f22b598586", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15216763, "upload_time": "2018-01-18T09:18:16", "url": "https://files.pythonhosted.org/packages/8e/6f/83b2eeba2a91681819c2c46c5d234958e86775c4a9f3782ac3072a382af3/tmtoolkit-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "6b5603f39f54c1661613603e96909ea1", "sha256": "d7a201faccfe613f3844ff06228aeee8b0949d9d9047578ef239d2259a6dade5" }, "downloads": -1, "filename": "tmtoolkit-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6b5603f39f54c1661613603e96909ea1", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15319398, "upload_time": "2018-01-24T13:57:31", "url": "https://files.pythonhosted.org/packages/05/b5/45e443a1de223cdde2db9c4e50bc8e306f3a5c461ed62203f2a408122229/tmtoolkit-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "855525aa0cc7a038a888c79180e31fcd", "sha256": "616aec3efbcc931922843b74368b7a91e5b61e75ce1dbd1873dc1e53d00bac9c" }, "downloads": -1, "filename": "tmtoolkit-0.4.1.tar.gz", "has_sig": false, "md5_digest": "855525aa0cc7a038a888c79180e31fcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15216819, "upload_time": "2018-01-24T13:57:24", "url": "https://files.pythonhosted.org/packages/9e/90/b57236dc619bb92fec15566cc8b8f418e923f57741af13b743ec2d72f401/tmtoolkit-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "6556af86c7fd346f199146d80f06789b", "sha256": "8f71f07cb68811562c19f5d90a7184fc2ffcc3ad16e78b5f61670b97e6f192f7" }, "downloads": -1, "filename": "tmtoolkit-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6556af86c7fd346f199146d80f06789b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15319480, "upload_time": "2018-02-06T14:02:03", "url": "https://files.pythonhosted.org/packages/17/cc/7199e92232b0056aa270ca65d17c6b23f64d95b4153c5492f3048ec46544/tmtoolkit-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0bbfb8cbeebf47e00683e1ce3d6ff70", "sha256": "575aa746b760f00b8c5f0b839c9affc891918e01afc0914bbd7a837092f8ba97" }, "downloads": -1, "filename": "tmtoolkit-0.4.2.tar.gz", "has_sig": false, "md5_digest": "e0bbfb8cbeebf47e00683e1ce3d6ff70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15216840, "upload_time": "2018-02-06T14:01:50", "url": "https://files.pythonhosted.org/packages/9a/12/ec283375151efa2cd116821adf5584ccd572467acc0328903427000e5844/tmtoolkit-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "8b463791a421d3d5736ce7392c1dd795", "sha256": "551c9ee7fdfd3386f84b9630be822b234497de2fc8310782587547e7985035ae" }, "downloads": -1, "filename": "tmtoolkit-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8b463791a421d3d5736ce7392c1dd795", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15319250, "upload_time": "2018-02-13T12:55:22", "url": "https://files.pythonhosted.org/packages/d2/56/1812b2884a2bdf1681f500dbf22557bb0726fd5f0e3549e9dba20d5e8761/tmtoolkit-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a817c2e8c21500ff5aa7de7a42de6b84", "sha256": "0dcac0ba6a8e4a39888ec405b68e573c01aa21bf83cbc0e091dc957626b33252" }, "downloads": -1, "filename": "tmtoolkit-0.5.0.tar.gz", "has_sig": false, "md5_digest": "a817c2e8c21500ff5aa7de7a42de6b84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15216707, "upload_time": "2018-02-13T12:55:06", "url": "https://files.pythonhosted.org/packages/90/bb/c52da23e21f0239a94ac9a53baac223ac9cefe2f7a8df701c88845035bdc/tmtoolkit-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "eb2a0ac73fcf24d537280f0cd38b1c41", "sha256": "736dd893f86a2140279ffc3950dd6c5e4e46a3925250a94cc9f4a9afdccf0cbe" }, "downloads": -1, "filename": "tmtoolkit-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eb2a0ac73fcf24d537280f0cd38b1c41", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 15356930, "upload_time": "2018-04-25T11:30:57", "url": "https://files.pythonhosted.org/packages/22/9c/ef66d9d164ef8211eeb2040e2cd64b5e108552a5a27db557814a7f4c7c51/tmtoolkit-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe87df85f15ed3c29cc323dde1978bdd", "sha256": "89e3d4a3e4a2ae23c17a0b8331a67b59bc8b3abb1af0318c879ec99dbed7a84e" }, "downloads": -1, "filename": "tmtoolkit-0.6.0.tar.gz", "has_sig": false, "md5_digest": "fe87df85f15ed3c29cc323dde1978bdd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 15231796, "upload_time": "2018-04-25T11:31:55", "url": "https://files.pythonhosted.org/packages/e0/93/61a1b7a31d4a43702a3ccccd4e2020e41139ab1e8f917891dd3093b4c92a/tmtoolkit-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "795b8c0174e329a530a3ab9e0b395dbe", "sha256": "0a396c73f501616b10506b627f7fab1bc25289a8e05ce396709e7d16ff77096e" }, "downloads": -1, "filename": "tmtoolkit-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "795b8c0174e329a530a3ab9e0b395dbe", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 15357707, "upload_time": "2018-04-27T13:11:41", "url": "https://files.pythonhosted.org/packages/64/68/1a4e25597529bf096e43572cc195a41468d09ac03bdf6fbb96a57a2f1ff2/tmtoolkit-0.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1102343aedb036ecedb283b2f81506d6", "sha256": "ee4504f1b422db775dd2a2595843dfb2e15afdf469b9e82a1b43624d32c5c5e4" }, "downloads": -1, "filename": "tmtoolkit-0.6.1.tar.gz", "has_sig": false, "md5_digest": "1102343aedb036ecedb283b2f81506d6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 15233354, "upload_time": "2018-04-27T13:11:52", "url": "https://files.pythonhosted.org/packages/f7/2e/5dab58bf96151118b2a636549835f744cfda0b746946db66e91393d06098/tmtoolkit-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "7d950e4526f51e4fd5cbebdd1d761e59", "sha256": "c3eddd2bf81e4299d9a7437a8cf919939db29ced7888eb2e7fa6ab8146911af0" }, "downloads": -1, "filename": "tmtoolkit-0.6.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7d950e4526f51e4fd5cbebdd1d761e59", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 15358033, "upload_time": "2018-05-03T11:13:45", "url": "https://files.pythonhosted.org/packages/16/6d/81c30a08dc0d6c214a8f3705d8ca0eca104d1c793aff526ecf369e5320a4/tmtoolkit-0.6.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57986d209726be6b562661674bf7f9ea", "sha256": "73c3744e359a80a351ab7167b90d7e4e1865fbb175129f3d2101b14bb8670aaf" }, "downloads": -1, "filename": "tmtoolkit-0.6.2.tar.gz", "has_sig": false, "md5_digest": "57986d209726be6b562661674bf7f9ea", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 15233650, "upload_time": "2018-05-03T11:13:51", "url": "https://files.pythonhosted.org/packages/a0/50/27b76d3b93476125889f3fe1c44642fb471055ce76ce2b71d16dccf7930a/tmtoolkit-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "0503471dbbfd67394755e03b4d662185", "sha256": "117089120cb2d9edf14357b9074192d8cf0870d73c674d545ae066e24a12a8ab" }, "downloads": -1, "filename": "tmtoolkit-0.6.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0503471dbbfd67394755e03b4d662185", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 15358094, "upload_time": "2018-06-01T07:33:00", "url": "https://files.pythonhosted.org/packages/34/3e/69b51b239a2346db74e3acfa0b04884b313572464b613086f70cddf6bd28/tmtoolkit-0.6.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c201952ad8dfdc42b1d5ce4794d57d2", "sha256": "274852248038e8f03b271b5108bf8b35a1eb2e512d2cbaecb42dc1a49ccc66fe" }, "downloads": -1, "filename": "tmtoolkit-0.6.3.tar.gz", "has_sig": false, "md5_digest": "2c201952ad8dfdc42b1d5ce4794d57d2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 15228707, "upload_time": "2018-06-01T07:33:06", "url": "https://files.pythonhosted.org/packages/fd/0f/54e5476692cc1fff09fe3d6b437ec72fe236649a485f25a4c925d20f0f73/tmtoolkit-0.6.3.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "6230325d782fe9721b0eb27e91ea6e58", "sha256": "134cd12cee3f55b06b444313787a51571632d459cc28f784efa7d5dc7bb735fd" }, "downloads": -1, "filename": "tmtoolkit-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6230325d782fe9721b0eb27e91ea6e58", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 15359032, "upload_time": "2018-06-18T10:45:07", "url": "https://files.pythonhosted.org/packages/ff/e3/6c977e8b3855e4cfba0130bc203527a65e6924ecada4eba73f2d67f3e058/tmtoolkit-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9267595f5793703e3092d29295aa835a", "sha256": "a233804b4d1e39197657efd45abfc0f56de59cd6933a23f83a7f7bfc8f8e0718" }, "downloads": -1, "filename": "tmtoolkit-0.7.0.tar.gz", "has_sig": false, "md5_digest": "9267595f5793703e3092d29295aa835a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 15228427, "upload_time": "2018-06-18T10:45:12", "url": "https://files.pythonhosted.org/packages/40/1d/05aeebe70e19ac69849a0494b3f248d10d9eee4bb1d59b24a3cf896ab2ba/tmtoolkit-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "69f20abc9fcd37ae29c4e2647cc3f61e", "sha256": "5849a302d3e0c16fb68288f24d5a56420bd8cb0598efa91d5dbd6f3bcc383c69" }, "downloads": -1, "filename": "tmtoolkit-0.7.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "69f20abc9fcd37ae29c4e2647cc3f61e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 15362407, "upload_time": "2018-06-18T14:44:41", "url": "https://files.pythonhosted.org/packages/aa/c0/cf2369e3e1fd44253a48d2aa7c23be516653a87565faaab5d178e635857d/tmtoolkit-0.7.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6cc544d4ad3f1b2e6bb1b39378dafe8", "sha256": "6ee512473f11578d22946430c25bba4ada873267a280a3420f26e51ebc447499" }, "downloads": -1, "filename": "tmtoolkit-0.7.1.tar.gz", "has_sig": false, "md5_digest": "d6cc544d4ad3f1b2e6bb1b39378dafe8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 15230904, "upload_time": "2018-06-18T14:44:47", "url": "https://files.pythonhosted.org/packages/2d/4a/63071f54284a219136e22ce0c4e352b2074a62cd226fc234d52c7493e37f/tmtoolkit-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "e2bcfe58766448ab92d50e64718c1f93", "sha256": "094a0f59c724d0b537dba102ee1b135e2a71897b4bc7b36059672affb0af64cc" }, "downloads": -1, "filename": "tmtoolkit-0.7.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e2bcfe58766448ab92d50e64718c1f93", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 15362500, "upload_time": "2018-07-23T07:38:20", "url": "https://files.pythonhosted.org/packages/39/5a/bf1223ca789af640c767abf6e7ef91e425ce4ac9de764be7d07a0743f7f2/tmtoolkit-0.7.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ddb035936a6686c2475295a750ffa88", "sha256": "909cf334d49a1866a12020893e95efdb3439976e83f0dbb3e598a1dd1600537d" }, "downloads": -1, "filename": "tmtoolkit-0.7.2.tar.gz", "has_sig": false, "md5_digest": "2ddb035936a6686c2475295a750ffa88", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 15231100, "upload_time": "2018-07-23T07:38:26", "url": "https://files.pythonhosted.org/packages/02/9c/bec0802de48ea0e9761279e650b577ef3833df33dcfd099f081e165e8b94/tmtoolkit-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "460e553fe09f01de1570d321f8c78d05", "sha256": "585d4024474c729af67050a39e983a109877081b447ba9b4683cd3d8f3307f90" }, "downloads": -1, "filename": "tmtoolkit-0.7.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "460e553fe09f01de1570d321f8c78d05", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 15362609, "upload_time": "2018-09-17T15:06:21", "url": "https://files.pythonhosted.org/packages/2d/1c/56d73532934befd30f7f3836b19775e0c35150f5310ac56fb7b4ee45c6bf/tmtoolkit-0.7.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "448f85043192c736e09446030e94f826", "sha256": "5c4af92f7614d1f00c7d897725aefd83858387f57022e4ed017605606f11d880" }, "downloads": -1, "filename": "tmtoolkit-0.7.3.tar.gz", "has_sig": false, "md5_digest": "448f85043192c736e09446030e94f826", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 15231325, "upload_time": "2018-09-17T15:06:27", "url": "https://files.pythonhosted.org/packages/08/95/6c54f1217506d2413b46daf3d4f188cc903f2715daa30c8f1683b5b7d9fe/tmtoolkit-0.7.3.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "ed1545a83f3bac072159db6e6495dc34", "sha256": "d0bbfe9d7320d08c709cd1d62532d2573c7cfe4608e93bb78f4f734b874e8ccd" }, "downloads": -1, "filename": "tmtoolkit-0.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ed1545a83f3bac072159db6e6495dc34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 13091542, "upload_time": "2019-02-05T17:14:26", "url": "https://files.pythonhosted.org/packages/ae/cb/5beda2de357e3ee7f33445b08b107a96077753db2efd2760536a7bfbf703/tmtoolkit-0.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "251527e8aa74f9f8af7dd40780f26d10", "sha256": "337630fb3fb289fe800802e38c70b0607f5d9c4a47913ebe17cd37662ea01ae2" }, "downloads": -1, "filename": "tmtoolkit-0.8.0.tar.gz", "has_sig": false, "md5_digest": "251527e8aa74f9f8af7dd40780f26d10", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 12987119, "upload_time": "2019-02-05T17:14:31", "url": "https://files.pythonhosted.org/packages/ae/79/76f297091ab54fc09dd04e0769752f564239c0ba6ec1e157feb358ef3540/tmtoolkit-0.8.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ed1545a83f3bac072159db6e6495dc34", "sha256": "d0bbfe9d7320d08c709cd1d62532d2573c7cfe4608e93bb78f4f734b874e8ccd" }, "downloads": -1, "filename": "tmtoolkit-0.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ed1545a83f3bac072159db6e6495dc34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 13091542, "upload_time": "2019-02-05T17:14:26", "url": "https://files.pythonhosted.org/packages/ae/cb/5beda2de357e3ee7f33445b08b107a96077753db2efd2760536a7bfbf703/tmtoolkit-0.8.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "251527e8aa74f9f8af7dd40780f26d10", "sha256": "337630fb3fb289fe800802e38c70b0607f5d9c4a47913ebe17cd37662ea01ae2" }, "downloads": -1, "filename": "tmtoolkit-0.8.0.tar.gz", "has_sig": false, "md5_digest": "251527e8aa74f9f8af7dd40780f26d10", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 12987119, "upload_time": "2019-02-05T17:14:31", "url": "https://files.pythonhosted.org/packages/ae/79/76f297091ab54fc09dd04e0769752f564239c0ba6ec1e157feb358ef3540/tmtoolkit-0.8.0.tar.gz" } ] }