{ "info": { "author": "Shuhei Iitsuka", "author_email": "tushuhei@google.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Budou \ud83c\udf47\n===========\n\n.. image:: https://badge.fury.io/py/budou.svg\n :target: https://badge.fury.io/py/budou\n\n.. image:: https://travis-ci.org/google/budou.svg?branch=master\n :target: https://travis-ci.org/google/budou\n\nEnglish text has many clues, like spacing and hyphenation, that enable beautiful\nand legible line breaks. Some CJK languages lack these clues, and so are\nnotoriously more difficult to process. Without a more careful approach,\nbreaks can occur randomly and usually in the middle of a word. This is a\nlong-standing issue with typography on the web and results in a degradation\nof readability.\n\nBudou automatically translates CJK sentences into HTML with\nlexical chunks wrapped in non-breaking markup, so as to semantically control line\nbreaks. Budou uses word segmenters to analyze input sentences. It can also\nconcatenate proper nouns to produce meaningful chunks utilizing\npart-of-speech (pos) tagging and other syntactic information. Processed chunks are\nwrapped with the :code:`SPAN` tag. These semantic units will no longer be split at\nthe end of a line if given a CSS :code:`display` property set to :code:`inline-block`.\n\n\nInstallation\n--------------\n\nThe package is listed in the Python Package Index (PyPI), so you can install it\nwith pip:\n\n.. code-block:: sh\n\n $ pip install budou\n\n\nOutput\n--------------\n\nBudou outputs an HTML snippet wrapping chunks with :code:`span` tags:\n\n.. code-block:: html\n\n \u5e38\u306b\u6700\u65b0\u3001\n \u6700\u9ad8\u306e\u30e2\u30d0\u30a4\u30eb\u3002\n\nSemantic chunks in the output HTML will not be split at the end of line by\nconfiguring each :code:`span` tag with :code:`display: inline-block` in CSS.\n\n.. code-block:: css\n\n .ww {\n display: inline-block;\n }\n\nBy using the output HTML from Budou and the CSS above, sentences\non your webpage will be rendered with legible line breaks:\n\n.. image:: https://raw.githubusercontent.com/wiki/google/budou/images/nexus_example.jpeg\n\n\nUsing as a command-line app\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nYou can process your text by running the :code:`budou` command:\n\n.. code-block:: sh\n\n $ budou \u6e0b\u8c37\u306e\u30ab\u30ec\u30fc\u3092\u98df\u3079\u306b\u884c\u304f\u3002\n\nThe output is:\n\n.. code-block:: html\n\n \u6e0b\u8c37\u306e\u30ab\u30ec\u30fc\u3092\n \u98df\u3079\u306b\u884c\u304f\u3002\n\nYou can also configure the command with optional parameters.\nFor example, you can change the backend segmenter to `MeCab <#mecab-segmenter>`_ and change the\nclass name to :code:`wordwrap` by running:\n\n.. code-block:: sh\n\n $ budou \u6e0b\u8c37\u306e\u30ab\u30ec\u30fc\u3092\u98df\u3079\u306b\u884c\u304f\u3002 --segmenter=mecab --classname=wordwrap\n\nThe output is:\n\n.. code-block:: html\n\n \u6e0b\u8c37\u306e\u30ab\u30ec\u30fc\u3092\n \u98df\u3079\u306b\u884c\u304f\u3002\n\nRun the help command :code:`budou -h` to see other available options.\n\n\nUsing programmatically\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nYou can use the :code:`budou.parse` method in your Python scripts.\n\n.. code-block:: python\n\n import budou\n results = budou.parse('\u6e0b\u8c37\u306e\u30ab\u30ec\u30fc\u3092\u98df\u3079\u306b\u884c\u304f\u3002')\n print(results['html_code'])\n # \u6e0b\u8c37\u306e\u30ab\u30ec\u30fc\u3092\n # \u98df\u3079\u306b\u884c\u304f\u3002\n\n\nYou can also make a parser instance to reuse the segmenter backend with the same\nconfiguration. If you want to integrate Budou into your web development\nframework in the form of a custom filter or build process, this would be the way\nto go.\n\n.. code-block:: python\n\n import budou\n parser = budou.get_parser('mecab')\n results = parser.parse('\u6e0b\u8c37\u306e\u30ab\u30ec\u30fc\u3092\u98df\u3079\u306b\u884c\u304f\u3002')\n print(results['html_code'])\n # \u6e0b\u8c37\u306e\u30ab\u30ec\u30fc\u3092\n # \u98df\u3079\u306b\u884c\u304f\u3002\n\n for chunk in results['chunks']:\n print(chunk.word)\n # \u6e0b\u8c37\u306e \u540d\u8a5e\n # \u30ab\u30ec\u30fc\u3092 \u540d\u8a5e\n # \u98df\u3079\u306b \u52d5\u8a5e\n # \u884c\u304f\u3002 \u52d5\u8a5e\n\n\n(deprecated) :code:`authenticate` method\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n:code:`authenticate`, which had been the method used to create a parser in\nprevious releases, is now deprecated.\nThe :code:`authenticate` method is now a wrapper around the :code:`get_parser` method\nthat returns a parser with the\n`Google Cloud Natural Language API <#google-cloud-natural-language-api-segmenter>`_\nsegmenter backend.\nThe method is still available, but it may be removed in a future release.\n\n.. code-block:: python\n\n import budou\n parser = budou.authenticate('/path/to/credentials.json')\n\n # This is equivalent to:\n parser = budou.get_parser(\n 'nlapi', credentials_path='/path/to/credentials.json')\n\n\nAvailable segmenter backends\n------------------------------\n\nYou can choose different segmenter backends depending on the needs of \nyour environment. Currently, the segmenters below are supported.\n\n.. csv-table::\n :header: Name, Identifier, Supported Languages\n\n `Google Cloud Natural Language API <#google-cloud-natural-language-api-segmenter>`_, nlapi, \"Chinese, Japanese, Korean\"\n `MeCab <#mecab-segmenter>`_, mecab, \"Japanese\"\n `TinySegmenter <#tinysegmenter-based-segmenter>`_, tinysegmenter, \"Japanese\"\n\n\nSpecify the segmenter when you run the :code:`budou` command or load a parser.\nFor example, you can run the :code:`budou` command with the MeCab segmenter by\npassing the :code:`--segmenter=mecab` parameter:\n\n.. code-block:: sh\n\n $ budou \u4eca\u65e5\u3082\u5143\u6c17\u3067\u3059 --segmenter=mecab\n\nYou can pass :code:`segmenter` parameter when you load a parser:\n\n.. code-block:: python\n\n import budou\n parser = budou.get_parser('mecab')\n parser.parse('\u4eca\u65e5\u3082\u5143\u6c17\u3067\u3059')\n\nIf no segmenter is specified, the Google Cloud Natural Language API is used as\nthe default.\n\n\n.. _nlapi-segmenter:\n\nGoogle Cloud Natural Language API Segmenter\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe Google Cloud Natural Language API (https://cloud.google.com/natural-language/)\n(NL API) analyzes input sentences using\nmachine learning technology. The API can extract not only syntax but also\nentities included in the sentence, which can be used for better quality\nsegmentation (see more at `Entity mode <#entity-mode>`_). Since this is a simple\nREST API, you don't need to maintain a dictionary. You can also support multiple\nlanguages using one single source.\n\nSupported languages\n++++++++++++++++++++++\n\n- Simplified Chinese (zh)\n- Traditional Chinese (zh-Hant)\n- Japanese (ja)\n- Korean (ko)\n\nFor those considering using Budou for Korean sentences, please refer to\nthe `Korean support <#korean-support>`_ section.\n\n\nAuthentication\n+++++++++++++++\n\nThe NL API requires authentication before use. First, create a Google Cloud Platform\nproject and enable the Cloud Natural Language API. Billing also needs to be enabled\nfor the project. Then, download a credentials file for a service account by\naccessing the `Google Cloud Console `_\nand navigating through \"API & Services\" > \"Credentials\" > \"Create credentials\" >\n\"Service account key\" > \"JSON\".\n\nBudou will handle authentication once the path to the credentials file is set\nin the :code:`GOOGLE_APPLICATION_CREDENTIALS` environment variable.\n\n.. code-block:: sh\n\n $ export GOOGLE_APPLICATION_CREDENTIALS='/path/to/credentials.json'\n\nYou can also pass the path to the credentials file when you initialize the\nparser.\n\n.. code-block:: python\n\n parser = budou.get_parser(\n 'nlapi', credentials_path='/path/to/credentials.json')\n\nThe NL API segmenter uses *Syntax Analysis* and incurs costs according to\nmonthly usage. The NL API has free quota to start testing the feature without charge.\nPlease refer to https://cloud.google.com/natural-language/pricing for more\ndetailed pricing information.\n\nCaching system\n++++++++++++++++\n\nParsers using the NL API segmenter cache responses from the API in order to\nprevent unnecessary requests to the API and to make processing faster. If you want to\nforce-refresh the cache, set :code:`use_cache` to :code:`False`.\n\n.. code-block:: python\n\n parser = budou.get_parser(segmenter='nlapi', use_cache=False)\n result = parser.parse('\u660e\u65e5\u306f\u6674\u308c\u308b\u304b\u306a')\n\nIn the `Google App Engine Python 2.7 Standard Environment `_,\nBudou tries to use the\n`memcache `_\nservice to cache output efficiently across instances.\nIn other environments, Budou creates a cache file in the\n`python pickle `_ format in\nyour file system.\n\n\n.. _entity-mode:\n\nEntity mode\n++++++++++++++++++\n\nThe default parser only uses results from Syntactic Analysis for parsing, but you\ncan also utilize results from *Entity Analysis* by specifying `use_entity=True`.\nEntity Analysis will improve the accuracy of parsing for some phrases,\nespecially proper nouns, so it is recommended if your target sentences\ninclude names of individual people, places, organizations, and so on.\n\nPlease note that Entity Analysis will result in additional pricing because it\nrequires additional requests to the NL API. For more details about API pricing,\nplease refer to https://cloud.google.com/natural-language/pricing.\n\n.. code-block:: python\n\n import budou\n # Without Entity mode (default)\n result = budou.parse('\u516d\u672c\u6728\u30d2\u30eb\u30ba\u3067\u3054\u98ef\u3092\u98df\u3079\u307e\u3059\u3002', use_entity=False)\n print(result['html_code'])\n # \u516d\u672c\u6728\u30d2\u30eb\u30ba\u3067\n # \u3054\u98ef\u3092\u98df\u3079\u307e\u3059\u3002\n\n # With Entity mode\n result = budou.parse('\u516d\u672c\u6728\u30d2\u30eb\u30ba\u3067\u3054\u98ef\u3092\u98df\u3079\u307e\u3059\u3002', use_entity=True)\n print(result['html_code'])\n # \u516d\u672c\u6728\u30d2\u30eb\u30ba\u3067\n # \u3054\u98ef\u3092\u98df\u3079\u307e\u3059\u3002\n\n\n.. _mecab-segmenter:\n\nMeCab Segmenter\n~~~~~~~~~~~~~~~~~~~~~~~\n\nMeCab (https://github.com/taku910/mecab) is an open source text segmentation\nlibrary for the Japanese language. Unlike the Google Cloud Natural Language API segmenter,\nthe MeCab segmenter does not require any billed API calls, so you can process\nsentences for free and without an internet connection. You can also customize the\ndictionary by building your own.\n\nSupported languages\n++++++++++++++++++++++\n\n- Japanese\n\nInstallation\n+++++++++++++++++\n\nYou need to have MeCab installed to use the MeCab segmenter in Budou.\nYou can install MeCab with an IPA dictionary by running\n\n.. code-block:: sh\n\n $ make install-mecab\n\nin the project's home directory after cloning this repository.\n\n\n.. _tinysegmenter-based-segmenter:\n\nTinySegmenter-based Segmenter\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTinySegmenter (http://chasen.org/~taku/software/TinySegmenter/) is a compact\nJapanese tokenizer originally created by (c) 2008 Taku Kudo.\nIt tokenizes sentences by matching against a combination of patterns carefully\ndesigned using machine learning. This means that **you can use this backend\nwithout any additional setup!**\n\nSupported languages\n++++++++++++++++++++++\n\n- Japanese\n\n\n.. _korean:\n\nKorean support\n-------------------\n\nKorean has spaces between chunks, so you can perform line breaking simply by\nputting `word-break: keep-all` in your CSS. We recommend that you use this\ntechnique instead of using Budou.\n\n\nUse cases\n---------------\n\nBudou is designed to be used mostly in eye-catching sentences such as titles\nand headings on the assumption that split chunks would stand out negatively\nat larger font sizes.\n\n\nAccessibility\n-------------------\n\nSome screen reader software packages read Budou's wrapped chunks one by one.\nThis may degrade the user experience for those who need audio support.\nYou can attach any attribute to the output chunks to enhance accessibility.\nFor example, you can make screen readers read undivided sentences by\ncombining the `aria-describedby` and `aria-label` attributes in the output.\n\n.. code-block:: html\n\n

\n \u3084\u308a\u305f\u3044\n \u3053\u3068\u306e\n \u305d\u3070\u306b\n \u3044\u308b\n

\n\n**This functionality is currently nonfunctional** due to the html5lib sanitizer's\nbehavior, which strips ARIA-related attributes from the output HTML. Progress on this\nissue is tracked at https://github.com/google/budou/issues/74\n\nAuthor\n----------\n\nShuhei Iitsuka\n\n- Website: https://tushuhei.com\n- Twitter: https://twitter.com/tushuhei\n\n\nDisclaimer\n-----------------\n\nThis library is authored by a Googler and copyrighted by Google, but is not an\nofficial Google product.\n\n\nLicense\n-----------\n\nCopyright 2018 Google LLC\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/google/budou/", "keywords": "", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "budou", "package_url": "https://pypi.org/project/budou/", "platform": "", "project_url": "https://pypi.org/project/budou/", "project_urls": { "Homepage": "https://github.com/google/budou/" }, "release_url": "https://pypi.org/project/budou/0.9.8/", "requires_dist": [ "chardet", "docopt", "future", "google-api-python-client", "google-auth-httplib2", "google-auth (>=1.0.0)", "html5lib (==1.0.1)", "six", "tinysegmenter3", "urllib3" ], "requires_python": "", "summary": "CJK Line Break Organizer", "version": "0.9.8", "yanked": false, "yanked_reason": null }, "last_serial": 11957577, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "f6d9343b65a3e7a1af9ea10fdc6a1056", "sha256": "a121a463dead632430a7b9b75e6fca3626464637d8b5e534d5fe4194ea6484c8" }, "downloads": -1, "filename": "budou-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f6d9343b65a3e7a1af9ea10fdc6a1056", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5286, "upload_time": "2016-10-24T22:17:05", "upload_time_iso_8601": "2016-10-24T22:17:05.646909Z", "url": "https://files.pythonhosted.org/packages/17/f4/8e7ab74189757f68858de04f4e2439efc0884f0e75f7e6c60ecf0934afbd/budou-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e9bddf8ca98f6dbed3301499a95f7d44", "sha256": "4399e4ed7cd34eade4d439e457de72e9e632c50396161bc89534d218330cedc1" }, "downloads": -1, "filename": "budou-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e9bddf8ca98f6dbed3301499a95f7d44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4984, "upload_time": "2016-12-08T11:33:55", "upload_time_iso_8601": "2016-12-08T11:33:55.111060Z", "url": "https://files.pythonhosted.org/packages/0e/76/3292968cb85aef0b5cf4be61a77b761305f6ab8fe6fde35adefe735375ae/budou-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "430aeb698cd65ed6ff855f3a5d8c8672", "sha256": "1a2a17944a0ab4949f8f70fc293af1a8fab6aaa726df0507ddbeaa16c0f41bc7" }, "downloads": -1, "filename": "budou-0.2.1.tar.gz", "has_sig": false, "md5_digest": "430aeb698cd65ed6ff855f3a5d8c8672", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5269, "upload_time": "2016-12-15T05:03:36", "upload_time_iso_8601": "2016-12-15T05:03:36.122389Z", "url": "https://files.pythonhosted.org/packages/fe/ae/2cb11c77a06f8fd7371d1aad28ae0882e55c36c5fbfbe2cca4e83954fa8c/budou-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "dc55f0eed9c8c3fb944747393a02ffa6", "sha256": "9c246e8d7aec4519870da425913f6dae6417f46b7952e4b2158ad2e019cf9550" }, "downloads": -1, "filename": "budou-0.2.2.tar.gz", "has_sig": false, "md5_digest": "dc55f0eed9c8c3fb944747393a02ffa6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5422, "upload_time": "2017-02-14T03:10:01", "upload_time_iso_8601": "2017-02-14T03:10:01.505253Z", "url": "https://files.pythonhosted.org/packages/05/d6/fadaf1b95f71218aad6954cddd3a6fa5223be4d9d5e8780acea18bcda527/budou-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "11644c32b323a2748942bdb587a96d58", "sha256": "25a862e5a59f4fc67d7d10682b6575c316134af29ec8cd9c089d33f6aadc1d1b" }, "downloads": -1, "filename": "budou-0.2.3.tar.gz", "has_sig": false, "md5_digest": "11644c32b323a2748942bdb587a96d58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5446, "upload_time": "2017-04-05T07:07:55", "upload_time_iso_8601": "2017-04-05T07:07:55.207156Z", "url": "https://files.pythonhosted.org/packages/34/97/9caa60c7b211e0c32e37392e9d93fdb469a46eb64c8dd4d9c52c2f8c5f08/budou-0.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "e6ef39883d3c1c25cbb8c78f414037e3", "sha256": "8af8bb204108a856c40f385535ae0bce367fb74d2761b3afd49217bca3f68fe8" }, "downloads": -1, "filename": "budou-0.2.4.tar.gz", "has_sig": false, "md5_digest": "e6ef39883d3c1c25cbb8c78f414037e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5737, "upload_time": "2017-04-10T09:32:25", "upload_time_iso_8601": "2017-04-10T09:32:25.565619Z", "url": "https://files.pythonhosted.org/packages/a8/43/91bc2e87cd5d324cb2e436e6d403b472dbb8343b130fe0f54b8bfb2899ba/budou-0.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9198bb8c1547f282b870ce94d62244fa", "sha256": "04a88e14c6eb646ef5bae3d8ed84c52801843570309c7b6b957de2984a9deaeb" }, "downloads": -1, "filename": "budou-0.3.0.tar.gz", "has_sig": false, "md5_digest": "9198bb8c1547f282b870ce94d62244fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7145, "upload_time": "2017-04-17T05:19:55", "upload_time_iso_8601": "2017-04-17T05:19:55.234578Z", "url": "https://files.pythonhosted.org/packages/5a/77/b63d1a4ff577234d080faefd46c677f9bc1029547c70d4376de61db5ec5d/budou-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "757351ba12e62b0e015f6d23e0cc4035", "sha256": "b51901badf8240d6a5006dc3cc5c31d796cca1f427a740e023948eb6a36bf591" }, "downloads": -1, "filename": "budou-0.3.1.tar.gz", "has_sig": false, "md5_digest": "757351ba12e62b0e015f6d23e0cc4035", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7163, "upload_time": "2017-06-06T23:47:57", "upload_time_iso_8601": "2017-06-06T23:47:57.806156Z", "url": "https://files.pythonhosted.org/packages/6f/ec/9fe441f13daebb0d59a2b9feeb7137e8b5220c9ef61a612759285f1ba793/budou-0.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "c11e2137297c62a35c9af54723af9206", "sha256": "161f55aaa7cef7256c161c0500acd6c27fddcdc0321c72b630f8a419ef283305" }, "downloads": -1, "filename": "budou-0.3.2-py2.7.egg", "has_sig": false, "md5_digest": "c11e2137297c62a35c9af54723af9206", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 23227, "upload_time": "2017-09-13T08:53:17", "upload_time_iso_8601": "2017-09-13T08:53:17.573033Z", "url": "https://files.pythonhosted.org/packages/fe/a5/ce3e7d4ff38d477974689ea0373b3a4d2d3f193bacc46c880b1ddf5a2431/budou-0.3.2-py2.7.egg", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0906f1546055617df2a2331955d73724", "sha256": "08d02700eec00ef25267394c7127f391afa7bb81244a3c1cdf0b9e0673072c5a" }, "downloads": -1, "filename": "budou-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0906f1546055617df2a2331955d73724", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15938, "upload_time": "2017-08-15T03:09:37", "upload_time_iso_8601": "2017-08-15T03:09:37.517446Z", "url": "https://files.pythonhosted.org/packages/84/03/69fa02e9f7cb8fa70558bc2a61021309fd94055d64d2dc38ad2888b0f112/budou-0.3.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "42d31881405ce2a602c315618b1eea21", "sha256": "b252221e2e9c745b7fcc6fb6f243ef1a1fde2fd7bb75d730bd4efd0aacd67c2b" }, "downloads": -1, "filename": "budou-0.3.2.tar.gz", "has_sig": false, "md5_digest": "42d31881405ce2a602c315618b1eea21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7209, "upload_time": "2017-08-15T03:09:39", "upload_time_iso_8601": "2017-08-15T03:09:39.338726Z", "url": "https://files.pythonhosted.org/packages/1e/2a/ab3df44245a0c26053bdca1db818178aea68575490f3b969ccb14a83fcd9/budou-0.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "d1c505686750fe6c52569da5fef96283", "sha256": "cd1eb09966ac9ee8992e419596cbdcd8f69364920e37fc0271ace54d6612848d" }, "downloads": -1, "filename": "budou-0.4.0-py2.7.egg", "has_sig": false, "md5_digest": "d1c505686750fe6c52569da5fef96283", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 23686, "upload_time": "2017-09-13T08:53:19", "upload_time_iso_8601": "2017-09-13T08:53:19.642248Z", "url": "https://files.pythonhosted.org/packages/6a/fd/b068049dc16e265aadd34864c059aaef4548bdb8ba7822646f4529eb9625/budou-0.4.0-py2.7.egg", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ce5ea01898692d2fbba22feb3947e3f2", "sha256": "c5e4687fd755ae6c7531aaf8c8e830522c11441cf0f0c980ebb9a1ba7d272238" }, "downloads": -1, "filename": "budou-0.4.0.tar.gz", "has_sig": false, "md5_digest": "ce5ea01898692d2fbba22feb3947e3f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10203, "upload_time": "2017-09-13T08:53:20", "upload_time_iso_8601": "2017-09-13T08:53:20.922689Z", "url": "https://files.pythonhosted.org/packages/d1/23/7e29c4a9e069e76080a24fde7469e40ef7b3e5b81b620b9cfc7b270d0cc8/budou-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "222c11a18cd6629f634fb9c3bec97dec", "sha256": "ec934407d835a1b527e7e2eb41b977f00dad5d06e81d7b9724f43c2804b04013" }, "downloads": -1, "filename": "budou-0.5.0.tar.gz", "has_sig": false, "md5_digest": "222c11a18cd6629f634fb9c3bec97dec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10135, "upload_time": "2017-09-19T06:51:23", "upload_time_iso_8601": "2017-09-19T06:51:23.260607Z", "url": "https://files.pythonhosted.org/packages/fc/92/0e48da3fde0c74b7b0d028c1830edc79e25bdacf6214152d81b995f08267/budou-0.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "b3428cce5c226e6f501c37e1109ed8f2", "sha256": "5b3705ae3df1d40b4747529bb53a22dd7510e099b0bda03a9c66a295a1627236" }, "downloads": -1, "filename": "budou-0.6.0.tar.gz", "has_sig": false, "md5_digest": "b3428cce5c226e6f501c37e1109ed8f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10219, "upload_time": "2017-09-19T06:51:24", "upload_time_iso_8601": "2017-09-19T06:51:24.917194Z", "url": "https://files.pythonhosted.org/packages/a8/98/d72039f9d7dbc5dc072fd1452ea21b0524a52ccfcc61dbcc2042fcec43e3/budou-0.6.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "d90232f38fe9446806de4a946e232b13", "sha256": "993d55d19c57afed8e9034b7a04f0e27e0f77c257b5184e8a4d8171d31c2dbd1" }, "downloads": -1, "filename": "budou-0.6.6-py2-none-any.whl", "has_sig": false, "md5_digest": "d90232f38fe9446806de4a946e232b13", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15280, "upload_time": "2017-10-04T04:19:20", "upload_time_iso_8601": "2017-10-04T04:19:20.675190Z", "url": "https://files.pythonhosted.org/packages/57/ac/cc024c93e91da02e6c3c51f45cd0bd75574cb94919dd7c4b0e8027998773/budou-0.6.6-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "86cc5e3f656334fc798e7761227fe945", "sha256": "bac3d1434e9db1e21b4d9596245fccccaffb49235e063d6b0ae06e378c5c3672" }, "downloads": -1, "filename": "budou-0.6.6.tar.gz", "has_sig": false, "md5_digest": "86cc5e3f656334fc798e7761227fe945", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10215, "upload_time": "2017-10-04T04:19:22", "upload_time_iso_8601": "2017-10-04T04:19:22.124843Z", "url": "https://files.pythonhosted.org/packages/e2/43/a6e7e4781860fcc43cbc2beba8f0131a688ef1107b9f94c86dc52af5adab/budou-0.6.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "4ce3728a367a1f14f11589b5b5158544", "sha256": "be15960b35d1784cc570aedd4e5f9a6ac04abe2824f23622bc4e46ffc73c99c5" }, "downloads": -1, "filename": "budou-0.7.0-py2-none-any.whl", "has_sig": false, "md5_digest": "4ce3728a367a1f14f11589b5b5158544", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14171, "upload_time": "2017-10-16T01:23:44", "upload_time_iso_8601": "2017-10-16T01:23:44.629518Z", "url": "https://files.pythonhosted.org/packages/44/59/df5bf190bffe35c05f43f528d6e53f57ca363b87db425218f015cbff8e43/budou-0.7.0-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "83e753cfa2abd4995ca87b62a0ae7c0d", "sha256": "29f9198b9a98178db8af654b40022cd550fd3d58f850549866f1fe7c57e6f5cb" }, "downloads": -1, "filename": "budou-0.7.0.tar.gz", "has_sig": false, "md5_digest": "83e753cfa2abd4995ca87b62a0ae7c0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9691, "upload_time": "2017-10-16T01:23:45", "upload_time_iso_8601": "2017-10-16T01:23:45.814809Z", "url": "https://files.pythonhosted.org/packages/fd/80/c797bdac2abe97b4a9fa620a40a090449e2a8830ab9a65f40077a0b543b6/budou-0.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "8367a9904b18ea5cd773f8afbda8a779", "sha256": "b9a52981ed932638e6bae1d7c8f17313e91c3ad92c611cd4953c2e9edc19ef78" }, "downloads": -1, "filename": "budou-0.7.1-py2-none-any.whl", "has_sig": false, "md5_digest": "8367a9904b18ea5cd773f8afbda8a779", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15062, "upload_time": "2017-10-16T21:59:01", "upload_time_iso_8601": "2017-10-16T21:59:01.600268Z", "url": "https://files.pythonhosted.org/packages/2f/9f/1786c49d692fc3df9e54199e81d5fe760dfd11ee5b46c2d913a61b70dd39/budou-0.7.1-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "56d61843a9fa0c4efbcd750060039a83", "sha256": "24aefc5b01aa4498504f59f6ac054e0a49ed3b3e4bb27a5ec022e8cb8a25a370" }, "downloads": -1, "filename": "budou-0.7.1.tar.gz", "has_sig": false, "md5_digest": "56d61843a9fa0c4efbcd750060039a83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10101, "upload_time": "2017-10-16T21:59:05", "upload_time_iso_8601": "2017-10-16T21:59:05.246728Z", "url": "https://files.pythonhosted.org/packages/e0/da/ce4b7c01571786e8cfa58176633987aa272cadf3ff1e54fec0526fc6c26e/budou-0.7.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "3e178b638dfeec8d3af87bb0fa5948a2", "sha256": "9539cec5bd8fb24b244d474876b5c0f1f98d7005621f563fc2ce0729bc6bc12c" }, "downloads": -1, "filename": "budou-0.7.5-py2-none-any.whl", "has_sig": false, "md5_digest": "3e178b638dfeec8d3af87bb0fa5948a2", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15030, "upload_time": "2017-10-19T07:35:39", "upload_time_iso_8601": "2017-10-19T07:35:39.118046Z", "url": "https://files.pythonhosted.org/packages/de/16/f32c50a5d5de8821782b28841b9fa6262335a2a3e84b4ac925a898cd485e/budou-0.7.5-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6bb54d5749ed85b2d6e07f769d29f30b", "sha256": "bec48220e89eeaae6e71ad125ef16d5f221c77fbe430e02ed99ed2a41f393721" }, "downloads": -1, "filename": "budou-0.7.5.tar.gz", "has_sig": false, "md5_digest": "6bb54d5749ed85b2d6e07f769d29f30b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10087, "upload_time": "2017-10-19T07:35:41", "upload_time_iso_8601": "2017-10-19T07:35:41.122766Z", "url": "https://files.pythonhosted.org/packages/c0/cb/4d658f7c13d80ab480fa0cb7a6c6df0581396642983a0c226d82464dadb8/budou-0.7.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "8bd62c80d9ed435b98901f1d3f4b9625", "sha256": "cd6458412c5b30d26348d903ba6640e3092074dc34099303ac8fb0b85350d79c" }, "downloads": -1, "filename": "budou-0.8.0-py2-none-any.whl", "has_sig": false, "md5_digest": "8bd62c80d9ed435b98901f1d3f4b9625", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15078, "upload_time": "2017-10-31T13:11:14", "upload_time_iso_8601": "2017-10-31T13:11:14.339056Z", "url": "https://files.pythonhosted.org/packages/4b/20/16751e1e30abce923ed71393b3541ceb8be2e4d2a0b24ac70c930425397f/budou-0.8.0-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e952da83f7b96e2c6f21ee05f657d56c", "sha256": "cc9ee0cc211ced7a6ec7db0ee2b3a3e31d06ccfaf2096d4e3fa4c5b54e79db39" }, "downloads": -1, "filename": "budou-0.8.0.tar.gz", "has_sig": false, "md5_digest": "e952da83f7b96e2c6f21ee05f657d56c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10130, "upload_time": "2017-10-31T13:11:15", "upload_time_iso_8601": "2017-10-31T13:11:15.727437Z", "url": "https://files.pythonhosted.org/packages/e9/f2/a3a81fcb59419db4b10f5a2a9199ec0d045df138093beb8334f485093e9e/budou-0.8.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "35a4143818bfe0d8b0cb1c3d57973185", "sha256": "9f6f8c3a76d2dac21d2dfc6a39683077a5ddfe1fbafc4b7ab865f56a1ae1a128" }, "downloads": -1, "filename": "budou-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "35a4143818bfe0d8b0cb1c3d57973185", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15208, "upload_time": "2017-12-20T20:27:18", "upload_time_iso_8601": "2017-12-20T20:27:18.900735Z", "url": "https://files.pythonhosted.org/packages/da/d2/0b6884e11d361895d59580066a2e6435fb891e964790adbd2860e475c614/budou-0.8.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.8.10": [ { "comment_text": "", "digests": { "md5": "30ebd78844713efb80bde6889c61f3c4", "sha256": "122f859b8a65ce7263873c53d0d459c3a1528853207b893d51a82e13c88be64e" }, "downloads": -1, "filename": "budou-0.8.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "30ebd78844713efb80bde6889c61f3c4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18962, "upload_time": "2018-04-18T06:47:35", "upload_time_iso_8601": "2018-04-18T06:47:35.153842Z", "url": "https://files.pythonhosted.org/packages/6a/0d/fab8121f5ff7d1a173f96f10a8776e49e1bd33835196ec9ae8828a4374f2/budou-0.8.10-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "41117410753b788d630065e7dcc6f8ec", "sha256": "2f302e879663e72b2914080d443acc52f0cfd322b7b190d3f3153e2e6268d0db" }, "downloads": -1, "filename": "budou-0.8.10.tar.gz", "has_sig": false, "md5_digest": "41117410753b788d630065e7dcc6f8ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14641, "upload_time": "2018-04-18T06:47:36", "upload_time_iso_8601": "2018-04-18T06:47:36.463359Z", "url": "https://files.pythonhosted.org/packages/03/0d/89229ddb6779b8b633151873b2c9ca8382411866b20ac1835acea47fa6d7/budou-0.8.10.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "6c6125ef8b9940266b4ec1fd2f4eff48", "sha256": "68abc56f567b714c0390b00203e233be5d759993ee278745ce5e9847c5c2127f" }, "downloads": -1, "filename": "budou-0.8.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6c6125ef8b9940266b4ec1fd2f4eff48", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15207, "upload_time": "2017-12-20T20:27:48", "upload_time_iso_8601": "2017-12-20T20:27:48.406354Z", "url": "https://files.pythonhosted.org/packages/8b/59/f9d943bae7973fe68706f12ef09a8105e0b95aaf903cbcf84fb415f88c2c/budou-0.8.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "09e6e68c375c0bb771e5b724f8f5ae78", "sha256": "f9b8ff478243d1689b75b4c5fd70957ec91e9088289cbbaaab2366e6774aa298" }, "downloads": -1, "filename": "budou-0.8.3.tar.gz", "has_sig": false, "md5_digest": "09e6e68c375c0bb771e5b724f8f5ae78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10195, "upload_time": "2017-12-20T20:27:50", "upload_time_iso_8601": "2017-12-20T20:27:50.457841Z", "url": "https://files.pythonhosted.org/packages/60/7b/cc6f875a6e751f4ed62870c713140db3b6cadffd39463b7e4ba887fcaef8/budou-0.8.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.5": [ { "comment_text": "", "digests": { "md5": "36a889a4b8ea90d104c3ecac7f289209", "sha256": "bb433589dfdb51949b4660e54c06c697042859222f15cbebb217e50cc83d67a1" }, "downloads": -1, "filename": "budou-0.8.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "36a889a4b8ea90d104c3ecac7f289209", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15561, "upload_time": "2018-03-22T00:50:31", "upload_time_iso_8601": "2018-03-22T00:50:31.992682Z", "url": "https://files.pythonhosted.org/packages/fa/f3/1f30e7c9a361c2394261e1bd8a952513578912a7dddceeda316026b88546/budou-0.8.5-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.8.6": [ { "comment_text": "", "digests": { "md5": "cd34d60d98be31d738898ea2d4fa2625", "sha256": "1f7386177b2760f917fd1b3ee57bc2180b2935e093cf7fdedcad39d16456077c" }, "downloads": -1, "filename": "budou-0.8.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cd34d60d98be31d738898ea2d4fa2625", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16279, "upload_time": "2018-04-02T07:06:43", "upload_time_iso_8601": "2018-04-02T07:06:43.199541Z", "url": "https://files.pythonhosted.org/packages/a2/1b/8f981d735da74438d75566642129f224ff9d1fa146dc12cf5b3c0b5ffcb1/budou-0.8.6-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "567899c228b047001f83589b7932a946", "sha256": "ee00961dbc53561df239889ad355d8277377634fcc3e74d9b295c56ee8556d73" }, "downloads": -1, "filename": "budou-0.8.6.tar.gz", "has_sig": false, "md5_digest": "567899c228b047001f83589b7932a946", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10528, "upload_time": "2018-04-02T07:06:44", "upload_time_iso_8601": "2018-04-02T07:06:44.197136Z", "url": "https://files.pythonhosted.org/packages/ab/d8/8f5d891e1645631563d0a1989a6eb27aab0672c97d455c0f6f78c01975e4/budou-0.8.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.7": [ { "comment_text": "", "digests": { "md5": "05fb7ad25a49459773544459eeeaf79b", "sha256": "4849a61ef6b4ed3f914dd561c6e1f1b9dd22492ee38df9ece03985315dff608f" }, "downloads": -1, "filename": "budou-0.8.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "05fb7ad25a49459773544459eeeaf79b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16239, "upload_time": "2018-04-02T23:49:29", "upload_time_iso_8601": "2018-04-02T23:49:29.182152Z", "url": "https://files.pythonhosted.org/packages/a6/fd/0e9b3e3aaaac62b60e8788cd11f8bb2dc7e245e83f1e57ab422498481fc7/budou-0.8.7-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9ad27e9a22326c863c02df2daa70ecfe", "sha256": "c7d8d961eadac557bea8bbce65bbff659c0352c6d7f48407d19d31ef588a9dfe" }, "downloads": -1, "filename": "budou-0.8.7.tar.gz", "has_sig": false, "md5_digest": "9ad27e9a22326c863c02df2daa70ecfe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10527, "upload_time": "2018-04-02T23:49:30", "upload_time_iso_8601": "2018-04-02T23:49:30.248526Z", "url": "https://files.pythonhosted.org/packages/aa/92/f8597e507a44fd585a187c65cd119b1fd55f4d9b5c0a189098db9080dee0/budou-0.8.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.8": [ { "comment_text": "", "digests": { "md5": "297c31fb0aeadaeb357f962680dddcfb", "sha256": "8537fd5d74d973b9e086d8046746a09b8781e0a5601a423484ed4a599ec54fe9" }, "downloads": -1, "filename": "budou-0.8.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "297c31fb0aeadaeb357f962680dddcfb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16184, "upload_time": "2018-04-03T00:10:03", "upload_time_iso_8601": "2018-04-03T00:10:03.403108Z", "url": "https://files.pythonhosted.org/packages/36/6d/ac869c97eeacd291992e1408c10faefb3f6c0c89924251924af90b483c9f/budou-0.8.8-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8291ee1d2523c8617c4616755c0eec33", "sha256": "7fdd78a82c27615149414eccc00a823b957a9477dcae7aa6021b16dc3a359592" }, "downloads": -1, "filename": "budou-0.8.8.tar.gz", "has_sig": false, "md5_digest": "8291ee1d2523c8617c4616755c0eec33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10483, "upload_time": "2018-04-03T00:10:04", "upload_time_iso_8601": "2018-04-03T00:10:04.566519Z", "url": "https://files.pythonhosted.org/packages/cd/87/92c8410561e98abf152f3c1c233164236784560e4d67f3a3552e4ca435fd/budou-0.8.8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "072ff67b6ad63380e6458b1616314c6e", "sha256": "ed3a137ed5dd69f88c1382fc71d97bd7d78e9174334cca145159c53a1922efe1" }, "downloads": -1, "filename": "budou-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "072ff67b6ad63380e6458b1616314c6e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32951, "upload_time": "2018-09-03T04:11:37", "upload_time_iso_8601": "2018-09-03T04:11:37.544043Z", "url": "https://files.pythonhosted.org/packages/17/b9/4e4d63b9ef3a5bdb2075f926f5aad24c78c68901b0b9391ea548dff1d6e6/budou-0.9.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "ca51b997916287231422fe1a352829d5", "sha256": "7ec75d248ce79b356d42135b57bb1536f796e423c1e533137c3974b23c1c2c96" }, "downloads": -1, "filename": "budou-0.9.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ca51b997916287231422fe1a352829d5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32949, "upload_time": "2018-09-03T05:25:38", "upload_time_iso_8601": "2018-09-03T05:25:38.956606Z", "url": "https://files.pythonhosted.org/packages/a8/8b/619995cd54f3ee9419878e8dcc7fc050ef3a153179e2aa32b5df7c495615/budou-0.9.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "df74fda62dcff180e28b4fc5dd4c357e", "sha256": "d499c81bda692c75f5fdd5190432a8e3093fedb51cf32935b87aca25b41eb161" }, "downloads": -1, "filename": "budou-0.9.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df74fda62dcff180e28b4fc5dd4c357e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29239, "upload_time": "2018-09-11T04:42:45", "upload_time_iso_8601": "2018-09-11T04:42:45.565040Z", "url": "https://files.pythonhosted.org/packages/75/ee/bc03dd88898c94639a6318c43f6f30a507574183e2be7f67131bd7861dc9/budou-0.9.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "3a6bf5842f818896b259814f67565575", "sha256": "f85c97aec1f7a450849b9d76c659bf7d0bbec7379e0645c3d7285db97e84e623" }, "downloads": -1, "filename": "budou-0.9.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3a6bf5842f818896b259814f67565575", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 27920, "upload_time": "2019-10-22T23:26:54", "upload_time_iso_8601": "2019-10-22T23:26:54.227234Z", "url": "https://files.pythonhosted.org/packages/34/b1/a74b17b4698b64f62f713d2e58d64c3ae88d95b21db6f963b1e6891fc0c8/budou-0.9.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9e1bcfd9ad3c9bf8545e60b4b13ef6c4", "sha256": "6582801c6083c019bc62c0413a65b716021e3e44bdb369b75c6bb5d8b6259e24" }, "downloads": -1, "filename": "budou-0.9.4.tar.gz", "has_sig": false, "md5_digest": "9e1bcfd9ad3c9bf8545e60b4b13ef6c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18658, "upload_time": "2019-10-22T23:26:57", "upload_time_iso_8601": "2019-10-22T23:26:57.345814Z", "url": "https://files.pythonhosted.org/packages/4e/ce/f64c5586ed94c26c94607ac5187ea8ccb2bed7cd0120f15498e35f162954/budou-0.9.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "beb52eacbb27a618077698ed61aa7700", "sha256": "902c6c44c64ec023e49f928b131464eacb0d8d3af35a9fe37c43114146599d98" }, "downloads": -1, "filename": "budou-0.9.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "beb52eacbb27a618077698ed61aa7700", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28136, "upload_time": "2019-10-30T01:46:52", "upload_time_iso_8601": "2019-10-30T01:46:52.273830Z", "url": "https://files.pythonhosted.org/packages/9d/39/6041898c535e83c5c34418b5b0fe5d1dcc1e405df87657e15ca47dc2f1ea/budou-0.9.5-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ba894e338240f2aaf9b39b412eb6d88c", "sha256": "ec84edbe5cfc763cc82101fcdf0ca2cebb49f5850d12d217d155f9fa16083a7d" }, "downloads": -1, "filename": "budou-0.9.5.tar.gz", "has_sig": false, "md5_digest": "ba894e338240f2aaf9b39b412eb6d88c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22053, "upload_time": "2019-10-30T01:46:54", "upload_time_iso_8601": "2019-10-30T01:46:54.700783Z", "url": "https://files.pythonhosted.org/packages/83/19/a327b1f506c38b1d156a55ea9968c2b1167ad5dee288ea08a1d0f1deb405/budou-0.9.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "c3175806b2a9c5d94f4433098f677c4c", "sha256": "994f8da7d4df0cddcc6e515d001c674324373e60901d1a04cf03c9bf098d3cc5" }, "downloads": -1, "filename": "budou-0.9.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c3175806b2a9c5d94f4433098f677c4c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28136, "upload_time": "2019-10-30T02:17:46", "upload_time_iso_8601": "2019-10-30T02:17:46.104694Z", "url": "https://files.pythonhosted.org/packages/50/f4/76bc3deacf58d763f2d78ecd810bc4ebdc5b1cd1115c3558ba6224dfb8ed/budou-0.9.6-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0c814ea1d675f0c64ca2d25d9c06d523", "sha256": "d88f692c599be01fa29cd34084c1d67ee1c7dfda50e2cac24e90d72d44c5dc4f" }, "downloads": -1, "filename": "budou-0.9.6.tar.gz", "has_sig": false, "md5_digest": "0c814ea1d675f0c64ca2d25d9c06d523", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22066, "upload_time": "2019-10-30T02:17:49", "upload_time_iso_8601": "2019-10-30T02:17:49.120918Z", "url": "https://files.pythonhosted.org/packages/55/4e/dc72df281eab69fc2c59ef8f5f725e9dfcca85846f1c9e8d347265205350/budou-0.9.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "4b82b7d2ef4bafc1ca08903824c92d81", "sha256": "3c29fe9bc742aa9529038696f421669edeca8b6e2976f2fc8725fad6838dc740" }, "downloads": -1, "filename": "budou-0.9.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4b82b7d2ef4bafc1ca08903824c92d81", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28123, "upload_time": "2019-11-05T02:24:32", "upload_time_iso_8601": "2019-11-05T02:24:32.677039Z", "url": "https://files.pythonhosted.org/packages/08/47/d1b1e688d400b3cb92c5a47e13d83c8911bd1f6b3c4a7bf39db2c9ff58a0/budou-0.9.7-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "98af6fb6cc395e429e35519f23459758", "sha256": "0d23df6a702dcdc683f96000757029413b4009a3b0ba50494628f6afdb65f5b7" }, "downloads": -1, "filename": "budou-0.9.7.tar.gz", "has_sig": false, "md5_digest": "98af6fb6cc395e429e35519f23459758", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22055, "upload_time": "2019-11-05T02:24:34", "upload_time_iso_8601": "2019-11-05T02:24:34.991931Z", "url": "https://files.pythonhosted.org/packages/f8/84/a126f51ad83d956ed6d0882b7d8f75bea063865a740a995c1f8341eaa9e4/budou-0.9.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.8": [ { "comment_text": "", "digests": { "md5": "308c6fc8d52866229d17775a86537717", "sha256": "0397dd010d1c8d0292b243853cbd6d0e8bf0946abbf56fbc7eb22623e179ec7a" }, "downloads": -1, "filename": "budou-0.9.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "308c6fc8d52866229d17775a86537717", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28636, "upload_time": "2019-11-07T07:05:14", "upload_time_iso_8601": "2019-11-07T07:05:14.426819Z", "url": "https://files.pythonhosted.org/packages/7a/03/f0d9c8356054bd499a13782bd7cbf702130451134a424c4b8c94353b3326/budou-0.9.8-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0ecb564679445cecf6b7eeae9488bd73", "sha256": "25c473f1fe7b2e4aac40e58de2544e2b9b29c3d39cb60d7f1b3745332928b6ea" }, "downloads": -1, "filename": "budou-0.9.8.tar.gz", "has_sig": false, "md5_digest": "0ecb564679445cecf6b7eeae9488bd73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22647, "upload_time": "2019-11-07T07:05:16", "upload_time_iso_8601": "2019-11-07T07:05:16.632325Z", "url": "https://files.pythonhosted.org/packages/47/4e/dd1ea384ce12e3ede48f882c0a3253ee45c91e3922fb391179773b13ad22/budou-0.9.8.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "308c6fc8d52866229d17775a86537717", "sha256": "0397dd010d1c8d0292b243853cbd6d0e8bf0946abbf56fbc7eb22623e179ec7a" }, "downloads": -1, "filename": "budou-0.9.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "308c6fc8d52866229d17775a86537717", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28636, "upload_time": "2019-11-07T07:05:14", "upload_time_iso_8601": "2019-11-07T07:05:14.426819Z", "url": "https://files.pythonhosted.org/packages/7a/03/f0d9c8356054bd499a13782bd7cbf702130451134a424c4b8c94353b3326/budou-0.9.8-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0ecb564679445cecf6b7eeae9488bd73", "sha256": "25c473f1fe7b2e4aac40e58de2544e2b9b29c3d39cb60d7f1b3745332928b6ea" }, "downloads": -1, "filename": "budou-0.9.8.tar.gz", "has_sig": false, "md5_digest": "0ecb564679445cecf6b7eeae9488bd73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22647, "upload_time": "2019-11-07T07:05:16", "upload_time_iso_8601": "2019-11-07T07:05:16.632325Z", "url": "https://files.pythonhosted.org/packages/47/4e/dd1ea384ce12e3ede48f882c0a3253ee45c91e3922fb391179773b13ad22/budou-0.9.8.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }