# foma_bindings: Foma Python Bindings
These are python bindings for `foma`, [a finite-state toolkit](https://fomafst.github.io/) developed by [Dr. Mans Hulden](https://www.colorado.edu/linguistics/mans-hulden). These bindings are a subset of the functionality of `foma`, and are a modification of the file(s) in the `python` folder in the above `foma` repo. Those file(s) are edited, expanded, cleaned up, and packaged for distribution through `pip`; the changes made are listed below.
For additional functionality, please feel free to open up an issue [on our github page](https://github.com/CultureFoundryCA/foma_bindings) describing what you'd like to see, how this is currently accomplished in `foma`, and the reasons why you would like to see this functionality. Feel free to fork this repo and implement the changes yourself as well, and make a pull request and we'll merge it in.
This package is maintained by [CultureFoundry](https://www.culturefoundrystudios.com/) and created in conjunction with [Dr. Miikka Silfverberg](https://linguistics.ubc.ca/profile/miikka-silfverberg/https://linguistics.ubc.ca/profile/miikka-silfverberg/).
## The Bindings
Here is an example of how to use these bindings:
```python
from foma_bindings.fst import Fst
fst = Fst.load("/path/to/compiled/fst.fomabin")
for tagged_word in fst.apply_up("foxes", flags=Fst.TOKENIZE | Fst.PRINT_FLAGS)
print(tagged_word)
```
## Acknowledgements
Firstly, we would like to acknowledge the extensive work of [Dr. Mans Hulden](https://www.colorado.edu/linguistics/mans-hulden) on the entire `foma` software suite; that software [can be found here](https://fomafst.github.io/). These python bindings only exist because the software that Dr. Hulden wrote is so robust for language use.
Secondly, we would like to acknowledge the work of [Dr. Miikka Silfverberg](https://linguistics.ubc.ca/profile/miikka-silfverberg/https://linguistics.ubc.ca/profile/miikka-silfverberg/). Dr. Silfverberg has extensive experience and knowledge of `foma`, and has been instrumental not only in CultureFoundry's adoption of it in our language programs, but also in working with us to adapt and expand these python bindings to further `foma`'s usability going forward. We hope he will be here to help us, and thereby the communities we are working with, for a long time to come!
## Changelog
### Changes from the original file as part of the Mans Hulden foma repo:
- extensive readability edits have been made, including splitting classes into separate files, alphabetizing the C API mappings, and extensive renaming of function and variable names
- `get_alphabet` and the aliased `get_sigma` functions have been added
- the multi-tape FST class/section has been entirely commented out for now
- additional printing parameters have been added, such as printing with flags included
- the files have been made ready for distribution on `pip`
- apache copyright notices have been added to all the relevant python files
- add query function
- add function to get the flag diacritics
Raw data
{
"_id": null,
"home_page": "https://github.com/CultureFoundryCA/foma_bindings",
"name": "foma-bindings",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10, <4",
"maintainer_email": "",
"keywords": "foma,xfst,hfst,fst,fsm,mtfst,mtfsm",
"author": "CultureFoundry",
"author_email": "info@culturefoundrystudios.com",
"download_url": "https://files.pythonhosted.org/packages/2b/3c/157431236b71398a687c721ba51b0a3756f5b28be7f3fa5cb6573ddc298e/foma_bindings-0.1.9.tar.gz",
"platform": null,
"description": "# foma_bindings: Foma Python Bindings\n\nThese are python bindings for `foma`, [a finite-state toolkit](https://fomafst.github.io/) developed by [Dr. Mans Hulden](https://www.colorado.edu/linguistics/mans-hulden). These bindings are a subset of the functionality of `foma`, and are a modification of the file(s) in the `python` folder in the above `foma` repo. Those file(s) are edited, expanded, cleaned up, and packaged for distribution through `pip`; the changes made are listed below. \n\nFor additional functionality, please feel free to open up an issue [on our github page](https://github.com/CultureFoundryCA/foma_bindings) describing what you'd like to see, how this is currently accomplished in `foma`, and the reasons why you would like to see this functionality. Feel free to fork this repo and implement the changes yourself as well, and make a pull request and we'll merge it in.\n\nThis package is maintained by [CultureFoundry](https://www.culturefoundrystudios.com/) and created in conjunction with [Dr. Miikka Silfverberg](https://linguistics.ubc.ca/profile/miikka-silfverberg/https://linguistics.ubc.ca/profile/miikka-silfverberg/).\n\n## The Bindings\n\nHere is an example of how to use these bindings:\n\n```python\nfrom foma_bindings.fst import Fst\n\nfst = Fst.load(\"/path/to/compiled/fst.fomabin\")\n\nfor tagged_word in fst.apply_up(\"foxes\", flags=Fst.TOKENIZE | Fst.PRINT_FLAGS)\n print(tagged_word)\n```\n\n## Acknowledgements\n\nFirstly, we would like to acknowledge the extensive work of [Dr. Mans Hulden](https://www.colorado.edu/linguistics/mans-hulden) on the entire `foma` software suite; that software [can be found here](https://fomafst.github.io/). These python bindings only exist because the software that Dr. Hulden wrote is so robust for language use.\n\nSecondly, we would like to acknowledge the work of [Dr. Miikka Silfverberg](https://linguistics.ubc.ca/profile/miikka-silfverberg/https://linguistics.ubc.ca/profile/miikka-silfverberg/). Dr. Silfverberg has extensive experience and knowledge of `foma`, and has been instrumental not only in CultureFoundry's adoption of it in our language programs, but also in working with us to adapt and expand these python bindings to further `foma`'s usability going forward. We hope he will be here to help us, and thereby the communities we are working with, for a long time to come!\n\n## Changelog\n\n### Changes from the original file as part of the Mans Hulden foma repo:\n\n- extensive readability edits have been made, including splitting classes into separate files, alphabetizing the C API mappings, and extensive renaming of function and variable names\n- `get_alphabet` and the aliased `get_sigma` functions have been added\n- the multi-tape FST class/section has been entirely commented out for now\n- additional printing parameters have been added, such as printing with flags included\n- the files have been made ready for distribution on `pip`\n- apache copyright notices have been added to all the relevant python files\n- add query function\n- add function to get the flag diacritics\n\n\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "Python bindings for the foma finite-state technology suite",
"version": "0.1.9",
"project_urls": {
"Homepage": "https://github.com/CultureFoundryCA/foma_bindings"
},
"split_keywords": [
"foma",
"xfst",
"hfst",
"fst",
"fsm",
"mtfst",
"mtfsm"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "567f7e7eefb3c66ed648e0130a4f6cb7a9c646607681aaae36daf3849f28d429",
"md5": "820d08fe24aaeeb79a747117f4664123",
"sha256": "d666695719e52009df586f0e777a3cdd11469bb78a244ece95ff42dfb04ce4c2"
},
"downloads": -1,
"filename": "foma_bindings-0.1.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "820d08fe24aaeeb79a747117f4664123",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10, <4",
"size": 15491,
"upload_time": "2023-08-17T18:59:33",
"upload_time_iso_8601": "2023-08-17T18:59:33.423639Z",
"url": "https://files.pythonhosted.org/packages/56/7f/7e7eefb3c66ed648e0130a4f6cb7a9c646607681aaae36daf3849f28d429/foma_bindings-0.1.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2b3c157431236b71398a687c721ba51b0a3756f5b28be7f3fa5cb6573ddc298e",
"md5": "01e29fd8bc435b4c7f03ff7090201527",
"sha256": "0936ae9114b3956e97d88431ba3b2f78e4495bfca94ce80b9e939bc8d3b0d20e"
},
"downloads": -1,
"filename": "foma_bindings-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "01e29fd8bc435b4c7f03ff7090201527",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10, <4",
"size": 14822,
"upload_time": "2023-08-17T18:59:34",
"upload_time_iso_8601": "2023-08-17T18:59:34.720900Z",
"url": "https://files.pythonhosted.org/packages/2b/3c/157431236b71398a687c721ba51b0a3756f5b28be7f3fa5cb6573ddc298e/foma_bindings-0.1.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-17 18:59:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "CultureFoundryCA",
"github_project": "foma_bindings",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "foma-bindings"
}