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

[!WARNING]

This project is semi-abandoned. If anyone is using it, submit an issue and I will check why the CI is failing.

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.post3.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

groupick-1.1.2.post3-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file groupick-1.1.2.post3.tar.gz.

File metadata

  • Download URL: groupick-1.1.2.post3.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for groupick-1.1.2.post3.tar.gz
Algorithm Hash digest
SHA256 bef98edd9cf2369cea7e709a8bca8d59b61e49dcf7b8f79c0e711d534d8674e9
MD5 7d3c18d4d6ed6ef764e49052ab894484
BLAKE2b-256 d265f5121d2980b03dc6172ac1916a9a5628163a954e138f475f4206e774919d

See more details on using hashes here.

File details

Details for the file groupick-1.1.2.post3-py3-none-any.whl.

File metadata

  • Download URL: groupick-1.1.2.post3-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for groupick-1.1.2.post3-py3-none-any.whl
Algorithm Hash digest
SHA256 3408703d8556be05859b0db15a3c823ad5dd41e7665f0b89e1d9a0418be37f74
MD5 77433cfa36f4013da62c38431497d5a8
BLAKE2b-256 a2c1667f6bed11e0fef76716ce5b73b023e7e5fb44ac21a16925637906730837

See more details on using hashes here.

Supported by

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