signspell
Live ASL fingerspelling alphabet recognition — straight from your webcam.
signspell recognises the American Sign Language manual alphabet (A–Z) in real
time using MediaPipe hand tracking and an LSTM model trained on 30-frame
keypoint sequences. It ships with a pretrained model and a polished webcam UI,
and it works both as a command-line tool and an importable library.
The American Sign Language fingerspelling alphabet that signspell recognises.
Install
pip install signspell
Requires Python 3.9–3.12. A webcam is required for live recognition.
Run it (CLI)
signspell # default webcam, bundled model, pro UI
signspell --camera 1 # pick a different camera
signspell --threshold 0.6 # require higher confidence
signspell --no-mirror # disable mirrored view
In-window keys: q quit · c clear sentence · SPACE add a space.
Use it (library)
Run the full UI from code:
import signspell
signspell.run()
Or drive recognition yourself, frame by frame:
import cv2
import signspell
rec = signspell.Recognizer()
cap = cv2.VideoCapture(0)
while True:
ok, frame = cap.read()
if not ok:
break
letter, confidence, probs = rec.predict(frame)
if letter:
print(letter, f"{confidence:.2f}")
The Recognizer keeps a rolling 30-frame buffer internally, so you just feed
frames and read predictions. letter is None until the buffer fills or when
confidence is below the threshold.
How it works
- MediaPipe Holistic extracts 21 right-hand landmarks per frame.
- The last 30 frames of
(x, y, z)keypoints form a sequence. - An LSTM classifies the sequence into one of 26 letters.
- A short stability window prevents flicker before a letter is committed.
Bring your own model
signspell --model path/to/your_model.h5
signspell.Recognizer(model_path="path/to/your_model.h5")
Your model must accept input shape (1, 30, 63) and output 26 class scores.
License
MIT © Sundar
Metadata
Release files for signspell 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| signspell-2.0.1.tar.gz | 2.1 MB | Without provenance | Details for signspell-2.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| signspell-2.0.1-py3-none-any.whl | Python 3 | none | any | Details for signspell-2.0.1-py3-none-any.whl |
Total release size: 4.3 MB
Release files / signspell-2.0.1.tar.gz
| Download URL | signspell-2.0.1.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
39497ab90d541e57ec8596cfadba271f030aa937a75a855bdfc649398c0c7e7b
|
|
BLAKE2b-256 checksum How to use checksums |
8b293e1a85c4a45508160b2fe1b7200c91f1a6b42a51fded9818ed921ffb6d90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|
Release files / signspell-2.0.1-py3-none-any.whl
| Download URL | signspell-2.0.1-py3-none-any.whl |
|---|---|
| Size | 2.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3efea2ed5a41fd191d4b6f68374756109ec1d64423624a424b39252534768099
|
|
BLAKE2b-256 checksum How to use checksums |
e2301e98c372b5db1c76eca6a4c52241a6439e88dc7bf47351f8f6ddabc0ecdd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|
Security for signspell 2.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.