{ "info": { "author": "Mailgun Inc.", "author_email": "admin@mailgunhq.com", "bugtrack_url": null, "classifiers": [], "description": "talon\n=====\n\nMailgun library to extract message quotations and signatures.\n\nIf you ever tried to parse message quotations or signatures you know that absence of any formatting standards in this area could make this task a nightmare. Hopefully this library will make your life much easier. The name of the project is inspired by TALON - multipurpose robot designed to perform missions ranging from reconnaissance to combat and operate in a number of hostile environments. That\u2019s what a good quotations and signature parser should be like :smile:\n\nUsage\n-----\n\nHere\u2019s how you initialize the library and extract a reply from a text\nmessage:\n\n.. code:: python\n\n import talon\n from talon import quotations\n\n talon.init()\n\n text = \"\"\"Reply\n\n -----Original Message-----\n\n Quote\"\"\"\n\n reply = quotations.extract_from(text, 'text/plain')\n reply = quotations.extract_from_plain(text)\n # reply == \"Reply\"\n\nTo extract a reply from html:\n\n.. code:: python\n\n html = \"\"\"Reply\n
\n\n
\n On 11-Apr-2011, at 6:54 PM, Bob <bob@example.com> wrote:\n
\n\n
\n Quote\n
\n\n
\"\"\"\n\n reply = quotations.extract_from(html, 'text/html')\n reply = quotations.extract_from_html(html)\n # reply == \"

Reply

\"\n\nOften the best way is the easiest one. Here\u2019s how you can extract\nsignature from email message without any\nmachine learning fancy stuff:\n\n.. code:: python\n\n from talon.signature.bruteforce import extract_signature\n\n\n message = \"\"\"Wow. Awesome!\n --\n Bob Smith\"\"\"\n\n text, signature = extract_signature(message)\n # text == \"Wow. Awesome!\"\n # signature == \"--\\nBob Smith\"\n\nQuick and works like a charm 90% of the time. For other 10% you can use\nthe power of machine learning algorithms:\n\n.. code:: python\n\n import talon\n # don't forget to init the library first\n # it loads machine learning classifiers\n talon.init()\n\n from talon import signature\n\n\n message = \"\"\"Thanks Sasha, I can't go any higher and is why I limited it to the\n homepage.\n\n John Doe\n via mobile\"\"\"\n\n text, signature = signature.extract(message, sender='john.doe@example.com')\n # text == \"Thanks Sasha, I can't go any higher and is why I limited it to the\\nhomepage.\"\n # signature == \"John Doe\\nvia mobile\"\n\nFor machine learning talon currently uses the `scikit-learn`_ library to build SVM\nclassifiers. The core of machine learning algorithm lays in\n``talon.signature.learning package``. It defines a set of features to\napply to a message (``featurespace.py``), how data sets are built\n(``dataset.py``), classifier\u2019s interface (``classifier.py``).\n\nCurrently the data used for training is taken from our personal email\nconversations and from `ENRON`_ dataset. As a result of applying our set\nof features to the dataset we provide files ``classifier`` and\n``train.data`` that don\u2019t have any personal information but could be\nused to load trained classifier. Those files should be regenerated every\ntime the feature/data set is changed.\n\nTo regenerate the model files, you can run\n\n.. code:: sh\n\n python train.py\n\nor\n\n.. code:: python\n \n from talon.signature import EXTRACTOR_FILENAME, EXTRACTOR_DATA\n from talon.signature.learning.classifier import train, init\n train(init(), EXTRACTOR_DATA, EXTRACTOR_FILENAME)\n\nOpen-source Dataset\n-------------------\n\nRecently we started a `forge`_ project to create an open-source, annotated dataset of raw emails. In the project we\nused a subset of `ENRON`_ data, cleansed of private, health and financial information by `EDRM`_. At the moment over 190\nemails are annotated. Any contribution and collaboration on the project are welcome. Once the dataset is ready we plan to\nstart using it for talon.\n\n.. _scikit-learn: http://scikit-learn.org\n.. _ENRON: https://www.cs.cmu.edu/~enron/\n.. _EDRM: http://www.edrm.net/resources/data-sets/edrm-enron-email-data-set\n.. _forge: https://github.com/mailgun/forge\n\n\nResearch\n--------\n\nThe library is inspired by the following research papers and projects:\n\n- http://www.cs.cmu.edu/~vitor/papers/sigFilePaper_finalversion.pdf\n- http://www.cs.cornell.edu/people/tj/publications/joachims_01a.pdf", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mailgun/talon", "keywords": "", "license": "APACHE2", "maintainer": "", "maintainer_email": "", "name": "talon", "package_url": "https://pypi.org/project/talon/", "platform": "", "project_url": "https://pypi.org/project/talon/", "project_urls": { "Homepage": "https://github.com/mailgun/talon" }, "release_url": "https://pypi.org/project/talon/1.4.4/", "requires_dist": null, "requires_python": "", "summary": "Mailgun library to extract message quotations and signatures.", "version": "1.4.4" }, "last_serial": 3867543, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "7132c4d0be59cb6e75ea9cc5fd00de7c", "sha256": "c9863662b0c008ce2c0ecf0fc37ee35b0995a872c79f18021cfafb2500318c5f" }, "downloads": -1, "filename": "talon-0.0.1.tar.gz", "has_sig": false, "md5_digest": "7132c4d0be59cb6e75ea9cc5fd00de7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54130, "upload_time": "2014-08-16T02:58:56", "url": "https://files.pythonhosted.org/packages/39/24/088361789c8fd0a42ae250cd066c9538a11d5f9c0e4f552abc069728bf4b/talon-0.0.1.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "9c31fcf9099a690b986bb9f706fc3b62", "sha256": "1143901476eba6fa1a91f808e558b7945ce230958d3d9f4fc163ff5e68e7edb6" }, "downloads": -1, "filename": "talon-1.0.tar.gz", "has_sig": false, "md5_digest": "9c31fcf9099a690b986bb9f706fc3b62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24143, "upload_time": "2014-07-24T14:02:10", "url": "https://files.pythonhosted.org/packages/c2/72/8651205ada0314a3082b34cf22a1279a25149e15f9282870769c131c3f7a/talon-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "d71ce3fd5e63bb1a534e4d0973189eac", "sha256": "a08d854f8413e09ce04524db44173c1e3ac52bb25993c3305fb7f2b1321c8b7c" }, "downloads": -1, "filename": "talon-1.0.1.tar.gz", "has_sig": false, "md5_digest": "d71ce3fd5e63bb1a534e4d0973189eac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24131, "upload_time": "2014-07-24T22:00:15", "url": "https://files.pythonhosted.org/packages/e0/dd/8223b410f27b703f62d301d3b6865f984df975d180875c36729c634df031/talon-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "7bf9c827987d05435c351b7a50f62d1c", "sha256": "5775c5fe07fe2b6d39f57fa5b4cb922992e4a0ba1fc90a823b005e1f18fd07ba" }, "downloads": -1, "filename": "talon-1.0.2.tar.gz", "has_sig": false, "md5_digest": "7bf9c827987d05435c351b7a50f62d1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54160, "upload_time": "2014-07-24T23:32:33", "url": "https://files.pythonhosted.org/packages/84/8f/86934c3e9c1e3e4cd13f46f319af0ad6d16776b2919190171ffe118d5610/talon-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "0127a026d056daf3a48a099ff966ca7e", "sha256": "b4b4a104efd9587724606444f87d4dbd3a649e88b8e545146577e371ffadbd8d" }, "downloads": -1, "filename": "talon-1.0.3.tar.gz", "has_sig": false, "md5_digest": "0127a026d056daf3a48a099ff966ca7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53850, "upload_time": "2015-09-07T11:40:35", "url": "https://files.pythonhosted.org/packages/46/e2/9161c6a2195f48bf1658344fbddb6345e3eef719d0abc0993763bb133f84/talon-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "9b25bd0da5438a181aaada7b4535fa28", "sha256": "e39f469cdcfac29bdf752f26e2f8c563b992b274e205c274af6200fa3c0c8197" }, "downloads": -1, "filename": "talon-1.0.4.tar.gz", "has_sig": false, "md5_digest": "9b25bd0da5438a181aaada7b4535fa28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53846, "upload_time": "2015-09-10T17:47:46", "url": "https://files.pythonhosted.org/packages/57/71/d65aee060c47c8dcc584ed543e65af700eab667eedee6e9a16555c58c639/talon-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "5fc57990c8cd492824a23f9056e7b392", "sha256": "c336e0b982b8713c2a1cbf4864521c5a89f62f81d2b9d3bc25b9238b2ad79f7c" }, "downloads": -1, "filename": "talon-1.0.5.tar.gz", "has_sig": false, "md5_digest": "5fc57990c8cd492824a23f9056e7b392", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53923, "upload_time": "2015-09-11T11:51:57", "url": "https://files.pythonhosted.org/packages/a9/2c/125c6cd5807eef5ba456c7957e0fce42ce1141c75123145f4cb7e61f96d1/talon-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "528c08220bdd974e09c042a0308924fb", "sha256": "a46707adc3d8d9c22683147dfb2fb4269f8ce6615720f99911234d231d729b49" }, "downloads": -1, "filename": "talon-1.0.6.tar.gz", "has_sig": false, "md5_digest": "528c08220bdd974e09c042a0308924fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53941, "upload_time": "2015-09-11T13:27:42", "url": "https://files.pythonhosted.org/packages/be/19/ab4f916578dbd782533593a4caf3ee0306e880591e4e9e39c1964c8bb8bd/talon-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "dcc32015b00ce4da3b3047ae42d5bf98", "sha256": "4daa251dffbfc2ab5af746829ea8fb1bf719999fbd47f02c50715cb739df6f44" }, "downloads": -1, "filename": "talon-1.0.7.tar.gz", "has_sig": false, "md5_digest": "dcc32015b00ce4da3b3047ae42d5bf98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54597, "upload_time": "2015-09-11T17:42:43", "url": "https://files.pythonhosted.org/packages/a5/6d/c96953b913e30a9d0a6794d7b091cdc552d8bb64d9effb3bb611d0c0c9ad/talon-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "b3bdcd22f7dfab5db3e50980305b6cfa", "sha256": "aa081067606b83e3bac0b3e96898c3f51d490c3e6cda38c4eb07ec381779303e" }, "downloads": -1, "filename": "talon-1.0.8.tar.gz", "has_sig": false, "md5_digest": "b3bdcd22f7dfab5db3e50980305b6cfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54700, "upload_time": "2015-09-18T12:23:49", "url": "https://files.pythonhosted.org/packages/16/79/062b84728288e2481ec7a1e7d8fe146dcfb15600821c63aedc9e015cdfe5/talon-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "c85ce67203ed53f554a0f315c72e6b10", "sha256": "8ffcda40a2c5cd28efaf024ae5dc3b0d973e23a8f39894695965755925c8e904" }, "downloads": -1, "filename": "talon-1.0.9.tar.gz", "has_sig": false, "md5_digest": "c85ce67203ed53f554a0f315c72e6b10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55107, "upload_time": "2015-09-21T16:56:12", "url": "https://files.pythonhosted.org/packages/eb/b9/f02859d1fb8b9a5f6f2a5818a43381bc2407a4913338bcb6dba3abf69b1c/talon-1.0.9.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "dd7135ae3017c31e425bdd3f21c43826", "sha256": "9f0ac655fc7368ad4cd94ed68f95c2bb37b90ca54858bf19f8ec0bc1219bac7b" }, "downloads": -1, "filename": "talon-1.1.0.tar.gz", "has_sig": false, "md5_digest": "dd7135ae3017c31e425bdd3f21c43826", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55766, "upload_time": "2015-10-15T04:58:44", "url": "https://files.pythonhosted.org/packages/ae/ef/70a549b9c64bc46feece4c814b3654a4fa9120df183585a031246961cb45/talon-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "5c7ec5698f3954762ba6c17b93f349bb", "sha256": "16106f35dc88b37c8c183203e0bc013ab495fe2a695d02c688702e6b1ac5f90f" }, "downloads": -1, "filename": "talon-1.2.0.tar.gz", "has_sig": false, "md5_digest": "5c7ec5698f3954762ba6c17b93f349bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56368, "upload_time": "2015-12-19T03:17:44", "url": "https://files.pythonhosted.org/packages/7c/1b/67c2d45c454021c1468346b59d6a3424af8152d471f7d77ef7c4c50df6c3/talon-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "daaef437f759f79c7e1973b321c5422a", "sha256": "03281317103388ad9e264a8cfd77367ce2b7c02f646920070f6dcff11d148eee" }, "downloads": -1, "filename": "talon-1.2.1.tar.gz", "has_sig": false, "md5_digest": "daaef437f759f79c7e1973b321c5422a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56899, "upload_time": "2015-12-19T03:19:07", "url": "https://files.pythonhosted.org/packages/c4/9a/9af5585eeb8353118c83a55cf67355ff6799a5c4241bce7f3d721d4008d9/talon-1.2.1.tar.gz" } ], "1.2.10": [ { "comment_text": "", "digests": { "md5": "396e73c5fb4b2a550cc76e20965fcac0", "sha256": "a80ba57b40a6fe80c8895d49f2cde42bf147db143debc92b1a20e37fef792711" }, "downloads": -1, "filename": "talon-1.2.10.tar.gz", "has_sig": false, "md5_digest": "396e73c5fb4b2a550cc76e20965fcac0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58305, "upload_time": "2016-06-11T01:06:27", "url": "https://files.pythonhosted.org/packages/64/00/c3e90719201682305695f0cccc381cb3bad5af0aba36aadaa5958eab7a1b/talon-1.2.10.tar.gz" } ], "1.2.11": [ { "comment_text": "", "digests": { "md5": "df95cc35b6be2e8cd2d48cfbd0a20b78", "sha256": "1bf0a20df1d67bb379f2f9a81502cbec2837a22c7ebb51fe4a056c92e73a7231" }, "downloads": -1, "filename": "talon-1.2.11.tar.gz", "has_sig": false, "md5_digest": "df95cc35b6be2e8cd2d48cfbd0a20b78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58947, "upload_time": "2016-07-19T23:26:24", "url": "https://files.pythonhosted.org/packages/3b/52/4021830b57ca5bc21d9c2c0093997f5b91c2d69344640a3ae381f1ad7007/talon-1.2.11.tar.gz" } ], "1.2.12": [ { "comment_text": "", "digests": { "md5": "4aae8496783e098059f074b057ad658d", "sha256": "1e64e38d2bc910ca63a1154ad38e19efee34a791e34fbb09ba57916102bee260" }, "downloads": -1, "filename": "talon-1.2.12.tar.gz", "has_sig": false, "md5_digest": "4aae8496783e098059f074b057ad658d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58976, "upload_time": "2016-07-20T23:48:46", "url": "https://files.pythonhosted.org/packages/89/06/089a03cb4d396c4b87b23ae16013b73d59222ff1ec97ba5cf28158756d6e/talon-1.2.12.tar.gz" } ], "1.2.14": [ { "comment_text": "", "digests": { "md5": "0fd2b5976f3f2eca612dcdd4209d34f0", "sha256": "a6450914fe6c686f34e646cd4bfde8ba6a108c59bd12fd66087330033dc1b315" }, "downloads": -1, "filename": "talon-1.2.14.tar.gz", "has_sig": false, "md5_digest": "0fd2b5976f3f2eca612dcdd4209d34f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59051, "upload_time": "2016-08-11T23:09:33", "url": "https://files.pythonhosted.org/packages/3e/10/f9c866b86eb3ddc256077b0b5885284e62917fc64b4d61a85cbd69b5f220/talon-1.2.14.tar.gz" } ], "1.2.15": [ { "comment_text": "", "digests": { "md5": "cf8bef8fdf100a10bb61d5de4e1fe1d5", "sha256": "214193da8f2fb545bb21db916a11ad78a8ab67933fc1bff9d40a60d4a00f8d4f" }, "downloads": -1, "filename": "talon-1.2.15.tar.gz", "has_sig": false, "md5_digest": "cf8bef8fdf100a10bb61d5de4e1fe1d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59176, "upload_time": "2016-08-12T19:24:34", "url": "https://files.pythonhosted.org/packages/98/45/18586dbe2c919a032903b85fcc1b2f2c13e9421fd3415ab6874839574850/talon-1.2.15.tar.gz" } ], "1.2.16": [ { "comment_text": "", "digests": { "md5": "58a7dcfabea8d3f8e4483d393c8f7aac", "sha256": "268b3e1449ba1306c39ecd4f1a8d7e8eb2ccd7992d938153625a1046d98f10ec" }, "downloads": -1, "filename": "talon-1.2.16.tar.gz", "has_sig": false, "md5_digest": "58a7dcfabea8d3f8e4483d393c8f7aac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59308, "upload_time": "2016-08-15T20:42:00", "url": "https://files.pythonhosted.org/packages/71/ba/795acc54ab83b5f1a4b0091b0ebce0ddc64b49607dd462b332c576857989/talon-1.2.16.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "dd20bcf1170d0af804e512da830f82d2", "sha256": "6a2ca6ba8784ae37b4db639c0f9d0d8b1e0fbd84c3f3050651f1640b2405c035" }, "downloads": -1, "filename": "talon-1.2.2.tar.gz", "has_sig": false, "md5_digest": "dd20bcf1170d0af804e512da830f82d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57136, "upload_time": "2016-02-20T02:36:15", "url": "https://files.pythonhosted.org/packages/cf/15/6a7c93709e1048692b583e0e46775cafbbc2478656c52eff832486731935/talon-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "51aebe4d0df47e85af1bf29d9b278f4b", "sha256": "b7000ce9997e121097845323320ea2a9ea92c9b2199370e00e657ba4e398c444" }, "downloads": -1, "filename": "talon-1.2.3.tar.gz", "has_sig": false, "md5_digest": "51aebe4d0df47e85af1bf29d9b278f4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57298, "upload_time": "2016-02-20T03:10:18", "url": "https://files.pythonhosted.org/packages/d6/7e/889ce8806be4e536a73b65f8c371da46a0ca6dda5e91501df41fe732fde2/talon-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "3e25cd8250a1e9eb5229e21de95affb0", "sha256": "09663a8b9ba8b810cf796459c5c10901fb8694cca1dea19ec78f800800b3653e" }, "downloads": -1, "filename": "talon-1.2.4.tar.gz", "has_sig": false, "md5_digest": "3e25cd8250a1e9eb5229e21de95affb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57372, "upload_time": "2016-02-29T23:16:52", "url": "https://files.pythonhosted.org/packages/49/11/77cdec9bd31c12e9bd53c67ea2f4084c6833cc8668948d7ad21a3301ac5a/talon-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "33bc245a48d98e0b47ab16bbb855e8ae", "sha256": "8507616fb8237dbcfafaeee31bcb7cc7d9af746cfbaf6f957d644a1b8b32c55d" }, "downloads": -1, "filename": "talon-1.2.5.tar.gz", "has_sig": false, "md5_digest": "33bc245a48d98e0b47ab16bbb855e8ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57443, "upload_time": "2016-03-04T21:35:07", "url": "https://files.pythonhosted.org/packages/3b/43/5ace3e810f20bc2520c6d4230418db177d499ff48febbb4ac105f60ed1c2/talon-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "d4345a1ec59268d583a0c4a98daf8144", "sha256": "e30bcabca46b769c0359fa1bec25d7211962436a49cb8b2f1554a79b1c5baec8" }, "downloads": -1, "filename": "talon-1.2.6.tar.gz", "has_sig": false, "md5_digest": "d4345a1ec59268d583a0c4a98daf8144", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57515, "upload_time": "2016-04-08T00:57:11", "url": "https://files.pythonhosted.org/packages/d9/46/997210e1247fcdc889e74910c250a2bb2980ed73937c7539b1400b92579d/talon-1.2.6.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "dd6df0d1cbf8760bfade4f75811d696b", "sha256": "2c671a4d5dbff4e45820b0ef7d859e2685ad67eb36accb4b8a00392a944d893d" }, "downloads": -1, "filename": "talon-1.2.7.tar.gz", "has_sig": false, "md5_digest": "dd6df0d1cbf8760bfade4f75811d696b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57689, "upload_time": "2016-05-20T18:17:50", "url": "https://files.pythonhosted.org/packages/89/1b/9e8095e9043eb39e0c735219967da0b16a67e2e58e08d1db0a0785f7f32b/talon-1.2.7.tar.gz" } ], "1.2.8": [ { "comment_text": "", "digests": { "md5": "2823b3e323db1a28c0b09ea2c90d095d", "sha256": "2952b38275e71390c1dc32d1d0ca0d7d0361e184b04d55a5acdfce7b9c04cbfc" }, "downloads": -1, "filename": "talon-1.2.8.tar.gz", "has_sig": false, "md5_digest": "2823b3e323db1a28c0b09ea2c90d095d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58308, "upload_time": "2016-06-01T01:21:52", "url": "https://files.pythonhosted.org/packages/ab/3f/8b32909f3a272e6a5b31acd5fe24f015048238312b6289d39f355d3c014a/talon-1.2.8.tar.gz" } ], "1.2.9": [ { "comment_text": "", "digests": { "md5": "3be837c3c15c52ebf4f8c0fda1d025e5", "sha256": "e73514baac068ed32206c370bfdf6aa6d4fd59b684a3018872060d9de5cc5cf5" }, "downloads": -1, "filename": "talon-1.2.9.tar.gz", "has_sig": false, "md5_digest": "3be837c3c15c52ebf4f8c0fda1d025e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57702, "upload_time": "2016-06-01T03:17:56", "url": "https://files.pythonhosted.org/packages/ae/36/4991c3918bd140f0dc2518909d261b8a8579e13ab7304a97682dfa5be274/talon-1.2.9.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "61c4105e134f2ed6c91141da2352a888", "sha256": "327298b6fb19a9fbe6762a450e51828a981b48a799ad4bb4d9917daa2d0ff4f5" }, "downloads": -1, "filename": "talon-1.3.0.tar.gz", "has_sig": false, "md5_digest": "61c4105e134f2ed6c91141da2352a888", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59836, "upload_time": "2016-08-19T22:59:49", "url": "https://files.pythonhosted.org/packages/23/b4/227e0808255c9c65e79d086822b1f87398d999caca3e3e9704cd87740399/talon-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "996a8fd40dbe777833d80bd5ac48135e", "sha256": "93b2db4aa5623a71c1029b2571eadede517a79e389bfe599f941355b2fb9b830" }, "downloads": -1, "filename": "talon-1.3.1.tar.gz", "has_sig": false, "md5_digest": "996a8fd40dbe777833d80bd5ac48135e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59842, "upload_time": "2016-08-23T01:11:40", "url": "https://files.pythonhosted.org/packages/36/3d/d194911b581f374f8e5183046fbe69907e9b87594eca6706ab2b78d82416/talon-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "1147a921ee53df438747cc9af45ee99a", "sha256": "b979ce60ef01403f2f1c2bde7b35e97795ac52f701c2de5059fbfcbc876e5f98" }, "downloads": -1, "filename": "talon-1.3.2.tar.gz", "has_sig": false, "md5_digest": "1147a921ee53df438747cc9af45ee99a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60071, "upload_time": "2016-09-14T18:07:20", "url": "https://files.pythonhosted.org/packages/7f/10/a7a3a809b93de9b83fb070a5b12dddf91b0fe13df1b0fcbda405618c382f/talon-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "9dd5946a142d1a8f1e715d43d0d4e002", "sha256": "46c4ee3108e190d40a36ce8bfcacbc31c2b7f0a098315590064fa0237bbf883e" }, "downloads": -1, "filename": "talon-1.3.3.tar.gz", "has_sig": false, "md5_digest": "9dd5946a142d1a8f1e715d43d0d4e002", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60640, "upload_time": "2016-12-01T02:37:31", "url": "https://files.pythonhosted.org/packages/8c/90/966caab346a2fcc41873eb438cf7d5558ca374283450f837a80946f4f782/talon-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "8c182d7ff970e86aa1cec24bfd82ee1d", "sha256": "2ef3336c959c914bd86e3b3339037f06cc8d9aa61a7992119e703111e28c1e95" }, "downloads": -1, "filename": "talon-1.3.4.tar.gz", "has_sig": false, "md5_digest": "8c182d7ff970e86aa1cec24bfd82ee1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61184, "upload_time": "2017-02-14T19:20:43", "url": "https://files.pythonhosted.org/packages/f3/83/33befb7f71b856b0cce472ec1789bcf29a9b7be584b166e6cd36c6ecf807/talon-1.3.4.tar.gz" } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "82548c9ed610987ffbbf3de8b6e29c69", "sha256": "4dd8d09f3bef849dff03fcf26d07fb0b92d59f024a9dcab8133a7608c2d9b2c5" }, "downloads": -1, "filename": "talon-1.3.5.tar.gz", "has_sig": false, "md5_digest": "82548c9ed610987ffbbf3de8b6e29c69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61273, "upload_time": "2017-04-10T23:39:03", "url": "https://files.pythonhosted.org/packages/e6/41/273946d6a7bc2e390f872ec9fb2d8a735bec7da76fa77984d086ea1c9ccb/talon-1.3.5.tar.gz" } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "94944f870a05f2f4d0d1f282ab5cb2d5", "sha256": "5b366ca47d9600af34d81c3e00cc5415bf6027c5872113f198486443ec0e3f18" }, "downloads": -1, "filename": "talon-1.3.6.tar.gz", "has_sig": false, "md5_digest": "94944f870a05f2f4d0d1f282ab5cb2d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61362, "upload_time": "2017-04-25T18:30:32", "url": "https://files.pythonhosted.org/packages/29/a6/efaf76f9a5ad2b8cd74386c6fca075ea820655bf73ee443bb250599150c3/talon-1.3.6.tar.gz" } ], "1.3.7": [ { "comment_text": "", "digests": { "md5": "1a8d89f97c7747a99f0acadee5f04df5", "sha256": "3d79c7e1c158369c95404531005e67384ff44c9d3973235b038487c57907fd8c" }, "downloads": -1, "filename": "talon-1.3.7.tar.gz", "has_sig": false, "md5_digest": "1a8d89f97c7747a99f0acadee5f04df5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61525, "upload_time": "2017-04-25T18:51:30", "url": "https://files.pythonhosted.org/packages/2e/b1/50c2daf5dba81073e70a5de508c68d9d4ef9711e0dbb32c0fd5a3263367e/talon-1.3.7.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "83e09995ec8b3b55fc9f581103fa9649", "sha256": "cacef8f98a293fa33119bb1432ec983262e36ba748c1d178d4f9175084830760" }, "downloads": -1, "filename": "talon-1.4.0.tar.gz", "has_sig": false, "md5_digest": "83e09995ec8b3b55fc9f581103fa9649", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61987, "upload_time": "2017-06-19T05:51:08", "url": "https://files.pythonhosted.org/packages/71/cd/8aba01e6b79ad0adb88942e985aa9a8cd26b9373909a901b42ef5fb64d38/talon-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "9d5c0eeaca8a3aad4db5edbdeae3e0c5", "sha256": "a0387df9c76b8eef2dee5cd81eb956c2e218eebee20beca5e3dd37650710c3c0" }, "downloads": -1, "filename": "talon-1.4.1.tar.gz", "has_sig": false, "md5_digest": "9d5c0eeaca8a3aad4db5edbdeae3e0c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62008, "upload_time": "2017-06-19T05:58:51", "url": "https://files.pythonhosted.org/packages/e7/2b/b50db53badbf57ab17b4d3dcaee7289250bf6cdd2b95577d40ca8b70c883/talon-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "985b4163a32cf61dbfc0681acf0f57ff", "sha256": "87f0bf0774fa4ff551a11b0f54387dbff3edae86284a368797f884ec3d52b671" }, "downloads": -1, "filename": "talon-1.4.2.tar.gz", "has_sig": false, "md5_digest": "985b4163a32cf61dbfc0681acf0f57ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62146, "upload_time": "2017-07-10T18:50:14", "url": "https://files.pythonhosted.org/packages/f9/9d/a8559cf6f20b9da3ce38c4697352ce4810c2e1fcbb9b946c2e4594dda2e6/talon-1.4.2.tar.gz" } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "74204d59ecb352edd71811c54f11ea24", "sha256": "1a260153b76b44a7fc8df9d07381b49ed653c1bc6b13a1825d1ec57c3fdf6388" }, "downloads": -1, "filename": "talon-1.4.3.tar.gz", "has_sig": false, "md5_digest": "74204d59ecb352edd71811c54f11ea24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62136, "upload_time": "2017-08-24T22:37:34", "url": "https://files.pythonhosted.org/packages/90/ce/1db3274916e96668f9e3242adeaa45fd198875fd283c7b63a87740a61235/talon-1.4.3.tar.gz" } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "dfc3060b72c8ae94efcc26fa913d74dc", "sha256": "263d122609747691e9f75726ea565f5da8a40146a7a81eb5883e51b8224b0e5c" }, "downloads": -1, "filename": "talon-1.4.4.tar.gz", "has_sig": false, "md5_digest": "dfc3060b72c8ae94efcc26fa913d74dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62294, "upload_time": "2017-08-24T23:04:14", "url": "https://files.pythonhosted.org/packages/eb/f7/3348324b489f74500054a1a1ea18b86cc40d19994f789311228c12a6bcc7/talon-1.4.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dfc3060b72c8ae94efcc26fa913d74dc", "sha256": "263d122609747691e9f75726ea565f5da8a40146a7a81eb5883e51b8224b0e5c" }, "downloads": -1, "filename": "talon-1.4.4.tar.gz", "has_sig": false, "md5_digest": "dfc3060b72c8ae94efcc26fa913d74dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62294, "upload_time": "2017-08-24T23:04:14", "url": "https://files.pythonhosted.org/packages/eb/f7/3348324b489f74500054a1a1ea18b86cc40d19994f789311228c12a6bcc7/talon-1.4.4.tar.gz" } ] }