sutton-signwriting-core
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
- Source: GitHub
- PyPI: pypi.org/project/sutton-signwriting-core
- Documentation: sutton-signwriting.io/core-py
- Issues: GitHub Issues
- Discussion: Gitter
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
- Website: signwriting.org
- Resources: sutton-signwriting.io
- Wikipedia: SignWriting
- Grokipedia SignWriting
- Forum: swlist
- Facebook: Sutton SignWriting Group
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)
| File | Size | Uploaded | |
|---|---|---|---|
| sutton_signwriting_core-1.1.3.tar.gz | 38.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|