Metadata-Version: 2.4
Name: arsgrammatica
Version: 0.11.2
Summary: A DSPy-based analyzer of Latin syntax, using an alternative scheme to Universal Dependencies designed for research and teaching.
Author-email: Neel Smith <nsmith@holycross.edu>
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/neelsmith/arsgrammatica
Project-URL: Repository, https://github.com/neelsmith/arsgrammatica
Project-URL: Issues, https://github.com/neelsmith/arsgrammatica/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Text Processing :: Linguistic
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic>=2.0
Requires-Dist: networkx>=3.0
Provides-Extra: llm
Requires-Dist: dspy>=3.0; extra == "llm"
Provides-Extra: aat
Requires-Dist: aatgraph>=0.3.0; extra == "aat"
Provides-Extra: dev
Requires-Dist: arsgrammatica[llm]; extra == "dev"
Requires-Dist: arsgrammatica[aat]; extra == "dev"
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: python-dotenv>=1.0; extra == "dev"
Requires-Dist: pdoc>=15.0; extra == "dev"
Requires-Dist: marimo>=0.20; extra == "dev"
Requires-Dist: graphviz>=0.20; extra == "dev"
Dynamic: license-file

# arsgrammatica

> A python package leveraging LLMs with [dspy](https://dspy.ai) to analyze the syntax of passages of Latin..



`arsgrammatica` offers an alternative analytic scheme to [Universal Dependencies](https://universaldependencies.org), designed to describe Latin syntax in familiar terms that are convenient for research and teaching. Released under the [GNU General Public License v3 or later](LICENSE). 


- [Documentation](https://neelsmith.github.io/arsgrammatica/).
- See [release history](https://github.com/neelsmith/arsgrammatica/blob/main/releases.md).
- See the [project issue tracker](https://github.com/neelsmith/arsgrammatica/issues) for known gaps and work in progress.

## Visualizations

The `arsgrammatica` package includes numerous utilities for visualizing syntactic relations.

![Diagram with graphviz](./imgs/Suet_Claudius_42_dot.png)


![Custom displaCy-style display](./imgs/Suet_Claudius_42_displacy.png)




## Related work




Parallel python packages for language-specific syntactic analysis:

- [grammatike](https://github.com/neelsmith/grammatike) for Ancient Greek
- [diqduq](https://github.com/neelsmith/diqduq) for Biblical Hebrew


Packages for working with universal syntax models:


- [udsyntax](https://github.com/neelsmith/udsyntax), a Python package to get dependency data from spaCy into a simple syntax graph format
- [aat](https://github.com/neelsmith/aat), a Python package implementing a reduced model of natural-language syntax, Agent-Action-Target

Using syntax from `arsgrammatica` for contextual disambiguation of morphological analyses:

- [tabulaedspy](https://github.com/neelsmith/tabulaedspy): a Python package adding disambiguated morphological analyses to `arsgrammatica` tokens.

See [more of my current projects](https://neelsmith.github.io/projects/).
