Skip to main content

Assign options to groups in the terminal with a simple GUI. Based on wong2's pick

Project description

groupick

image PyPI PyPI

groupick is a small python library based on wong2's pick which allows you to create a curses-based interactive selection in the terminal. With groupick you can assign options to groups.

Installation

$ pip install groupick

Usage

groupick comes with a simple api:

>>> from groupick import groupick

>>> instructions = "Assign languages to groups 'a', 'b' or '1'."
>>> options = ["Java", "JavaScript", "Python", "PHP", "C++", "Erlang", "Haskell"]
>>> groups:set = {"a", "b", 1}
>>> selected = groupick(options, groups, instructions, indicator="=>", default_index=2)
>>> print(f"Here is your assignment: {selected}")

output:

>>> {'1': [], 'a': [("JavaScript", 1)], 'b': []}

Options

  • options: a list of options to choose from
  • groups: a list of ints and/or characters symbolising groups (max-length per item is 1)
  • instructions: (optional) a title above options list
  • indicator: (optional) custom the selection indicator, defaults to *
  • default_index: (optional) index of item where cursor starts at by default
  • handle_all: (optional) define whether it is mandatory to assign all options to groups, defaults to False
  • screen: (optional), if you are using groupick within an existing curses application, pass your existing screen object. It is assumed this has initialised in the standard way (e.g. via curses.wrapper(), or curses.noecho(); curses.cbreak(); screen.kepad(True))

Community Projects

wong2's pick: Original pick project, for selecting one or more options (no grouping)

pickpack: A fork of pick to select tree data.

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

groupick-1.1.2.tar.gz (4.7 kB view hashes)

Uploaded Source

Built Distribution

groupick-1.1.2-py3-none-any.whl (5.2 kB view hashes)

Uploaded 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