A lightweight Python interface for annotating things.
Project description
Questioner
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 | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4328bd3ab701aa94edbe8cadff8f5309e6a25fbfe7e417c1826e0807a71a0f80 |
|
MD5 | 78c0374e43168cacd9efcb2ef0c455c6 |
|
BLAKE2b-256 | 6806b1fc58c9fca1a6b3f687e9cce12ecf9ae46915ec871e473a12834c1664d6 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3aecfc3ce751a8cd04b2273349e65d19f1502b125d9867e14723cb9021dcb0db |
|
MD5 | b88c7dfefb9e295060caab069d059cd7 |
|
BLAKE2b-256 | dd2405a68eea43eacf57341f8a358f526d176f77d77bd960b7ead16623dcff19 |