Skip to main content

sutton-signwriting-core

Source Code on GitHub Docs Gitter

Spec DOI

PyPI PyPI - Downloads CI

sutton-signwriting-core is a Python library that supports general processing of SignWriting text

This library supports both Formal SignWriting in ASCII (FSW) and SignWriting in Unicode (SWU) character sets, , along with the associated query languages and style string. See draft-slevinski-formal-signwriting for detailed specification.

Author: Steve Slevinski
Channel: YouTube
Support: Patreon
Donate: sutton-signwriting.io

Useful Links


Installation

pip install sutton-signwriting-core

Usage

from sutton_signwriting_core import (
    fsw_is_type, fsw_parse_symbol,
    fsw_to_coord, key_to_id
)

# FSW is type
fsw_is_type('S10000', 'hand')
True

# FSW parse symbol
fsw_parse_symbol('S10000500x500-C')
{'symbol': 'S10000', 'coord': [500, 500], 'style': '-C'}

# FSW to coord
fsw_to_coord('500x500')
[500, 500]

# FSW symbol key to 16-bit ID
key_to_id('S10000')
1

All functions are fully typed, validated, and documented with Python-style docstrings (Google format). Run help(swu_to_fsw) for details.


Development

Development Steps

# 1. Clone the repo
git clone https://github.com/sutton-signwriting/core-py.git
cd core-py

# 2. Install Poetry (if you don’t have it)
curl -sSL https://install.python-poetry.org | python3 -
export PATH="$HOME/.local/bin:$PATH"

# 3. Create the virtual environment and install deps
poetry install

# 4. Activate the environment (Poetry 2+)
poetry env activate
#   (copy and execute the returned command)

# 5. Run the test suite
pytest -v

# 6. Code coverage and HTML report
pytest --cov
pytest -v --cov=sutton_signwriting_core --cov-report=html
pytest --cov=sutton_signwriting_core --cov-report=xml

# 7. Lint / format / type-check
black .
ruff check .
mypy src

# 8. Check / fix security issues
poetry run pip-audit
poetry update

# 9. Update Version string
pyproject.toml:version = "1.1.3"
src/sutton_signwriting_core/__init__.py:__version__ = "1.1.3"
sphinx-docs/source/conf.py:release = "1.1.3"
sphinx-docs/source/conf.py:version = "1.1"

# 10. Create HTML documentation
cd sphinx-docs
sphinx-build -b html -a -E source/ ../docs/

# 11. Build distributions
poetry build

# 12. Publish to pypi
poetry publish

# 13. Git commit, push, and tag
git commit -m "message"
git push origin main
git tag v1.1.3 && git push --tags

License

MIT – see LICENSE for details.

Maintained by Steve Slevinski – Slevinski@signwriting.org


SignWriting Resources

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sutton_signwriting_core-1.1.3.tar.gz (38.5 kB view details)

Uploaded Source

Built Distribution

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

sutton_signwriting_core-1.1.3-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file sutton_signwriting_core-1.1.3.tar.gz.

File metadata

  • Download URL: sutton_signwriting_core-1.1.3.tar.gz
  • Upload date:
  • Size: 38.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.12 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for sutton_signwriting_core-1.1.3.tar.gz
Algorithm Hash digest
SHA256 c27dbf7723372a1c50f0195126b0208962408371189d219d87d8c98fea250755
MD5 f9bdfc09977566f2fa414ab483e379c0
BLAKE2b-256 208457f5620db2cbbf715bbac492daa274b45cc31e9c3ca8cc5cf6aa948a9d4a

See more details on using hashes here.

File details

Details for the file sutton_signwriting_core-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: sutton_signwriting_core-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.10.12 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for sutton_signwriting_core-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e47d715c0827ea61de0a83cb8c8d83dcf3035f030a39fd6f5ea4d8a6c8fb3519
MD5 ef2f0ce1b0eecb16c15adfd9d2c24149
BLAKE2b-256 77cfcc3589b8623865b13475e9e8bc5404f9960ffc41cbd64ecbd3c9cade7f1f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.3 This release

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

2 files

Supported by

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