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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

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