foma-bindings


Namefoma-bindings JSON
Version 0.1.9 PyPI version JSON
download
home_pagehttps://github.com/CultureFoundryCA/foma_bindings
SummaryPython bindings for the foma finite-state technology suite
upload_time2023-08-17 18:59:34
maintainer
docs_urlNone
authorCultureFoundry
requires_python>=3.10, <4
licenseApache 2.0
keywords foma xfst hfst fst fsm mtfst mtfsm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.10020s