# 🏛️ Latin scansion engine 🏛️
[![Supported Python
versions](https://img.shields.io/pypi/pyversions/latin_scansion.svg)](https://pypi.org/project/latin_scansion)
[![CircleCI](https://circleci.com/gh/CUNY-CL/latin_scansion/tree/master.svg?style=svg)](https://circleci.com/gh/CUNY-CL/latin_scansion/tree/master)
This library uses finite-state grammars to automate Latin scansion, with an
initial focus on the dactylic hexameters of Virgil.
## License
The engine is released under an Apache 2.0 license. Please see
[LICENSE.txt](LICENSE.txt) for details.
## Installation
[Conda](http://conda.io) is recommended for a reproducible environment. Assuming
that Conda (either Miniconda or Anaconda) is available, the following command
creates the environment `scansion`.
conda env create -f environment.yml
This only needs to be done once. The following command then activates the
environment.
conda activate scansion
This second step needs to be repeated each time you start a new shell.
## Installation
1. Compile the grammar assets:
make -j -C grammars
2. Generate the textproto library:
make -C latin_scansion
3. Install the Python library:
pip install -e .
## Command-line tools
Installation produces two command-line tools:
- [`latin-scan`](latin_scansion/cli/scan.py) scans a document, generating a
human-readable
[textproto](https://medium.com/@nathantnorth/protocol-buffers-text-format-14e0584f70a5)
representation of document's scansion. Sample usage:
latin-scan --far grammars/all.far data/Aeneid/Aeneid01.txt data/Aeneid/Aeneid01.textproto
- [`latin-validate`](latin_scansion/cli/validate.py) validates (and
optionally, canonicalizes) a textproto document scansion. Sample usage:
latin-validate data/Aeneid/Aeneid01.textproto
## Testing
Run:
pytest tests
## Authors
- [Jillian Chang](jillianchang15@gmail.com)
- [Kyle Gorman](kgorman@gc.cuny.edu)
Raw data
{
"_id": null,
"home_page": null,
"name": "latin-scansion",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "Latin, computational linguistics, language, natural language processing, phonetics, phonology, speech",
"author": "Jillian Chang",
"author_email": "Kyle Gorman <kylebgorman@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/88/97/63d37e8b88f8f00eb10fa9651d03b9e56e6e46a23674bfe3bcfc75b8567d/latin_scansion-0.1.3.tar.gz",
"platform": null,
"description": "# \ud83c\udfdb\ufe0f Latin scansion engine \ud83c\udfdb\ufe0f\n\n[![Supported Python\nversions](https://img.shields.io/pypi/pyversions/latin_scansion.svg)](https://pypi.org/project/latin_scansion)\n[![CircleCI](https://circleci.com/gh/CUNY-CL/latin_scansion/tree/master.svg?style=svg)](https://circleci.com/gh/CUNY-CL/latin_scansion/tree/master)\n\nThis library uses finite-state grammars to automate Latin scansion, with an\ninitial focus on the dactylic hexameters of Virgil.\n\n## License\n\nThe engine is released under an Apache 2.0 license. Please see\n[LICENSE.txt](LICENSE.txt) for details.\n\n## Installation\n\n[Conda](http://conda.io) is recommended for a reproducible environment. Assuming\nthat Conda (either Miniconda or Anaconda) is available, the following command\ncreates the environment `scansion`.\n\n conda env create -f environment.yml\n\nThis only needs to be done once. The following command then activates the\nenvironment.\n\n conda activate scansion\n\nThis second step needs to be repeated each time you start a new shell.\n\n## Installation\n\n1. Compile the grammar assets:\n\n make -j -C grammars\n\n2. Generate the textproto library:\n\n make -C latin_scansion\n\n3. Install the Python library:\n\n pip install -e .\n\n## Command-line tools\n\nInstallation produces two command-line tools:\n\n- [`latin-scan`](latin_scansion/cli/scan.py) scans a document, generating a\n human-readable\n [textproto](https://medium.com/@nathantnorth/protocol-buffers-text-format-14e0584f70a5)\n representation of document's scansion. Sample usage:\n\n latin-scan --far grammars/all.far data/Aeneid/Aeneid01.txt data/Aeneid/Aeneid01.textproto\n\n- [`latin-validate`](latin_scansion/cli/validate.py) validates (and\n optionally, canonicalizes) a textproto document scansion. Sample usage:\n\n latin-validate data/Aeneid/Aeneid01.textproto\n\n## Testing\n\nRun:\n\n pytest tests\n\n## Authors\n\n- [Jillian Chang](jillianchang15@gmail.com)\n- [Kyle Gorman](kgorman@gc.cuny.edu)\n",
"bugtrack_url": null,
"license": null,
"summary": "Automated Latin scansion",
"version": "0.1.3",
"project_urls": {
"Homepage": "https://github.com/CUNY-CL/latin_scansion"
},
"split_keywords": [
"latin",
" computational linguistics",
" language",
" natural language processing",
" phonetics",
" phonology",
" speech"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b0221478fd5a19d9911bdb0e7e3f79869504faa10b894e9499071271c926c1a7",
"md5": "0f336d1d5348bf64b5a8b9c3e6724e2c",
"sha256": "cbf7bc3f7cd0a7868dc73c2393210dfc87106a15cba26ed9034ac82d41ef759f"
},
"downloads": -1,
"filename": "latin_scansion-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0f336d1d5348bf64b5a8b9c3e6724e2c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 17340,
"upload_time": "2024-08-22T17:51:59",
"upload_time_iso_8601": "2024-08-22T17:51:59.285567Z",
"url": "https://files.pythonhosted.org/packages/b0/22/1478fd5a19d9911bdb0e7e3f79869504faa10b894e9499071271c926c1a7/latin_scansion-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "889763d37e8b88f8f00eb10fa9651d03b9e56e6e46a23674bfe3bcfc75b8567d",
"md5": "63a63241e97c41a16ad2bb11c8c39339",
"sha256": "20daac188bdce302830771c83ee0f849dedeb541fe1fa51ebddbf64b4ffc45ea"
},
"downloads": -1,
"filename": "latin_scansion-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "63a63241e97c41a16ad2bb11c8c39339",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 10658,
"upload_time": "2024-08-22T17:52:00",
"upload_time_iso_8601": "2024-08-22T17:52:00.584598Z",
"url": "https://files.pythonhosted.org/packages/88/97/63d37e8b88f8f00eb10fa9651d03b9e56e6e46a23674bfe3bcfc75b8567d/latin_scansion-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-22 17:52:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "CUNY-CL",
"github_project": "latin_scansion",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"circle": true,
"requirements": [],
"lcname": "latin-scansion"
}