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
- Source: GitHub
- PyPI: pypi.org/project/sutton-signwriting-core
- Documentation: sutton-signwriting.io/core-py
- Issues: GitHub Issues
- Discussion: Gitter
pip install sutton-signwriting-corefrom 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')
1All functions are fully typed, validated, and documented with Python-style docstrings (Google format). Run help(swu_to_fsw) for details.
# 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. Update Version string
pyproject.toml:version = "1.0.0"
src/sutton_signwriting_core/__init__.py:__version__ = "1.0.0"
sphinx-docs/source/conf.py:release = "1.0.0"
sphinx-docs/source/conf.py:version = "1.0"
# 9. Create HTML documentation
cd sphinx-docs
sphinx-build -b html -a -E source/ ../docs/
# 10. Build distributions
poetry build
# 11. Publish to pypi
poetry publish
# 12. Git commit, push, and tag
git commit -m "message"
git push origin main
git tag v1.0.0 && git push --tagsMIT – see LICENSE for details.
Maintained by Steve Slevinski – Slevinski@signwriting.org
- Website: signwriting.org
- Resources: sutton-signwriting.io
- Wikipedia: SignWriting
- Grokipedia SignWriting
- Forum: swlist
- Facebook: Sutton SignWriting Group