Python Finite-State Toolkit
Project description
Quickstart
pip install pyfoma
from pyfoma import FST
myfst = FST.re("(cl|n|s)?e(ve|a)r")
myfst.view()
What's new
- Mar 2026: added SKILL.md for creating morphological analyzers
- Mar 2026: added support for parsing and approximation of CFGs
- Feb 2026: pyfoma.js port allows PyFoma regex compilation, visualization, and testing in the browser
- Feb 2026: added support for lexd
Core documentation
- Regular Expression Compiler
- Introduction to lexd
- Morphological Analyzer Tutorial
- CFG Parsing
- CFG Approximation
Contributing
pip install -e .
# Build Cython modules
python setup.py build_ext --inplace
Rebuilding the documentation
brew install sphinx-doc # if not installed
# Update automatically-scraped docs
sphinx-apidoc -o docs src/pyfoma/
# Rebuild docs
cd docs
make html
Citation
@inproceedings{hulden-etal-2024-pyfoma,
title = "{P}y{F}oma: a Python finite-state compiler module",
author = "Hulden, Mans and Ginn, Michael and Silfverberg, Miikka and Hammond, Michael",
editor = "Cao, Yixin and Feng, Yang and Xiong, Deyi",
booktitle = "Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations)",
year = "2024",
address = "Bangkok, Thailand",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2024.acl-demos.24",
doi = "10.18653/v1/2024.acl-demos.24",
pages = "258--265"
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyfoma-1.1.1.tar.gz
(89.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyfoma-1.1.1.tar.gz.
File metadata
- Download URL: pyfoma-1.1.1.tar.gz
- Upload date:
- Size: 89.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c6327460febc191cafbaf3092a771f94c89370522a3709d85b0906347e854aa
|
|
| MD5 |
bc1e69f28e011183ac5610f9678e7336
|
|
| BLAKE2b-256 |
56a048679e18a46bb4568c85b1bcce3ed4382798efccd0d92b83848c510f72a5
|
File details
Details for the file pyfoma-1.1.1-cp310-cp310-macosx_26_0_arm64.whl.
File metadata
- Download URL: pyfoma-1.1.1-cp310-cp310-macosx_26_0_arm64.whl
- Upload date:
- Size: 372.2 kB
- Tags: CPython 3.10, macOS 26.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06124c6829deb41acb7ebb233826ad85b2c1cad8317024cd7eca22a1ea33bb01
|
|
| MD5 |
73cf54decf756421d6618202d7d4adfa
|
|
| BLAKE2b-256 |
26d2be277cd7f5af9808b1724b94e0572b427f5287f1284a64577d9311670a6a
|