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.3.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.3-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: textual_tagset-0.3.3.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.3.tar.gz
Algorithm Hash digest
SHA256 d63d0d06e8dd5fb726832bbfe300e02842f02c61843a213df0f4c87ab67dd9cf
MD5 f1ad6261d918b0a7624374d17187a7e8
BLAKE2b-256 a9861276fee1b8275526e39bdcffd65a0aa8f9ce0f1062f124f60d32ae69c602

See more details on using hashes here.

File details

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

File metadata

  • Download URL: textual_tagset-0.3.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 679fca531b690f85b397728dcbbecdbecc0cdcab577d168932a5ffa724b3fdb5
MD5 352f685ebb707df8854982537f796ebf
BLAKE2b-256 7011cbf13379739b119c02af97123690ffb0cf9022097a58a36daf67d8ce856b

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