Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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


Release history Release notifications

Download files

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

Files for questioner, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size questioner-0.1.0-py2.py3-none-any.whl (6.0 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size questioner-0.1.0.tar.gz (10.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page