Skip to main content

A lightweight Python interface for annotating things.

Project description

Questioner

https://img.shields.io/pypi/v/questioner.svg https://img.shields.io/travis/larsyencken/questioner.svg Documentation Status

A human-friendly Python library for asking people questions on the command-line.

Motivation

Data 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.

It’s suitable for:

  • Labelling data manually faster than you can in excel spreadsheets or similar setups

  • Active learning loops where you and a machine-learnining agent collaborate, reducing the need for training data

  • Short question-based UIs on the command-line where you need a user’s input to continue

Usage

Python API

You write a simple Python api that asks you things.

import questioner

with questioner.Cli() as c:
    is_hurt = c.yes_or_no('Are you hurt')

    symptom_set = c.choose_many(
        'What symptoms do you have?',
        ['pain', 'nausea', 'anxiety'],
    )

    rating = c.give_an_int(
        'How would you rate this experience (1-5)', 1, 5
    )

    choice = c.choose_one('Which do you like best',
                          ['dogs', 'cats', 'horses'])

On the terminal

When run, the experience on the terminal looks like the following:

$ python -m questioner.demo
Are you hurt? (y/n) n

What symptoms do you have?
  pain? (y/n) y
  nausea? (y/n) n
  anxiety? (y/n) n

How would you rate this experience (1-5)
3

Which do you like best
  0. dogs
  1. cats
  2. horses
1

The user can by default skip a question (raising QuestionSkipped) by pressing enter, or quit the entire cli by pressing q (raising QuitCli).

Features

  • Support for boolean, numeric, single-choice and multiple-choice questions

  • Uses single-keystroke input where possible

License

MIT licensed.

History

0.1.0 (2019-02-15)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

questioner-0.1.0.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

questioner-0.1.0-py2.py3-none-any.whl (6.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file questioner-0.1.0.tar.gz.

File metadata

  • Download URL: questioner-0.1.0.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for questioner-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4328bd3ab701aa94edbe8cadff8f5309e6a25fbfe7e417c1826e0807a71a0f80
MD5 78c0374e43168cacd9efcb2ef0c455c6
BLAKE2b-256 6806b1fc58c9fca1a6b3f687e9cce12ecf9ae46915ec871e473a12834c1664d6

See more details on using hashes here.

File details

Details for the file questioner-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: questioner-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for questioner-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3aecfc3ce751a8cd04b2273349e65d19f1502b125d9867e14723cb9021dcb0db
MD5 b88c7dfefb9e295060caab069d059cd7
BLAKE2b-256 dd2405a68eea43eacf57341f8a358f526d176f77d77bd960b7ead16623dcff19

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page