{ "info": { "author": "hobs", "author_email": "hobs+github@totalgood.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing :: Filters", "Topic :: Text Processing :: General", "Topic :: Text Processing :: Indexing", "Topic :: Text Processing :: Linguistic" ], "description": "|Build Status| |Coverage| |GitHub release| |PyPI version| |License|\n\nnlpia_bot\n=========\n\nUse `NLP in\nAction `__\nto build a virtual assistant that actually assists! Most bots manipulate\nyou to make money for their corporate masters. Your bot can help protect\nyou and amplify your abilities and prosocial instincts.\n\nThis hybrid chatbot combines 4 techniques explained in `NLP in\nAction `__:\n\n::\n\n 1. search: [chatterbot](https://github.com/gunthercox/ChatterBot), [will](https://github.com/skoczen/will)\n 2. pattern matching and response templates: Alexa, [AIML](https://github.com/keiffster/program-y)\n 3. generative deep learning: [robot-bernie](https://github.com/nlpia/robot-bernie), [movie-bot](https://github.com/totalgood/nlpia/blob/master/src/nlpia/book/examples/ch10_movie_dialog_chatbot.py)\n 4. grounding: [snips](https://github.com/snipsco/snips-nlu)\n\nThe presentations for San Diego Python User Group are in\n`docs/ `__\n\nInstall\n-------\n\nYou\u2019ll want to install and use the conda package manager within\nAnaconda3, especially if your development environment is not a open\nstandard operating system like Linux.\n\n.. code:: bash\n\n git clone git@github.com:nlpia/nlpia-bot\n cd nlpia-bot\n conda env create -n nlpia -f environment.yml # or environment-windoze.yml\n conda activate nlpia\n pip install --editable .\n\nUsage\n-----\n\n.. code:: bash\n\n $ bot --help\n usage: bot [-h] [--version] [--name STR] [-p] [-b STR] [-v] [-vv]\n [words [words ...]]\n\n Command line bot application, e.g. bot how do you work?\n\n positional arguments:\n words Words to pass to bot as an utterance or conversational\n statement requiring a bot reply or action.\n\n optional arguments:\n -h, --help show this help message and exit\n --version show program's version number and exit\n --name STR IRC nick or CLI command name for the bot\n -p, --persist Don't exit. Retain language model in memory and\n maintain dialog until user says 'exit', 'quit' or 'bye'\n (this is the default behavior if you do not provide a statement)\n -b STR, --bots STR comma-separated list of bot personalities to load\n default: pattern,parul,search_fuzzy,time,eliza\n -v, --verbose set loglevel to INFO\n -vv, --very-verbose set loglevel to DEBUG\n\nExamples\n--------\n\nYou can run bot just like any other command line app, giving it your\nstatement/query as an argument.\n\n.. code:: bash\n\n $ bot hello\n # 2019-11-21 12:42:13,620 WARNING:nlpia.constants:107: Starting logger in nlpia.constants...\n # 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 64350/64350 [00:00<00:00, 540679.58it/s]\n BOT: Hello\n\nAnd if you want quicker turnaround on your bot you can just run it in\nperistent mode (without any positional arguments for your statement or\nwords).\n\nTravis\u2019s probabilistic reply selector is working nicely to chose a reply\nfrom multiple sources (default settings):\n\n- ``pattern_bots.py``: regex patterns and greeting templates\n- ``fuzzy_search_bots.py``: movie dialog fuzzy matching\n- ``parul_bots.py``: Wikipedia searches using conventional TFIDF like a\n search engine\n- ``eliza_bots.py``: A python port of the ELIZA therapist bot\n- ``time_bots.py``: A time and productivity tracker that parses your\n git logs and bash history\n\n.. code:: bash\n\n $ bot\n (nlpia) hobs@Hobsons-MacBook-Air:~/code/chatbot/nlpia-bot$ bot\n # 2019-11-21 12:59:05,854 WARNING:nlpia.constants:107: Starting logger in nlpia.constants...\n # 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 64350/64350 [00:00<00:00, 495935.48it/s]\n YOU: Hi\n BOT: hey there. tired of breathing?\n YOU: Hello\n BOT: How do you do. Please state your problem.\n YOU: What is an ELIZA chatbot?\n BOT: joey never told you we went out, did he?\n YOU: ^[[A\n BOT: I am sorry! I dont understand you\n YOU: What is an ELIZA chatbot?\n BOT: Does that question interest you ?\n YOU: What is a chatbot?\n BOT: hello barbie is an internet-connected version of the doll that uses a chatbot provided by the company toytalk, which previously used the chatbot for a range of smartphone-based characters for children.\n YOU: Hello\n BOT: hello.\n YOU: Hello\n BOT: How do you do. Please state your problem.\n YOU: bye\n $\n\nWork in Progress\n----------------\n\n- Travis (@travis-harper): model management, context filtering, and\n the addition of more conversational agents\n- Nima (@hulkgeek): question answering bot based on his state of the\n art question classifier\n- Xavier (@spirovanni): employment counselor for workforce.org and the\n city of San Diego\n- Hobson (@hobson): infrastructure (CI, webapp) and framework features\n (nltk->spacy, USE vectors)\n- Erturgrul: Turkish wikipedia QA bot (parul bot)\n- You: What big chatbot idea would you like to make a reality?\n\nIdeas\n-----\n\nPlease submit your feature ideas `github\nissues `__. Here are a few\nideas to get you started.\n\n1. movie dialog in django database to hold the statement->response\n pairs\n\n 1. graph schema compatible with MxGraph (draw.io) and other js\n libraries for editing graphs/flow charts.\n 2. ubuntu dialog corpus in db\n 3. mindfulness faq corpus in db\n 4. famous quotes as responses to the statement \u201ctell me something\n inspiring\u201d\n 5. jokes for \u201ctell me a joke\u201d\n 6. data science faq\n 7. nlpia faq\n 8. psychology/self-help faq\n\n2. html django template so there is a web interface to the app rather\n than just the command line command ``bot``\n3. use Django Rest Framework to create a basic API that returns json\n containing a reply to any request sent to the local host url, like\n ``http://localhost:8000/api?statement='Hello world'`` might return\n {\u2018reply\u2019: \u2018Hello human!\u2019}\n4. have the command line app use the REST API from #3 rather than the\n slow reloading of the csv file every time you talk to the bot\n5. use database full text search to find appropriate statements in the\n database that we have a response for\n6. use semantic search instead of text similarity (full text search or\n fuzzywyzzy text matches)\n\n 1. add embedding vectors (300D document vectors from spacy) to each\n statement and response in the db\n 2. create a semantic index of the document vectors using ``annoy``\n so \u201capproximate nearest neighbors\u201d (semantic matches) can be\n found quickly\n 3. load the annoy index of the document vectors every time the\n server is started and use it to find the best reply in the\n database.\n 4. use universal sentence encodings instead of docvecs from spacy.\n\n7. create a UX for dialog graph creation/design:\n\n 1. install `mxgraph `__ in the\n django app\n 2. create a basic page based on this mxgraph example so the user can\n build and save dialog to the db as a graph:\n `tutorial `__,\n `example\n app `__\n 3. convert the dialog graph into a set of records/rows in the\n nlpia-bot db so it acts\n\n8. tag different dialog graphs in the db so the user can turn them\n on/off for their bot\n\n 1. allow the user to prioritize some dialogs/models over others\n 2. allow the user to create their own weighting function to\n prioritize individual statements produced by the api\n\n9. train a character-based generative model\n\n 1. decoder half of autoencoder to generate text based on docvecs\n from spacy\n 2. decoder part of autoencoder to generate text based on universal\n sentence encodings\n 3. train model to generate reply embeddings (doc vecs and/or use\n vecs) using statement embeddings (dialog engine encoder-decoder\n using docvecs or use vecs for the encoder half\n\n10. add a therapy/mindfulness-coach feature to respond with mindfulness\n ideas to some queries/statements\n11. add the \u201ctranslate \u2018this text\u2019 to spanish\u201d feature\n\n 1. train character-based LSTM models on english-spanish,\n english-french, english-german, english<->whatever\n 2. add module for this to the django app/api\n\n12. AIML engine fallback\n\nInspiration\n-----------\n\nA lot of the patterns and ideas were gleaned from other awesome\nprosocial chatbots and modular open source frameworks.\n\nMental Health Coaches\n~~~~~~~~~~~~~~~~~~~~~\n\n- `WYSA `__ from London is free\n\n - https://www.techinasia.com/ai-chatbot-wysa-touchkin-penguin\n - open source (touchkin)?\n - ionic?\n - passive sensing of sleep patterns (accelerometers?)\n - guided meditation\n - exercise suggestions\n - free text dialog with buttons to suggest replies\n - based on open source touchkin/mindlogger ?\n - `list of alternative\n apps `__\n\n- `Replika `__ from US is paywalled\n\n - personality profile test\n - pay to unlock \u201cskills\u201d training\n\n- `Youper `__ (thank you Maria and\n `tangibleai.com `__)\n\nOpen Source Frameworks\n~~~~~~~~~~~~~~~~~~~~~~\n\n- `will `__\n\n - lang: python\n - web: zeromq\n - db: redis, couchbase, flat file, user-defined\n - integrations: hipchat, rocketchat, shell, slack\n\n- `ai-chatbot-framework `__\n\n - lang: python\n - web: flask\n - orm: flask?\n - db: mongodb\n - nice general json syntax for specifying intent/goals for\n conversation manager (agent)\n\n- `rasa `__\n\n - lang: python\n - web: sanic (async)\n - orm: sqlalchemy\n - db: sqlite\n - rich, complex, mature framework\n\n- `botpress `__\n\n - javascript (typescript)\n - meta-framework allowing your to write your own modules in\n javascript\n\n- `Program-Y `__\n\n - python\n - web: flask (rest), sanic (async)\n - db: aiml flat files (XML)\n - integrations: facebook messenger, google search, kik, line, alexa,\n webchat, viber\n\n.. |Build Status| image:: https://api.travis-ci.com/nlpia/nlpia-bot.svg?branch=master\n :target: https://travis-ci.com/nlpia/nlpia-bot\n.. |Coverage| image:: https://codecov.io/gh/nlpia/nlpia-bot/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/nlpia/nlpia-bot\n.. |GitHub release| image:: https://img.shields.io/github/release/nlpia/nlpia-bot.svg\n :target: https://github.com/nlpia/nlpia-bot/releases/latest\n.. |PyPI version| image:: https://img.shields.io/pypi/pyversions/nlpia-bot.svg\n :target: https://pypi.org/project/nlpia-bot/\n.. |License| image:: https://img.shields.io/pypi/l/nlpia-bot.svg\n :target: https://pypi.python.org/pypi/nlpia-bot/\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://nlpia.org", "keywords": "", "license": "mit", "maintainer": "", "maintainer_email": "", "name": "nlpia_bot", "package_url": "https://pypi.org/project/nlpia_bot/", "platform": "any", "project_url": "https://pypi.org/project/nlpia_bot/", "project_urls": { "Homepage": "https://nlpia.org" }, "release_url": "https://pypi.org/project/nlpia_bot/0.2.14/", "requires_dist": null, "requires_python": "", "summary": "\"An open framework and dataset for building a distributed-agent chatbot based on _Natural Language Processing in Action_.\"", "version": "0.2.14", "yanked": false, "yanked_reason": null }, "last_serial": 6839975, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "c1ad7e355a0cd98b5c0b5642dc3eb36a", "sha256": "39b9c680df48d61e3148b0ab6bccd00ab5bef405908d209fcb283bca28017591" }, "downloads": -1, "filename": "nlpia_bot-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c1ad7e355a0cd98b5c0b5642dc3eb36a", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6870, "upload_time": "2019-04-15T01:28:54", "upload_time_iso_8601": "2019-04-15T01:28:54.102858Z", "url": "https://files.pythonhosted.org/packages/ec/ca/1f9bacdcfd899f583123e200652ad2d6aedcc30d820b2a6a7ace03a4b287/nlpia_bot-0.0.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "62755b0605b1b805dec5fc8128f71d07", "sha256": "ff4d932996367f7e94edc0ccd4a0319ec6741ba18d878fc34b8f2ede67d84733" }, "downloads": -1, "filename": "nlpia_bot-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "62755b0605b1b805dec5fc8128f71d07", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 19603, "upload_time": "2019-10-17T21:11:03", "upload_time_iso_8601": "2019-10-17T21:11:03.694909Z", "url": "https://files.pythonhosted.org/packages/ca/dd/0b59a4e5d7941ba3c2daa6881ddba87a1ad3c0347c890d5083c98cfaac44/nlpia_bot-0.0.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "19694865700bce19f91465de71696442", "sha256": "17e0589dabe8769f378a029690c74cc443f4c1a210d987a1916bb5acfd63761e" }, "downloads": -1, "filename": "nlpia_bot-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "19694865700bce19f91465de71696442", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 24160, "upload_time": "2019-10-24T17:46:04", "upload_time_iso_8601": "2019-10-24T17:46:04.376385Z", "url": "https://files.pythonhosted.org/packages/0c/7e/ae63d101721d705e0cd2c67baa416abf8dff6be242e14297b3fccc1bc6b5/nlpia_bot-0.0.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "cba93262b75e7dc91d6ebec2e9db8299", "sha256": "a4e0c93750db670a4fe5e16745e3ad02d802ba9cb2498e01fee82002f25e102a" }, "downloads": -1, "filename": "nlpia_bot-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cba93262b75e7dc91d6ebec2e9db8299", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 36201, "upload_time": "2019-11-21T21:17:55", "upload_time_iso_8601": "2019-11-21T21:17:55.547902Z", "url": "https://files.pythonhosted.org/packages/7b/63/be9b6f5d8138fac6214e7a3c669a3d336125d711d642c595badd9de67e6b/nlpia_bot-0.0.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "cc6cfb74a1f0a9b8b6c7adaebdf77a33", "sha256": "a24d1b1933192f74b5ac0914a0e6fec7147443c3eebd786476707fa687cd60b8" }, "downloads": -1, "filename": "nlpia_bot-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cc6cfb74a1f0a9b8b6c7adaebdf77a33", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 16655, "upload_time": "2019-12-10T18:13:39", "upload_time_iso_8601": "2019-12-10T18:13:39.447039Z", "url": "https://files.pythonhosted.org/packages/f1/6f/be3ea4606ae829fc7f8235de2ca2a00868ba3cf2a613853fac5f631a9ddf/nlpia_bot-0.0.5-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "caeaed1de5cd09caba57935337d2b400", "sha256": "eda3aedd6648103c02f97e311820e401d36b8274004009153be4cdaff4b502ca" }, "downloads": -1, "filename": "nlpia_bot-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "caeaed1de5cd09caba57935337d2b400", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 16836, "upload_time": "2019-12-10T18:55:49", "upload_time_iso_8601": "2019-12-10T18:55:49.169301Z", "url": "https://files.pythonhosted.org/packages/d8/26/125b4ae3b7f4a27cbe216b57573d55f0190eae36181d5daf6cfc01abab79/nlpia_bot-0.0.6-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "fc9ec7dfe9f66f1e8ada37b17508c3ec", "sha256": "31765a01ec5efc1c1cf44b1659be0f99a7a021b2d5cc9138ab5e08c1f67ebc59" }, "downloads": -1, "filename": "nlpia_bot-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fc9ec7dfe9f66f1e8ada37b17508c3ec", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 18323, "upload_time": "2020-01-12T22:45:02", "upload_time_iso_8601": "2020-01-12T22:45:02.020683Z", "url": "https://files.pythonhosted.org/packages/09/59/dfec540857718c7e9eb8fcd075eb7743e97367bb6c64f67e17479562b475/nlpia_bot-0.1.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "6d361c0bf9a45e6cdb1139e5013d91a3", "sha256": "eef9f9a62d4a45fb0b8013f4236af60518170a4b807a7a006e2f2b0e3debd8cb" }, "downloads": -1, "filename": "nlpia_bot-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6d361c0bf9a45e6cdb1139e5013d91a3", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 18623, "upload_time": "2020-01-21T05:23:11", "upload_time_iso_8601": "2020-01-21T05:23:11.625153Z", "url": "https://files.pythonhosted.org/packages/ed/3d/6b1801199d6db7f41a89e916daa17ea77e71b00dd3cff4d7a4c7cef22cf5/nlpia_bot-0.1.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "92f7d1aabc79331558745db8c9fd305f", "sha256": "a02525a22355ebe8908023102c51a098bd9408fb42107af2a9b138a433f02191" }, "downloads": -1, "filename": "nlpia_bot-0.2.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "92f7d1aabc79331558745db8c9fd305f", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 84580, "upload_time": "2020-03-18T05:31:40", "upload_time_iso_8601": "2020-03-18T05:31:40.328881Z", "url": "https://files.pythonhosted.org/packages/32/c8/ed25acb328dc7e24abf4fae9e32f00ed7b9281477e63547882ce8feed629/nlpia_bot-0.2.11-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.2.12": [ { "comment_text": "", "digests": { "md5": "a3e75ed52dbfd238001d88e4ae5b962b", "sha256": "4edec6db6dd5abe782a458aded82a8641ea7c4935a76a37da0c146f84e7ce6d7" }, "downloads": -1, "filename": "nlpia_bot-0.2.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a3e75ed52dbfd238001d88e4ae5b962b", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 84583, "upload_time": "2020-03-18T05:43:26", "upload_time_iso_8601": "2020-03-18T05:43:26.450548Z", "url": "https://files.pythonhosted.org/packages/28/f8/87bf4dccffe564882c69506f0d78fc4d0fddb4806b249bb0f64b8167d6a5/nlpia_bot-0.2.12-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.2.13": [ { "comment_text": "", "digests": { "md5": "bd49aa0af40f2a2a7eaee0f309f9e857", "sha256": "8b0ba1815723b2cc68eef8a45f3c97b138aa842720231fb9443d8c322deed08a" }, "downloads": -1, "filename": "nlpia_bot-0.2.13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd49aa0af40f2a2a7eaee0f309f9e857", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 84582, "upload_time": "2020-03-18T05:48:58", "upload_time_iso_8601": "2020-03-18T05:48:58.301548Z", "url": "https://files.pythonhosted.org/packages/67/82/d047b04b00c5fa7826b9f04822b8b43d6ced707ae051f6896be14279eda5/nlpia_bot-0.2.13-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.2.14": [ { "comment_text": "", "digests": { "md5": "b8e43fc713fb1ab932212c3c26d15597", "sha256": "40845a002cae21dd92fd2e7786a54f226cefea01e45a27d5d8183032c79d12fd" }, "downloads": -1, "filename": "nlpia_bot-0.2.14-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b8e43fc713fb1ab932212c3c26d15597", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 84603, "upload_time": "2020-03-18T22:09:16", "upload_time_iso_8601": "2020-03-18T22:09:16.014461Z", "url": "https://files.pythonhosted.org/packages/57/1a/e4d3ca0a5c28e4f6342dc7c1ccb3df37f917a15453136a250cf16a8a4bb9/nlpia_bot-0.2.14-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "6e478575cc32cd987942f25751c1ab17", "sha256": "dd08b2b0b0de1e8102d6b4ef9a1631a4c68460dae21b20bb70b94147d4ccffc5" }, "downloads": -1, "filename": "nlpia_bot-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6e478575cc32cd987942f25751c1ab17", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 21090, "upload_time": "2020-03-17T04:44:20", "upload_time_iso_8601": "2020-03-17T04:44:20.347896Z", "url": "https://files.pythonhosted.org/packages/18/a3/cb9decb0ef43000fc5617bd06b77705f539902b6babce29c674d954115bc/nlpia_bot-0.2.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "8cb092c5ff33612d1c6ebc86958f708c", "sha256": "70b8100a80fac75a51c22b169bd1be89955295688a490ca82a265228632f413f" }, "downloads": -1, "filename": "nlpia_bot-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8cb092c5ff33612d1c6ebc86958f708c", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 21090, "upload_time": "2020-03-17T05:09:50", "upload_time_iso_8601": "2020-03-17T05:09:50.078677Z", "url": "https://files.pythonhosted.org/packages/84/96/c6fd3847776c97302c40f2fbdb8e4bd381b7896c25a673d62c53905f0791/nlpia_bot-0.2.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "046bee51b50f8e8ee8a3a6b39e1ae136", "sha256": "c8d1df0fb64faafda20197bc5079b07f8e520f26ab92eb79e011b7b30317e2d5" }, "downloads": -1, "filename": "nlpia_bot-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "046bee51b50f8e8ee8a3a6b39e1ae136", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 21095, "upload_time": "2020-03-17T06:01:52", "upload_time_iso_8601": "2020-03-17T06:01:52.275142Z", "url": "https://files.pythonhosted.org/packages/5a/d5/7b60ab6a7045f5a8d7e2a6aae1177cef610394003b64c6a9dea309b2670e/nlpia_bot-0.2.5-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "e0eaea466fec928f43518f76e8ed63be", "sha256": "828510b225aa018dacf548bab6eb9907a04d9ca3428a85f9617c66b757a25fea" }, "downloads": -1, "filename": "nlpia_bot-0.2.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e0eaea466fec928f43518f76e8ed63be", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 21104, "upload_time": "2020-03-17T06:30:11", "upload_time_iso_8601": "2020-03-17T06:30:11.629198Z", "url": "https://files.pythonhosted.org/packages/47/5f/8bd889ab2193d2b821f456844d5ec4191d3ad5341677c424a259ccc317d9/nlpia_bot-0.2.6-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "ffb87ccfdaf6ee9ef821dbc19fdcfa6a", "sha256": "6186babd7a9492389f11efc740c8ff6a4a8fbc844ee660e22345154f449287f7" }, "downloads": -1, "filename": "nlpia_bot-0.2.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ffb87ccfdaf6ee9ef821dbc19fdcfa6a", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 21170, "upload_time": "2020-03-17T06:44:17", "upload_time_iso_8601": "2020-03-17T06:44:17.427433Z", "url": "https://files.pythonhosted.org/packages/f5/28/78c566fe07a49691d726145cf20167538730ecb6a532138fbf6bd9eff896/nlpia_bot-0.2.7-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "5d9d8526897d445d41f8fe36c641bc3d", "sha256": "6a6622dd87e7c64d4cb8b00a0cdd56cc0e59f46e40cda752d7d048d2fbb53d7f" }, "downloads": -1, "filename": "nlpia_bot-0.2.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5d9d8526897d445d41f8fe36c641bc3d", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 21148, "upload_time": "2020-03-17T07:44:06", "upload_time_iso_8601": "2020-03-17T07:44:06.438791Z", "url": "https://files.pythonhosted.org/packages/a2/d1/0f63183648cf28b1d60dc04f7f58c0bb8fae1fc8c48bdfcca483126796e0/nlpia_bot-0.2.9-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b8e43fc713fb1ab932212c3c26d15597", "sha256": "40845a002cae21dd92fd2e7786a54f226cefea01e45a27d5d8183032c79d12fd" }, "downloads": -1, "filename": "nlpia_bot-0.2.14-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b8e43fc713fb1ab932212c3c26d15597", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 84603, "upload_time": "2020-03-18T22:09:16", "upload_time_iso_8601": "2020-03-18T22:09:16.014461Z", "url": "https://files.pythonhosted.org/packages/57/1a/e4d3ca0a5c28e4f6342dc7c1ccb3df37f917a15453136a250cf16a8a4bb9/nlpia_bot-0.2.14-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }