Metadata-Version: 2.4
Name: dynamicsyntax
Version: 0.2.3
Summary: DyLan, the Dynamic Syntax parser in Python
Author: Arash Ashrafzadeh
License: BSD-3-Clause (see DyLan upstream LICENSE.txt)
Project-URL: Homepage, https://github.com/incrementaliser/DynamicSyntax
Project-URL: Repository, https://github.com/incrementaliser/DynamicSyntax
Keywords: computational-linguistics,computational-semantics,semantic-parsing,natural-language-processing,parser,ttr,dialogue
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: tqdm>=4.67
Provides-Extra: gui
Requires-Dist: flet>=0.24.0; extra == "gui"
Provides-Extra: nlp
Requires-Dist: nltk>=3.9; extra == "nlp"
Requires-Dist: spacy>=3.8; extra == "nlp"
Provides-Extra: viz
Requires-Dist: plotly>=5; extra == "viz"
Requires-Dist: pandas>=2; extra == "viz"
Provides-Extra: video
Requires-Dist: manim>=0.20; extra == "video"
Dynamic: license-file

# dynamicsyntax

`dynamicsyntax` is the python implementation of **[DyLan](https://github.com/Dynamics-of-Language)** the Dynamic Syntax parser. It has been (vibe) translated from Java to Python by [@incrementaliser](https://github.com/incrementaliser), and is still under development.

## Installation

You need [uv](https://docs.astral.sh/uv/) and a Python that satisfies `>=3.11`.

1. Create a virtual environment with a fixed Python version (run this in the directory where you want `.venv`, e.g. the repo root for a clone):

  ```bash
   uv venv --python 3.11 # or 3.12 or 3.13
  ```

1. Activate it. On Linux or macOS:

  ```bash
   source .venv/bin/activate
  ```

   On Windows, use `.venv\Scripts\activate` (cmd) or `.\.venv\Scripts\Activate.ps1` (PowerShell).
3. Install into that environment, using the published package from PyPI:

  ```bash
   uv pip install dynamicsyntax
  ```

## Examples

For some code examples of the parser in action, check out this notebook: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1ofpCLwLOE88AvbtR3gh5uisaYkpWGNP9?usp=sharing)

## Get Involved

Contributions (issues, PRs, [donations (spent on coffee/LLM credits!)](https://buymeacoffee.com/incrementaliser)) are very welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for more details.

**Note**
Since this project has been translated using Cursor and tested only on Windows, there is a small chance errors exist. I would be grateful if you could report them to me through the above channels. Although, it is important to mention that some of the most critical methods here have been verified via unit tests, so there is a high chance the migration from Java has been correct so far.
