Skip to main content

Stroke handling helper library for Plover

Project description

Plover Stroke

Helper class for working with steno strokes.

Usage:

# Setup:

from plover_stroke import BaseStroke

class Stroke(BaseStroke):
     pass

Stroke.setup(
    # System keys.
    '''
    #
    S- T- K- P- W- H- R-
    A- O-
    *
    -E -U
    -F -R -P -B -L -G -T -S -D -Z
    '''.split(),
    # Implicit hyphen keys (optional, automatically
    # deduced from system keys if not passed).
    'A- O- * -E -U'.split(),
    # Number bar key and numbers keys (optional).
    '#', {
    'S-': '1-',
    'T-': '2-',
    'P-': '3-',
    'H-': '4-',
    'A-': '5-',
    'O-': '0-',
    '-F': '-6',
    '-P': '-7',
    '-L': '-8',
    '-T': '-9',
    })

# Creating strokes:

Stroke(56)
# => KPW
Stroke(('-F', 'S-', '-S', 'A-', '*')) 
# => SA*FS
Stroke('R-')
# => R
Stroke('L-')
# => invalid, raise a ValueError

# Methods:

s = Stroke('STK')

s.keys()
# => ['S-', 'T-', 'K-']
s.isnumber()
# => False
int(s)
# => 14
s == 0b00000000000000000001110
# => True

# Strokes can be compared:
sorted(map(Stroke, 'AOE ST-PB *Z # R-R'.split()))
# => [#, ST-PB, R-R, AOE, *Z]

# Generating a range of strokes:
list(Stroke.xrange('ST', 'TP'))
# => [ST, 12, K, #K, SK, #SK, TK, #TK, STK, #STK, P, 3, SP, 13]

# Generating list of possible suffix strokes:
list(Stroke('-T').xsuffixes())
# => [-TS, -TD, -TSD, -TZ, -TSZ, -TDZ, -TSDZ]

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

plover_stroke-0.3.2.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

plover_stroke-0.3.2-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: plover_stroke-0.3.2.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for plover_stroke-0.3.2.tar.gz
Algorithm Hash digest
SHA256 70ab8db5809c4736ea6f1fad06bbadafc95736e46b2c91be1f3273eed7d96baf
MD5 4737e747ceaa0fe3ef01ccde47b4e077
BLAKE2b-256 53b9fb007616dbf765ce5035f9788b26f20bdb23467e505e4d19197863b0c575

See more details on using hashes here.

File details

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

File metadata

  • Download URL: plover_stroke-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for plover_stroke-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 416b649d28c541a56e67d087df91518554d33768eb99e01591d4525e01d0c454
MD5 bc6650e03b6d283949da42f37d2308ae
BLAKE2b-256 2ba70a6560a853d00fde41050ddb4f82c5ee250919323660f38ef081e0465ad2

See more details on using hashes here.

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