pyVHDLModelTreesitter 0.5.1__tar.gz → 0.5.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/PKG-INFO +4 -4
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/pyproject.toml +4 -4
- pyvhdlmodeltreesitter-0.5.2/src/pyVHDLModelTreesitter/format.py +68 -0
- pyvhdlmodeltreesitter-0.5.2/src/pyVHDLModelTreesitter/treesitter/queries/concurrent_simple_signal_assignment.scm +5 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/.gitignore +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/LICENSE +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/README.md +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Association.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Base.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Concurrent.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/DesignUnit.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Expression.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Interface.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Name.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Object.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Symbol.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/_Design.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/_Document.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/_Library.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/__init__.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/_errors.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/_parse.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/py.typed +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/__init__.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/_base_class.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/_utils.py +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/adding_expression.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/architecture_definition.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/association_element.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/association_elements.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/component_instantiation_statement.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/constant_declaration.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/constrained_1d_array.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/design_units.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/entity_declaration.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/function_call.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/ignorable_parentheses.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/interface_declaration.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/interface_declarations.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/library_clauses.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/library_namespaces.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/multiplying_expression.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/package_declaration.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/package_definition.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/selected_names.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/simple_subtype.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/type_conversion.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/queries/use_clauses.scm +0 -0
- {pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/treesitter/query.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyVHDLModelTreesitter
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.2
|
|
4
4
|
Summary: An implementation of pyVHDLModel using treesitter
|
|
5
5
|
Project-URL: Repository, https://gitlab.com/dawalters/pyVHDLModelTreesitter
|
|
6
6
|
Author: Dominic Adam Walters
|
|
@@ -15,7 +15,9 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.13
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.14
|
|
17
17
|
Requires-Python: >=3.11
|
|
18
|
-
Requires-Dist:
|
|
18
|
+
Requires-Dist: pygments>=2.20.0
|
|
19
|
+
Requires-Dist: pyvhdlmodel>=0.34.0
|
|
20
|
+
Requires-Dist: rich>=11.0.0
|
|
19
21
|
Requires-Dist: tree-sitter-vhdl>=1.2.5
|
|
20
22
|
Requires-Dist: tree-sitter>=0.23.0
|
|
21
23
|
Provides-Extra: dev
|
|
@@ -26,13 +28,11 @@ Requires-Dist: idna==3.16; extra == 'dev'
|
|
|
26
28
|
Requires-Dist: jaraco-context==6.1.2; extra == 'dev'
|
|
27
29
|
Requires-Dist: mypy==2.1.0; extra == 'dev'
|
|
28
30
|
Requires-Dist: pre-commit==4.6.0; extra == 'dev'
|
|
29
|
-
Requires-Dist: pygments==2.20.0; extra == 'dev'
|
|
30
31
|
Requires-Dist: pytest-cov==7.1.0; extra == 'dev'
|
|
31
32
|
Requires-Dist: pytest-order==1.4.0; extra == 'dev'
|
|
32
33
|
Requires-Dist: pytest-sugar==1.1.1; extra == 'dev'
|
|
33
34
|
Requires-Dist: pytest-xdist==3.8.0; extra == 'dev'
|
|
34
35
|
Requires-Dist: pytest==9.0.3; extra == 'dev'
|
|
35
|
-
Requires-Dist: rich==15.0.0; extra == 'dev'
|
|
36
36
|
Requires-Dist: ruff==0.15.14; extra == 'dev'
|
|
37
37
|
Requires-Dist: ty==0.0.39; extra == 'dev'
|
|
38
38
|
Requires-Dist: uv==0.11.16; extra == 'dev'
|
|
@@ -4,12 +4,14 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pyVHDLModelTreesitter"
|
|
7
|
-
version = "0.5.
|
|
7
|
+
version = "0.5.2"
|
|
8
8
|
description = "An implementation of pyVHDLModel using treesitter"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
11
11
|
dependencies = [
|
|
12
|
-
"pyVHDLModel >= 0.
|
|
12
|
+
"pyVHDLModel >= 0.34.0",
|
|
13
|
+
"rich >= 11.0.0",
|
|
14
|
+
"pygments >= 2.20.0", # forced to avoid CVE
|
|
13
15
|
"tree-sitter >= 0.23.0",
|
|
14
16
|
"tree-sitter-vhdl >= 1.2.5",
|
|
15
17
|
]
|
|
@@ -42,8 +44,6 @@ dev = [
|
|
|
42
44
|
"pytest-order == 1.4.0",
|
|
43
45
|
"pytest-sugar == 1.1.1",
|
|
44
46
|
"pytest-xdist == 3.8.0",
|
|
45
|
-
"rich == 15.0.0",
|
|
46
|
-
"pygments == 2.20.0", # forced to avoid CVE
|
|
47
47
|
"ruff == 0.15.14",
|
|
48
48
|
"ty == 0.0.39",
|
|
49
49
|
"uv == 0.11.16",
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Submodule that provides useful utilities for performing nice looking outputs.
|
|
3
|
+
|
|
4
|
+
WARNING: This submodule is a filthy hack. When called, `patch_module`
|
|
5
|
+
monkeypatches a generic `__rich_repr__` method onto every class in a given
|
|
6
|
+
module within `pyVHDLModel`.
|
|
7
|
+
|
|
8
|
+
This avoids having to write a `__rich_repr__` for every class. This is not a
|
|
9
|
+
good solution, but it was quick and works for what I care about.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
from __future__ import annotations
|
|
13
|
+
|
|
14
|
+
import importlib
|
|
15
|
+
import inspect
|
|
16
|
+
import pkgutil
|
|
17
|
+
from typing import TYPE_CHECKING
|
|
18
|
+
|
|
19
|
+
if TYPE_CHECKING:
|
|
20
|
+
from types import ModuleType
|
|
21
|
+
|
|
22
|
+
if TYPE_CHECKING:
|
|
23
|
+
from rich.repr import Result as RichReprResult
|
|
24
|
+
|
|
25
|
+
import pyVHDLModelTreesitter
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def __rich_repr__(obj: object) -> RichReprResult: # noqa: N807
|
|
29
|
+
"""
|
|
30
|
+
Return a rich compatible repr for an arbitrary object.
|
|
31
|
+
|
|
32
|
+
WARNING: `obj` must define `__allSlots__` or `__dict__`.
|
|
33
|
+
""" # noqa: DOC402
|
|
34
|
+
for attr in (
|
|
35
|
+
getattr(obj, "__allSlots__", [])
|
|
36
|
+
if hasattr(obj, "__allSlots__")
|
|
37
|
+
else obj.__dict__
|
|
38
|
+
):
|
|
39
|
+
if attr in {
|
|
40
|
+
"_documents", # this duplicates data in the `_libraries` field
|
|
41
|
+
"_namespace", # this isn't printed
|
|
42
|
+
"_parent", # this duplicates the parent
|
|
43
|
+
"_treesitter_node", # this doesn't provide useful info
|
|
44
|
+
} or attr.endswith(("Graph", "Vertex")): # these are from the dependency graph
|
|
45
|
+
continue
|
|
46
|
+
yield attr, getattr(obj, attr)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def patch_module(
|
|
50
|
+
*,
|
|
51
|
+
module: ModuleType = pyVHDLModelTreesitter,
|
|
52
|
+
top: bool = True,
|
|
53
|
+
) -> None:
|
|
54
|
+
"""Inject a `__rich_repr__` into every class defined in a given module."""
|
|
55
|
+
# Inject into all classes defined in this module
|
|
56
|
+
for _, obj in inspect.getmembers(module):
|
|
57
|
+
if (
|
|
58
|
+
inspect.isclass(obj)
|
|
59
|
+
and obj.__module__ == module.__name__
|
|
60
|
+
and not hasattr(obj, "__rich_repr__")
|
|
61
|
+
):
|
|
62
|
+
obj.__rich_repr__ = __rich_repr__
|
|
63
|
+
# Inject into all submodules of this module
|
|
64
|
+
if top and hasattr(module, "__path__"):
|
|
65
|
+
for _, name, _ in pkgutil.walk_packages(pyVHDLModelTreesitter.__path__):
|
|
66
|
+
full_name = f"{pyVHDLModelTreesitter.__name__}.{name}"
|
|
67
|
+
submodule = importlib.import_module(full_name)
|
|
68
|
+
patch_module(module=submodule, top=False)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Association.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Base.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Concurrent.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/DesignUnit.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Expression.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Interface.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Name.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Object.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/Symbol.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/_Design.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/_Document.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/_Library.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/__init__.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/_errors.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/_parse.py
RENAMED
|
File without changes
|
{pyvhdlmodeltreesitter-0.5.1 → pyvhdlmodeltreesitter-0.5.2}/src/pyVHDLModelTreesitter/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|