{ "info": { "author": "Lars Yencken", "author_email": "lars@yencken.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7" ], "description": "==========\nQuestioner\n==========\n\n\n.. image:: https://img.shields.io/pypi/v/questioner.svg\n :target: https://pypi.python.org/pypi/questioner\n\n.. image:: https://img.shields.io/travis/larsyencken/questioner.svg\n :target: https://travis-ci.org/larsyencken/questioner\n\n.. image:: https://readthedocs.org/projects/questioner/badge/?version=latest\n :target: https://questioner.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n\nA human-friendly Python library for asking people questions on the command-line.\n\nMotivation\n----------\n\nData often needs a human eye. I found myself writing over and over the code to help me investigate data manually on the command-line; ``questioner`` is my attempt to make this tool the right way once.\n\nIt's suitable for:\n\n- **Labelling data manually** faster than you can in excel spreadsheets or similar setups\n- **Active learning loops** where you and a machine-learnining agent collaborate, reducing the need for training data\n- **Short question-based UIs** on the command-line where you need a user's input to continue\n\nUsage\n-----\n\nPython API\n~~~~~~~~~~~\n\nYou write a simple Python api that asks you things.\n\n.. code-block:: python\n\n import questioner\n\n with questioner.Cli() as c:\n is_hurt = c.yes_or_no('Are you hurt')\n\n symptom_set = c.choose_many(\n 'What symptoms do you have?',\n ['pain', 'nausea', 'anxiety'],\n )\n\n rating = c.give_an_int(\n 'How would you rate this experience (1-5)', 1, 5\n )\n\n choice = c.choose_one('Which do you like best',\n ['dogs', 'cats', 'horses'])\n\n\nOn the terminal\n~~~~~~~~~~~~~~~\n\nWhen run, the experience on the terminal looks like the following:\n\n.. code-block::\n\n $ python -m questioner.demo\n Are you hurt? (y/n) n\n\n What symptoms do you have?\n pain? (y/n) y\n nausea? (y/n) n\n anxiety? (y/n) n\n\n How would you rate this experience (1-5)\n 3\n\n Which do you like best\n 0. dogs\n 1. cats\n 2. horses\n 1\n\nThe user can by default skip a question (raising ``QuestionSkipped``) by pressing enter, or quit the entire cli by pressing ``q`` (raising ``QuitCli``).\n\n\nFeatures\n--------\n\n* Support for boolean, numeric, single-choice and multiple-choice questions\n* Uses single-keystroke input where possible\n\nLicense\n-------\n\nMIT licensed.\n\n\n=======\nHistory\n=======\n\n0.1.0 (2019-02-15)\n------------------\n\n* First release on PyPI.\n\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/larsyencken/questioner", "keywords": "questioner", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "questioner", "package_url": "https://pypi.org/project/questioner/", "platform": "", "project_url": "https://pypi.org/project/questioner/", "project_urls": { "Homepage": "https://github.com/larsyencken/questioner" }, "release_url": "https://pypi.org/project/questioner/0.1.0/", "requires_dist": [ "readchar", "blessings" ], "requires_python": "", "summary": "A lightweight Python interface for annotating things.", "version": "0.1.0" }, "last_serial": 4831677, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b88c7dfefb9e295060caab069d059cd7", "sha256": "3aecfc3ce751a8cd04b2273349e65d19f1502b125d9867e14723cb9021dcb0db" }, "downloads": -1, "filename": "questioner-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b88c7dfefb9e295060caab069d059cd7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6042, "upload_time": "2019-02-17T15:00:53", "url": "https://files.pythonhosted.org/packages/dd/24/05a68eea43eacf57341f8a358f526d176f77d77bd960b7ead16623dcff19/questioner-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "78c0374e43168cacd9efcb2ef0c455c6", "sha256": "4328bd3ab701aa94edbe8cadff8f5309e6a25fbfe7e417c1826e0807a71a0f80" }, "downloads": -1, "filename": "questioner-0.1.0.tar.gz", "has_sig": false, "md5_digest": "78c0374e43168cacd9efcb2ef0c455c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10887, "upload_time": "2019-02-17T15:00:55", "url": "https://files.pythonhosted.org/packages/68/06/b1fc58c9fca1a6b3f687e9cce12ecf9ae46915ec871e473a12834c1664d6/questioner-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b88c7dfefb9e295060caab069d059cd7", "sha256": "3aecfc3ce751a8cd04b2273349e65d19f1502b125d9867e14723cb9021dcb0db" }, "downloads": -1, "filename": "questioner-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b88c7dfefb9e295060caab069d059cd7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6042, "upload_time": "2019-02-17T15:00:53", "url": "https://files.pythonhosted.org/packages/dd/24/05a68eea43eacf57341f8a358f526d176f77d77bd960b7ead16623dcff19/questioner-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "78c0374e43168cacd9efcb2ef0c455c6", "sha256": "4328bd3ab701aa94edbe8cadff8f5309e6a25fbfe7e417c1826e0807a71a0f80" }, "downloads": -1, "filename": "questioner-0.1.0.tar.gz", "has_sig": false, "md5_digest": "78c0374e43168cacd9efcb2ef0c455c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10887, "upload_time": "2019-02-17T15:00:55", "url": "https://files.pythonhosted.org/packages/68/06/b1fc58c9fca1a6b3f687e9cce12ecf9ae46915ec871e473a12834c1664d6/questioner-0.1.0.tar.gz" } ] }