Metadata-Version: 2.4
Name: pyVHDLModelTreesitter
Version: 0.9.1
Summary: An implementation of pyVHDLModel using treesitter
Project-URL: Repository, https://gitlab.com/dawalters/pyVHDLModelTreesitter
Author: Dominic Adam Walters
License-File: LICENSE
Keywords: language,model,treesitter,vhdl
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
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: Programming Language :: Python :: 3.14
Requires-Python: >=3.11
Requires-Dist: pygments>=2.20.0
Requires-Dist: pyvhdlmodel>=0.38.0
Requires-Dist: rich>=11.0.0
Requires-Dist: tree-sitter-vhdl>=1.2.5
Requires-Dist: tree-sitter>=0.23.0
Provides-Extra: dev
Requires-Dist: coverage>=7.15.2; extra == 'dev'
Requires-Dist: cryptography>=49.0.0; extra == 'dev'
Requires-Dist: hatch>=1.17.1; extra == 'dev'
Requires-Dist: idna>=3.18; extra == 'dev'
Requires-Dist: jaraco-context>=6.1.2; extra == 'dev'
Requires-Dist: mypy>=2.3.0; extra == 'dev'
Requires-Dist: pre-commit>=4.6.1; extra == 'dev'
Requires-Dist: pytest-cov>=7.1.0; extra == 'dev'
Requires-Dist: pytest-order>=1.5.0; extra == 'dev'
Requires-Dist: pytest-sugar>=1.1.1; extra == 'dev'
Requires-Dist: pytest-xdist>=3.8.0; extra == 'dev'
Requires-Dist: pytest>=9.1.1; extra == 'dev'
Requires-Dist: ruff>=0.16.1; extra == 'dev'
Requires-Dist: ty>=0.0.65; extra == 'dev'
Requires-Dist: uv>=0.12.0; extra == 'dev'
Description-Content-Type: text/markdown

# pyVHDLModelTreesitter
[![Version][shield-version]][pyVHDLModelTreesitter-pypi]
[![Releases][shield-releases]][pyVHDLModelTreesitter-releases]
[![Gitlab][shield-pipeline]][pyVHDLModelTreesitter-pipeline]
[![pre-commit][shield-precommit]][precommit-github]
[![Codecov][shield-codecov]][pyVHDLModelTreesitter-codecov]
[![Python Version][shield-python-version]][pyVHDLModelTreesitter-pypi]

`pyVHDLModelTreesitter` is an implementation of the
[`pyVHDLModel`][pyVHDLModel-github] API using
[`tree-sitter-vhdl`][tree-sitter-vhdl].

> Disclaimer: This project is in early development and only implements a
              fraction of the features of [`pyVHDLModel`][pyVHDLModel-github].

## Installation

### `pip`

You can install the latest release from [PyPI][pyVHDLModelTreesitter-pypi]:

```bash
pip install pyVHDLModelTreesitter
```

### Source tarball

You can download source releases from the
[Gitlab Releases page][pyVHDLModelTreesitter-releases].

## Documentation

To parse a VHDL file:

```python
import pyVHDLModelTreesitter

document = pyVHDLModelTreesitter.Document.from_file("path/to/file.vhd")
```

`pyVHDLModelTreesitter.Document` is a subclass of
[`pyVHDLModel.Document`][pyVHDLModel-Document].

Detailed documentation is available for [`pyVHDLModel`][pyVHDLModel-documentation].

A complete list of public API endpoints is in [DOCS.md](DOCS.md).

## Setup for Development

### Dependencies

Developers aiming to contribute to this repository need the following tools:

- `make`
- `uv`

All other dependencies are automatically obtained.

### Initial setup

Simply:

```bash
source ./settings.sh
```

You can `make help` to see what actions are available.

---

[precommit-github]: https://github.com/pre-commit/pre-commit
[pyVHDLModel-Document]: https://vhdl.github.io/pyVHDLModel/pyVHDLModel/pyVHDLModel.html#pyVHDLModel.Document
[pyVHDLModel-documentation]: https://vhdl.github.io/pyVHDLModel
[pyVHDLModel-github]: https://github.com/VHDL/pyVHDLModel
[pyVHDLModelTreesitter-codecov]: https://codecov.io/gitlab/dawalters/pyVHDLModelTreesitter
[pyVHDLModelTreesitter-pipeline]: https://gitlab.com/dawalters/pyVHDLModelTreesitter/-/pipelines?page=1&scope=all&ref=develop
[pyVHDLModelTreesitter-pypi]: https://pypi.org/project/pyVHDLModelTreesitter
[pyVHDLModelTreesitter-releases]: https://gitlab.com/dawalters/pyVHDLModelTreesitter/-/releases
[shield-codecov]: https://codecov.io/gitlab/dawalters/pyVHDLModelTreesitter/branch/develop/graph/badge.svg
[shield-pipeline]: https://gitlab.com/dawalters/pyVHDLModelTreesitter/badges/develop/pipeline.svg
[shield-precommit]: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit
[shield-python-version]: https://img.shields.io/pypi/pyversions/pyVHDLModelTreesitter
[shield-releases]: https://gitlab.com/dawalters/pyVHDLModelTreesitter/-/badges/release.svg
[shield-version]: https://img.shields.io/pypi/v/pyVHDLModelTreesitter
[tree-sitter-vhdl]: https://github.com/jpt13653903/tree-sitter-vhdl
