Skip to main content

Maintain tag sets easily and visually

Project description

textual_tagset

A utility to allow selection of choices, either singly or in groups.

To get a flavour of what the package can do, after installation run

python -m textual-tagset.demo

This lets you play with the four object types the tagset package offers choosing the number of items you want to work with. See the Demonstration section below.

The tagset demo utility

Dependency

Besides the usual Python ecosystem the sole requirement is the textual package itself.

For development you will need the poetry command. Installation is normally straightforward.

Installation

textual_tagset is available on PyPI, which will be by far the simplest installation. Simply create a virtual environment (while not strictly necessary this is stringly advised) and with the environment activated issue the command

pip install textual-tagset

I'm very interested in gathering comments. For development feel free to download a copy

git clone git@github.com:holdenweb/textual-tagset.git

if you prefer to use HTTPS:

git clone https://github.com/holdenweb/textual-tagset.git

In either case, change into the directory you just created.

cd textual_tagset

We really do recommend you perform Python development work inside a virtual environment. To create a virtual environment with textual_tagset already installed, first select your Python version. Textual_tagset supports Python 3.9 onwards.

poetry env use 3.11

Then enter

poetry install

To build pip-installable artefacts, run

poetry build

This will create dist/textual_tagset-X.Y.Z.tar.gz and dist/textual_tagset-X.Y.Z-py3-none-any.whl, either of which can be installed with pip.

Usage

A TagSet is a set of string tags. Clicking on a particular tag causes a TagSet.Selected Message to be raised. This has an```indexattribute that contains the numerical index of the selected element, and aselected` attribute containing the selected tag.

A FilteredTagset has the same interface as a TagSet but provides an Input to enter a filter string value to limit the choices visible in the TagSet for ease of selection. Pressing the Enter key the component raises a TagSetSelector.Selected signal whose values attribute holds the tags from the selected set.

The TagSetSelector lets you maintain two TagSets, one showing the the selected tags and the other showing other tags available for selection. Clicking on a tag moves it from one set to the other.

As you might expect there's also a FilteredTagSetSelector, which uses FilteredTagSets for the values. The filtered variants are especially useful when tags must be selected from an intractably large set. In the filtered versions, interaction is terminated by pressing return.

Python API

TagSet and FilteredTagSet have the same API, as do TagSetSelector and FilteredTageSetSelector.

TagSet, FilteredTagSet

TagSetSelector, FilteredTagSetSelector

Documentation to be provided once API is stabilised.

Further development

Development work will aim to increase usability: User comments and issues are both warmly welcome.

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

textual_tagset-0.3.2.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

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

textual_tagset-0.3.2-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file textual_tagset-0.3.2.tar.gz.

File metadata

  • Download URL: textual_tagset-0.3.2.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.1 Darwin/24.2.0

File hashes

Hashes for textual_tagset-0.3.2.tar.gz
Algorithm Hash digest
SHA256 00b286f51e17b6d590b02a855de0b2f1f0939955313301072d6d04e36dd0dde8
MD5 6c02150f4c07f548570e15887b1e714a
BLAKE2b-256 7f902cc6130bedd29b2e9bea7aaa823bcbed66cf2f0b207340585225e734c3cf

See more details on using hashes here.

File details

Details for the file textual_tagset-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: textual_tagset-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.1 Darwin/24.2.0

File hashes

Hashes for textual_tagset-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0d317f9cb8441dd8acffa5bf27fcd05abdf9189e460fd4f7749da28bfc56c5b7
MD5 bf5c8ecfb9091f98fc8b414cab698f15
BLAKE2b-256 5625dbdfa2b32dcba83ff462b5a656880899b5477813deaa5d44975cb71adaf3

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