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

Metadata

Release files for sutton-signwriting-core 1.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sutton-signwriting-core 1.1.3
File Size Uploaded
sutton_signwriting_core-1.1.3.tar.gz 38.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sutton-signwriting-core 1.1.3
File Interpreter ABI Platform
sutton_signwriting_core-1.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 80.3 kB

Release files / sutton_signwriting_core-1.1.3.tar.gz

Download URL sutton_signwriting_core-1.1.3.tar.gz
Size 38.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c27dbf7723372a1c50f0195126b0208962408371189d219d87d8c98fea250755
BLAKE2b-256 checksum
How to use checksums
208457f5620db2cbbf715bbac492daa274b45cc31e9c3ca8cc5cf6aa948a9d4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.10.12 Linux/6.6.87.2-microsoft-standard-WSL2

Release files / sutton_signwriting_core-1.1.3-py3-none-any.whl

Download URL sutton_signwriting_core-1.1.3-py3-none-any.whl
Size 41.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e47d715c0827ea61de0a83cb8c8d83dcf3035f030a39fd6f5ea4d8a6c8fb3519
BLAKE2b-256 checksum
How to use checksums
77cfcc3589b8623865b13475e9e8bc5404f9960ffc41cbd64ecbd3c9cade7f1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.10.12 Linux/6.6.87.2-microsoft-standard-WSL2

Release history Release notifications | RSS feed

This release

1.1.3 This release

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page