aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Lehmann <Patrick.Lehmann@plc2.de>2021-12-12 14:35:51 +0100
committerPatrick Lehmann <Patrick.Lehmann@plc2.de>2021-12-12 14:50:05 +0100
commit03836b00aeddca2fd73f078d7850dc58be632466 (patch)
treec58ec03330d2bddd1c55cd81e3bfc81016139b3b
parentf7b6325cb2b4ba5f722b5dceb3b36737a94fba47 (diff)
downloadghdl-03836b00aeddca2fd73f078d7850dc58be632466.tar.gz
ghdl-03836b00aeddca2fd73f078d7850dc58be632466.tar.bz2
ghdl-03836b00aeddca2fd73f078d7850dc58be632466.zip
Changed export decorator from pydecor to pyTooling.Decorators
-rwxr-xr-xpyGHDL/cli/dom.py9
-rw-r--r--pyGHDL/cli/lsp.py7
-rw-r--r--pyGHDL/dom/Aggregates.py2
-rw-r--r--pyGHDL/dom/Attribute.py2
-rw-r--r--pyGHDL/dom/Concurrent.py2
-rw-r--r--pyGHDL/dom/DesignUnit.py2
-rw-r--r--pyGHDL/dom/Expression.py2
-rw-r--r--pyGHDL/dom/InterfaceItem.py2
-rw-r--r--pyGHDL/dom/Literal.py2
-rw-r--r--pyGHDL/dom/Misc.py2
-rw-r--r--pyGHDL/dom/Names.py2
-rw-r--r--pyGHDL/dom/NonStandard.py2
-rw-r--r--pyGHDL/dom/Object.py2
-rw-r--r--pyGHDL/dom/PSL.py2
-rw-r--r--pyGHDL/dom/Range.py2
-rw-r--r--pyGHDL/dom/Sequential.py2
-rw-r--r--pyGHDL/dom/Subprogram.py2
-rw-r--r--pyGHDL/dom/Symbol.py2
-rw-r--r--pyGHDL/dom/Type.py2
-rw-r--r--pyGHDL/dom/_Translate.py2
-rw-r--r--pyGHDL/dom/_Utils.py2
-rw-r--r--pyGHDL/dom/__init__.py2
-rw-r--r--pyGHDL/dom/formatting/prettyprint.py2
-rw-r--r--pyGHDL/libghdl/__init__.py10
-rw-r--r--pyGHDL/libghdl/_decorator.py2
-rw-r--r--pyGHDL/libghdl/_types.py2
-rw-r--r--pyGHDL/libghdl/errorout.py2
-rw-r--r--pyGHDL/libghdl/errorout_console.py2
-rw-r--r--pyGHDL/libghdl/errorout_memory.py2
-rw-r--r--pyGHDL/libghdl/files_map.py2
-rw-r--r--pyGHDL/libghdl/files_map_editor.py2
-rw-r--r--pyGHDL/libghdl/libraries.py2
-rw-r--r--pyGHDL/libghdl/name_table.py2
-rw-r--r--pyGHDL/libghdl/requirements.txt2
-rw-r--r--pyGHDL/libghdl/std_names.py2
-rw-r--r--pyGHDL/libghdl/str_table.py2
-rw-r--r--pyGHDL/libghdl/utils.py2
-rw-r--r--pyGHDL/libghdl/version.py1
-rw-r--r--pyGHDL/libghdl/vhdl/elocations.py2
-rw-r--r--pyGHDL/libghdl/vhdl/flists.py2
-rw-r--r--pyGHDL/libghdl/vhdl/formatters.py2
-rw-r--r--pyGHDL/libghdl/vhdl/lists.py2
-rw-r--r--pyGHDL/libghdl/vhdl/nodes.py2
-rw-r--r--pyGHDL/libghdl/vhdl/nodes_meta.py2
-rw-r--r--pyGHDL/libghdl/vhdl/nodes_utils.py2
-rw-r--r--pyGHDL/libghdl/vhdl/parse.py2
-rw-r--r--pyGHDL/libghdl/vhdl/scanner.py2
-rw-r--r--pyGHDL/libghdl/vhdl/sem.py2
-rw-r--r--pyGHDL/libghdl/vhdl/sem_lib.py2
-rw-r--r--pyGHDL/libghdl/vhdl/tokens.py2
-rw-r--r--pyGHDL/libghdl/vhdl/utils.py2
-rwxr-xr-xscripts/pnodespy.py2
52 files changed, 61 insertions, 62 deletions
diff --git a/pyGHDL/cli/dom.py b/pyGHDL/cli/dom.py
index 99f59c277..f1f860226 100755
--- a/pyGHDL/cli/dom.py
+++ b/pyGHDL/cli/dom.py
@@ -40,8 +40,9 @@ from textwrap import wrap, dedent
from pyGHDL.dom import DOMException
from pyGHDL.libghdl import LibGHDLException
-from pydecor import export
-from pyMetaClasses import Singleton
+from pyTooling.Decorators import export
+from pyTooling.MetaClasses import Singleton
+from pyTooling.TerminalUI import LineTerminal, Severity
from pyAttributes import Attribute
from pyAttributes.ArgParseAttributes import (
ArgParseMixin,
@@ -51,7 +52,6 @@ from pyAttributes.ArgParseAttributes import (
ArgumentAttribute,
SwitchArgumentAttribute,
)
-from pyTerminalUI import LineTerminal, Severity
from pyGHDL import GHDLBaseException
from pyGHDL.dom.NonStandard import Design, Document
@@ -64,8 +64,7 @@ __email__ = ""
__version__ = "0.0.0"
__status__ = "Alpha"
__license__ = ""
-__all__ = []
-__api__ = __all__
+
class SourceAttribute(Attribute):
diff --git a/pyGHDL/cli/lsp.py b/pyGHDL/cli/lsp.py
index fd9a8834a..694988153 100644
--- a/pyGHDL/cli/lsp.py
+++ b/pyGHDL/cli/lsp.py
@@ -48,10 +48,11 @@ from os import environ as os_environ, getcwd as os_getcwd
import os
from pathlib import Path
-from pydecor import export
+from pyTooling.Decorators import export
+from pyGHDL import __version__ as ghdlVersion
import pyGHDL.libghdl as libghdl
-from pyGHDL.libghdl import version, errorout_console
+from pyGHDL.libghdl import errorout_console
from pyGHDL.lsp import LSPConnTrace
from pyGHDL.lsp.lsp import LSPConn, LanguageProtocolServer
from pyGHDL.lsp.vhdl_ls import VhdlLanguageServer
@@ -85,7 +86,7 @@ def _generateCLIParser() -> ArgumentParser:
parser = ArgumentParser(
description="VHDL Language Protocol Server. Find info about clients in `ghdl/ghdl-language-server <https://github.com/ghdl/ghdl-language-server>`__."
)
- parser.add_argument("--version", "-V", action="version", version="%(prog)s " + version.__version__)
+ parser.add_argument("--version", "-V", action="version", version="%(prog)s " + ghdlVersion)
parser.add_argument("--verbose", "-v", action="count", default=0, help="Show debug output")
parser.add_argument("--log-file", help="Redirect logs to the given file instead of stderr")
parser.add_argument(
diff --git a/pyGHDL/dom/Aggregates.py b/pyGHDL/dom/Aggregates.py
index dfaee9a2d..02e071cb5 100644
--- a/pyGHDL/dom/Aggregates.py
+++ b/pyGHDL/dom/Aggregates.py
@@ -39,7 +39,7 @@ This module contains all DOM classes for VHDL's design units (:class:`context <E
"""
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import (
SimpleAggregateElement as VHDLModel_SimpleAggregateElement,
diff --git a/pyGHDL/dom/Attribute.py b/pyGHDL/dom/Attribute.py
index 97a01f65a..3b3f3b40e 100644
--- a/pyGHDL/dom/Attribute.py
+++ b/pyGHDL/dom/Attribute.py
@@ -32,7 +32,7 @@
# ============================================================================
from typing import List
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import (
Attribute as VHDLModel_Attribute,
diff --git a/pyGHDL/dom/Concurrent.py b/pyGHDL/dom/Concurrent.py
index 33973a455..f1f545d53 100644
--- a/pyGHDL/dom/Concurrent.py
+++ b/pyGHDL/dom/Concurrent.py
@@ -32,7 +32,7 @@
# ============================================================================
from typing import Iterable
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.dom.Range import Range
from pyVHDLModel.SyntaxModel import (
diff --git a/pyGHDL/dom/DesignUnit.py b/pyGHDL/dom/DesignUnit.py
index ae53a3476..3c0d2ab0c 100644
--- a/pyGHDL/dom/DesignUnit.py
+++ b/pyGHDL/dom/DesignUnit.py
@@ -41,7 +41,7 @@ This module contains all DOM classes for VHDL's design units (:class:`context <E
"""
from typing import Iterable
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel import ContextUnion, EntityOrSymbol
from pyVHDLModel.SyntaxModel import (
diff --git a/pyGHDL/dom/Expression.py b/pyGHDL/dom/Expression.py
index f3c7f56c6..f68ab0d51 100644
--- a/pyGHDL/dom/Expression.py
+++ b/pyGHDL/dom/Expression.py
@@ -32,7 +32,7 @@
# ============================================================================
from typing import List, Union
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import (
UnaryExpression as VHDLModel_UnaryExpression,
diff --git a/pyGHDL/dom/InterfaceItem.py b/pyGHDL/dom/InterfaceItem.py
index 4bc65cf95..66a8fe37b 100644
--- a/pyGHDL/dom/InterfaceItem.py
+++ b/pyGHDL/dom/InterfaceItem.py
@@ -32,7 +32,7 @@
# ============================================================================
from typing import List
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import (
GenericConstantInterfaceItem as VHDLModel_GenericConstantInterfaceItem,
diff --git a/pyGHDL/dom/Literal.py b/pyGHDL/dom/Literal.py
index 54bcc2fc2..c054273c4 100644
--- a/pyGHDL/dom/Literal.py
+++ b/pyGHDL/dom/Literal.py
@@ -30,7 +30,7 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ============================================================================
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import (
NullLiteral as VHDLModel_NullLiteral,
diff --git a/pyGHDL/dom/Misc.py b/pyGHDL/dom/Misc.py
index ddd31040a..d6fc08524 100644
--- a/pyGHDL/dom/Misc.py
+++ b/pyGHDL/dom/Misc.py
@@ -35,7 +35,7 @@
.. todo::
Add a module documentation.
"""
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import (
Alias as VHDLModel_Alias,
diff --git a/pyGHDL/dom/Names.py b/pyGHDL/dom/Names.py
index acb9cd1d6..d601739db 100644
--- a/pyGHDL/dom/Names.py
+++ b/pyGHDL/dom/Names.py
@@ -32,7 +32,7 @@
# ============================================================================
from typing import List
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import (
SimpleName as VHDLModel_SimpleName,
diff --git a/pyGHDL/dom/NonStandard.py b/pyGHDL/dom/NonStandard.py
index b0242e260..f6f451325 100644
--- a/pyGHDL/dom/NonStandard.py
+++ b/pyGHDL/dom/NonStandard.py
@@ -40,7 +40,7 @@ import time
from pathlib import Path
from typing import Any
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.dom.Names import SimpleName
from pyVHDLModel.SyntaxModel import (
diff --git a/pyGHDL/dom/Object.py b/pyGHDL/dom/Object.py
index 351bcddf0..6d3472a6f 100644
--- a/pyGHDL/dom/Object.py
+++ b/pyGHDL/dom/Object.py
@@ -32,7 +32,7 @@
# ============================================================================
from typing import Union, List
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import (
Constant as VHDLModel_Constant,
diff --git a/pyGHDL/dom/PSL.py b/pyGHDL/dom/PSL.py
index 95ac72082..0217e0639 100644
--- a/pyGHDL/dom/PSL.py
+++ b/pyGHDL/dom/PSL.py
@@ -39,7 +39,7 @@ This module contains all DOM classes for VHDL's design units (:class:`context <E
"""
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.PSLModel import (
VerificationUnit as VHDLModel_VerificationUnit,
diff --git a/pyGHDL/dom/Range.py b/pyGHDL/dom/Range.py
index f5153e67d..c6f783139 100644
--- a/pyGHDL/dom/Range.py
+++ b/pyGHDL/dom/Range.py
@@ -30,7 +30,7 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ============================================================================
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import Range as VHDLModel_Range
diff --git a/pyGHDL/dom/Sequential.py b/pyGHDL/dom/Sequential.py
index 372939b28..35f7b0d4f 100644
--- a/pyGHDL/dom/Sequential.py
+++ b/pyGHDL/dom/Sequential.py
@@ -32,7 +32,7 @@
# ============================================================================
from typing import Iterable
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.dom.Concurrent import (
WaveformElement,
diff --git a/pyGHDL/dom/Subprogram.py b/pyGHDL/dom/Subprogram.py
index ac8916792..2e9c0116f 100644
--- a/pyGHDL/dom/Subprogram.py
+++ b/pyGHDL/dom/Subprogram.py
@@ -32,7 +32,7 @@
# ============================================================================
from typing import List
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import (
Function as VHDLModel_Function,
diff --git a/pyGHDL/dom/Symbol.py b/pyGHDL/dom/Symbol.py
index d290b3d70..c5ed39ba3 100644
--- a/pyGHDL/dom/Symbol.py
+++ b/pyGHDL/dom/Symbol.py
@@ -32,7 +32,7 @@
# ============================================================================
from typing import List, Iterator
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import (
EntitySymbol as VHDLModel_EntitySymbol,
diff --git a/pyGHDL/dom/Type.py b/pyGHDL/dom/Type.py
index 48cf50418..ba039852c 100644
--- a/pyGHDL/dom/Type.py
+++ b/pyGHDL/dom/Type.py
@@ -32,7 +32,7 @@
# ============================================================================
from typing import List, Union, Iterator, Tuple
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import (
AnonymousType as VHDLModel_AnonymousType,
diff --git a/pyGHDL/dom/_Translate.py b/pyGHDL/dom/_Translate.py
index fe66f2c98..ee1586e6b 100644
--- a/pyGHDL/dom/_Translate.py
+++ b/pyGHDL/dom/_Translate.py
@@ -32,7 +32,7 @@
# ============================================================================
from typing import List, Generator, Type
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.dom.Sequential import (
IfStatement,
diff --git a/pyGHDL/dom/_Utils.py b/pyGHDL/dom/_Utils.py
index c8a7a56ce..76dec9a06 100644
--- a/pyGHDL/dom/_Utils.py
+++ b/pyGHDL/dom/_Utils.py
@@ -30,7 +30,7 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ============================================================================
-from pydecor import export
+from pyTooling.Decorators import export
from pyVHDLModel.SyntaxModel import Mode
diff --git a/pyGHDL/dom/__init__.py b/pyGHDL/dom/__init__.py
index dc58c42d0..f5d38fa09 100644
--- a/pyGHDL/dom/__init__.py
+++ b/pyGHDL/dom/__init__.py
@@ -32,7 +32,7 @@
# ============================================================================
from pathlib import Path
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL import GHDLBaseException
from pyGHDL.libghdl import files_map, name_table
diff --git a/pyGHDL/dom/formatting/prettyprint.py b/pyGHDL/dom/formatting/prettyprint.py
index 4a28b9905..a72a32862 100644
--- a/pyGHDL/dom/formatting/prettyprint.py
+++ b/pyGHDL/dom/formatting/prettyprint.py
@@ -32,7 +32,7 @@
# ============================================================================
from typing import List, Union
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.dom.Concurrent import (
ConcurrentBlockStatement,
diff --git a/pyGHDL/libghdl/__init__.py b/pyGHDL/libghdl/__init__.py
index 04cc387d9..372f5968b 100644
--- a/pyGHDL/libghdl/__init__.py
+++ b/pyGHDL/libghdl/__init__.py
@@ -38,13 +38,13 @@ from pathlib import Path
from shutil import which
from typing import List, Optional
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL import GHDLBaseException
from pyGHDL.libghdl._types import Iir
# from pyGHDL.libghdl._decorator import BindToLibGHDL
-from pyGHDL.libghdl.version import __version__
+from pyGHDL import __version__ as ghdlVersion
Nullable = Optional
@@ -63,9 +63,9 @@ class LibGHDLException(GHDLBaseException):
def _get_libghdl_name() -> Path:
"""Get the name of the libghdl library (with version and extension)."""
- ver = __version__.replace("-", "_").replace(".", "_")
+ version = ghdlVersion.replace("-", "_").replace(".", "_")
ext = {"win32": "dll", "cygwin": "dll", "msys": "dll", "darwin": "dylib"}.get(sys_platform, "so")
- return Path("libghdl-{version}.{ext}".format(version=ver, ext=ext))
+ return Path(f"libghdl-{version}.{ext}")
def _check_libghdl_libdir(libdir: Path, basename: Path) -> Path:
@@ -140,7 +140,7 @@ def _get_libghdl_path():
pass
# Failed.
- raise Exception("Cannot find libghdl {}".format(basename))
+ raise Exception(f"Cannot find libghdl {basename}")
def _initialize():
diff --git a/pyGHDL/libghdl/_decorator.py b/pyGHDL/libghdl/_decorator.py
index 32a02930d..49694e8a3 100644
--- a/pyGHDL/libghdl/_decorator.py
+++ b/pyGHDL/libghdl/_decorator.py
@@ -46,7 +46,7 @@ from enum import IntEnum
from functools import wraps
from typing import Callable, List, Dict, Any, TypeVar
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl import libghdl, LibGHDLException
diff --git a/pyGHDL/libghdl/_types.py b/pyGHDL/libghdl/_types.py
index b3d4c92bb..a7247a0fd 100644
--- a/pyGHDL/libghdl/_types.py
+++ b/pyGHDL/libghdl/_types.py
@@ -31,7 +31,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# ============================================================================
from enum import IntEnum, unique
-from pydecor import export
+from pyTooling.Decorators import export
from ctypes import c_int32, c_uint32, c_int64, c_double, c_bool
from typing import TypeVar
diff --git a/pyGHDL/libghdl/errorout.py b/pyGHDL/libghdl/errorout.py
index 4cdcdee56..5aa8de1c8 100644
--- a/pyGHDL/libghdl/errorout.py
+++ b/pyGHDL/libghdl/errorout.py
@@ -2,7 +2,7 @@
# Call 'make' in 'src/vhdl' to regenerate:
#
from enum import IntEnum, unique
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/errorout_console.py b/pyGHDL/libghdl/errorout_console.py
index bb24079e1..826458a38 100644
--- a/pyGHDL/libghdl/errorout_console.py
+++ b/pyGHDL/libghdl/errorout_console.py
@@ -32,7 +32,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# ============================================================================
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/errorout_memory.py b/pyGHDL/libghdl/errorout_memory.py
index 3f85a03c9..bf60c53bb 100644
--- a/pyGHDL/libghdl/errorout_memory.py
+++ b/pyGHDL/libghdl/errorout_memory.py
@@ -34,7 +34,7 @@
from ctypes import c_int8, c_int32, c_char_p, Structure
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._types import ErrorIndex
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/files_map.py b/pyGHDL/libghdl/files_map.py
index 277a00706..8f8cdf02c 100644
--- a/pyGHDL/libghdl/files_map.py
+++ b/pyGHDL/libghdl/files_map.py
@@ -32,7 +32,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# ============================================================================
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._decorator import BindToLibGHDL
from pyGHDL.libghdl._types import NameId, SourceFileEntry, LocationType
diff --git a/pyGHDL/libghdl/files_map_editor.py b/pyGHDL/libghdl/files_map_editor.py
index 9afd46bdc..a67766c44 100644
--- a/pyGHDL/libghdl/files_map_editor.py
+++ b/pyGHDL/libghdl/files_map_editor.py
@@ -34,7 +34,7 @@
from ctypes import c_int32, c_char_p, c_bool, c_uint32
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl import libghdl
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/libraries.py b/pyGHDL/libghdl/libraries.py
index 06b5f044c..fe09fa920 100644
--- a/pyGHDL/libghdl/libraries.py
+++ b/pyGHDL/libghdl/libraries.py
@@ -34,7 +34,7 @@
from ctypes import c_int32
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl import libghdl
from pyGHDL.libghdl._types import (
diff --git a/pyGHDL/libghdl/name_table.py b/pyGHDL/libghdl/name_table.py
index 8718982af..b29775213 100644
--- a/pyGHDL/libghdl/name_table.py
+++ b/pyGHDL/libghdl/name_table.py
@@ -34,7 +34,7 @@
#
from ctypes import c_char, c_char_p
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._types import NameId
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/requirements.txt b/pyGHDL/libghdl/requirements.txt
index b0f362aea..538e15ba4 100644
--- a/pyGHDL/libghdl/requirements.txt
+++ b/pyGHDL/libghdl/requirements.txt
@@ -1 +1 @@
-pydecor>=2.0.1
+pyTooling>=1.5.1
diff --git a/pyGHDL/libghdl/std_names.py b/pyGHDL/libghdl/std_names.py
index 098e2b34e..e6339520f 100644
--- a/pyGHDL/libghdl/std_names.py
+++ b/pyGHDL/libghdl/std_names.py
@@ -1,7 +1,7 @@
# Auto generated Python source file from Ada sources
# Call 'make' in 'src/vhdl' to regenerate:
#
-from pydecor import export
+from pyTooling.Decorators import export
@export
diff --git a/pyGHDL/libghdl/str_table.py b/pyGHDL/libghdl/str_table.py
index f87e9db8b..a91268bb4 100644
--- a/pyGHDL/libghdl/str_table.py
+++ b/pyGHDL/libghdl/str_table.py
@@ -34,7 +34,7 @@
#
from ctypes import c_char_p
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._types import String8Id
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/utils.py b/pyGHDL/libghdl/utils.py
index 98e350e03..5fc62af91 100644
--- a/pyGHDL/libghdl/utils.py
+++ b/pyGHDL/libghdl/utils.py
@@ -34,7 +34,7 @@
from ctypes import byref
from typing import List, Any, Generator
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._decorator import EnumLookupTable
from pyGHDL.libghdl._types import NameId
diff --git a/pyGHDL/libghdl/version.py b/pyGHDL/libghdl/version.py
deleted file mode 100644
index eb436f1c7..000000000
--- a/pyGHDL/libghdl/version.py
+++ /dev/null
@@ -1 +0,0 @@
-__version__ = "2.0.0-dev"
diff --git a/pyGHDL/libghdl/vhdl/elocations.py b/pyGHDL/libghdl/vhdl/elocations.py
index dd3600ecf..e7282adb6 100644
--- a/pyGHDL/libghdl/vhdl/elocations.py
+++ b/pyGHDL/libghdl/vhdl/elocations.py
@@ -1,7 +1,7 @@
# Auto generated Python source file from Ada sources
# Call 'make' in 'src/vhdl' to regenerate:
#
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl import libghdl
diff --git a/pyGHDL/libghdl/vhdl/flists.py b/pyGHDL/libghdl/vhdl/flists.py
index 9d5b7fdb7..c62296307 100644
--- a/pyGHDL/libghdl/vhdl/flists.py
+++ b/pyGHDL/libghdl/vhdl/flists.py
@@ -33,7 +33,7 @@
# ============================================================================
from ctypes import c_int32
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/vhdl/formatters.py b/pyGHDL/libghdl/vhdl/formatters.py
index 72b72010e..90022320e 100644
--- a/pyGHDL/libghdl/vhdl/formatters.py
+++ b/pyGHDL/libghdl/vhdl/formatters.py
@@ -34,7 +34,7 @@
from ctypes import c_int32, c_char_p
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl import libghdl
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/vhdl/lists.py b/pyGHDL/libghdl/vhdl/lists.py
index 6f8370a09..cc37e2dd8 100644
--- a/pyGHDL/libghdl/vhdl/lists.py
+++ b/pyGHDL/libghdl/vhdl/lists.py
@@ -34,7 +34,7 @@
from ctypes import c_int32, c_bool, POINTER, Structure
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl import libghdl
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/vhdl/nodes.py b/pyGHDL/libghdl/vhdl/nodes.py
index 0ed86c49b..45b6d1ee6 100644
--- a/pyGHDL/libghdl/vhdl/nodes.py
+++ b/pyGHDL/libghdl/vhdl/nodes.py
@@ -2,7 +2,7 @@
# Call 'make' in 'src/vhdl' to regenerate:
#
from enum import IntEnum, unique
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/vhdl/nodes_meta.py b/pyGHDL/libghdl/vhdl/nodes_meta.py
index 726d885be..4602d0ac2 100644
--- a/pyGHDL/libghdl/vhdl/nodes_meta.py
+++ b/pyGHDL/libghdl/vhdl/nodes_meta.py
@@ -2,7 +2,7 @@
# Call 'make' in 'src/vhdl' to regenerate:
#
from enum import IntEnum, unique
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/vhdl/nodes_utils.py b/pyGHDL/libghdl/vhdl/nodes_utils.py
index 31d495d85..2871fab62 100644
--- a/pyGHDL/libghdl/vhdl/nodes_utils.py
+++ b/pyGHDL/libghdl/vhdl/nodes_utils.py
@@ -32,7 +32,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# ============================================================================
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._types import Iir
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/vhdl/parse.py b/pyGHDL/libghdl/vhdl/parse.py
index a61cdfef7..7c59d0df7 100644
--- a/pyGHDL/libghdl/vhdl/parse.py
+++ b/pyGHDL/libghdl/vhdl/parse.py
@@ -34,7 +34,7 @@
from ctypes import c_bool
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl import libghdl
from pyGHDL.libghdl._types import Iir
diff --git a/pyGHDL/libghdl/vhdl/scanner.py b/pyGHDL/libghdl/vhdl/scanner.py
index f9db890a0..da6b63520 100644
--- a/pyGHDL/libghdl/vhdl/scanner.py
+++ b/pyGHDL/libghdl/vhdl/scanner.py
@@ -34,7 +34,7 @@
from ctypes import c_int, c_bool
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl import libghdl
from pyGHDL.libghdl._types import SourceFileEntry, NameId
diff --git a/pyGHDL/libghdl/vhdl/sem.py b/pyGHDL/libghdl/vhdl/sem.py
index b1a2fee5f..7556d6f53 100644
--- a/pyGHDL/libghdl/vhdl/sem.py
+++ b/pyGHDL/libghdl/vhdl/sem.py
@@ -32,7 +32,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# ============================================================================
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._types import Iir_Design_Unit
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/vhdl/sem_lib.py b/pyGHDL/libghdl/vhdl/sem_lib.py
index 0126c1ef5..41d95e2e5 100644
--- a/pyGHDL/libghdl/vhdl/sem_lib.py
+++ b/pyGHDL/libghdl/vhdl/sem_lib.py
@@ -32,7 +32,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# ============================================================================
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._types import SourceFileEntry, Iir_Design_File, Iir_Design_Unit
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/pyGHDL/libghdl/vhdl/tokens.py b/pyGHDL/libghdl/vhdl/tokens.py
index 9e347eff8..10c14fc40 100644
--- a/pyGHDL/libghdl/vhdl/tokens.py
+++ b/pyGHDL/libghdl/vhdl/tokens.py
@@ -2,7 +2,7 @@
# Call 'make' in 'src/vhdl' to regenerate:
#
from enum import IntEnum, unique
-from pydecor import export
+from pyTooling.Decorators import export
@export
diff --git a/pyGHDL/libghdl/vhdl/utils.py b/pyGHDL/libghdl/vhdl/utils.py
index c563ec9bd..3a82f45c0 100644
--- a/pyGHDL/libghdl/vhdl/utils.py
+++ b/pyGHDL/libghdl/vhdl/utils.py
@@ -32,7 +32,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# ============================================================================
-from pydecor import export
+from pyTooling.Decorators import export
from pyGHDL.libghdl._types import Iir, NameId
from pyGHDL.libghdl._decorator import BindToLibGHDL
diff --git a/scripts/pnodespy.py b/scripts/pnodespy.py
index f1f637ea7..90c827de9 100755
--- a/scripts/pnodespy.py
+++ b/scripts/pnodespy.py
@@ -35,7 +35,7 @@ def print_file_header(includeIntEnumUnique=True, includeBindToLibGHDL=True):
# Auto generated Python source file from Ada sources
# Call 'make' in 'src/vhdl' to regenerate:
#
- """) + "{sysImports}from pydecor import export\n{moduleImports}".format(
+ """) + "{sysImports}from pyTooling.Decorators import export\n{moduleImports}".format(
sysImports = "from enum import IntEnum, unique\n" if includeIntEnumUnique else "",
moduleImports = "\nfrom pyGHDL.libghdl._decorator import BindToLibGHDL\n" if includeBindToLibGHDL else "",
)