pyEDAA.ProjectModel 0.6.4__tar.gz → 0.7.0__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.
Files changed (29) hide show
  1. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/PKG-INFO +42 -40
  2. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/Altera/Quartus.py +2 -1
  3. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/Altera/__init__.py +2 -1
  4. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/Attributes.py +2 -1
  5. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/GHDL.py +2 -1
  6. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/Intel/QuartusPrime.py +2 -1
  7. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/Intel/__init__.py +2 -1
  8. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/MentorGraphics/ModelSim.py +2 -1
  9. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/MentorGraphics/QuestaSim.py +2 -1
  10. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/MentorGraphics/__init__.py +2 -1
  11. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/OSVVM.py +2 -1
  12. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/Verilog.py +2 -1
  13. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/Xilinx/ISE.py +2 -1
  14. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/Xilinx/Vivado.py +8 -9
  15. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/Xilinx/__init__.py +2 -1
  16. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/__init__.py +16 -19
  17. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA.ProjectModel.egg-info/PKG-INFO +42 -40
  18. pyedaa_projectmodel-0.7.0/pyEDAA.ProjectModel.egg-info/requires.txt +58 -0
  19. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyproject.toml +4 -3
  20. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/setup.py +4 -3
  21. pyedaa_projectmodel-0.6.4/pyEDAA.ProjectModel.egg-info/requires.txt +0 -56
  22. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/LICENSE.md +0 -0
  23. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/README.md +0 -0
  24. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/VHDL.py +0 -0
  25. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA/ProjectModel/py.typed +0 -0
  26. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA.ProjectModel.egg-info/SOURCES.txt +0 -0
  27. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA.ProjectModel.egg-info/dependency_links.txt +0 -0
  28. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/pyEDAA.ProjectModel.egg-info/top_level.txt +0 -0
  29. {pyedaa_projectmodel-0.6.4 → pyedaa_projectmodel-0.7.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyEDAA.ProjectModel
3
- Version: 0.6.4
3
+ Version: 0.7.0
4
4
  Summary: An abstract model of EDA tool projects.
5
5
  Home-page: https://GitHub.com/edaa-org/pyEDAA.ProjectModel
6
6
  Author: Patrick Lehmann
@@ -14,68 +14,70 @@ Classifier: Operating System :: OS Independent
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: Topic :: Utilities
16
16
  Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
17
- Classifier: License :: OSI Approved :: Apache Software License
18
17
  Classifier: Programming Language :: Python :: 3 :: Only
19
18
  Classifier: Programming Language :: Python :: 3.11
20
19
  Classifier: Programming Language :: Python :: 3.12
21
20
  Classifier: Programming Language :: Python :: 3.13
22
21
  Classifier: Programming Language :: Python :: 3.14
22
+ Classifier: Programming Language :: Python :: 3.15
23
23
  Classifier: Development Status :: 4 - Beta
24
24
  Requires-Python: >=3.11
25
25
  Description-Content-Type: text/markdown
26
26
  License-File: LICENSE.md
27
- Requires-Dist: pySVModel~=0.5.11
28
- Requires-Dist: pyVHDLModel~=0.37.0
29
- Requires-Dist: pySystemRDLModel~=0.3.10
30
- Requires-Dist: pyTooling~=8.15
27
+ Requires-Dist: pySystemRDLModel~=0.4.0
28
+ Requires-Dist: pyVHDLModel~=0.40.0
29
+ Requires-Dist: pyTooling<11.0,>=10.1.1
30
+ Requires-Dist: pySVModel~=0.6.0
31
31
  Provides-Extra: doc
32
- Requires-Dist: pyVHDLModel~=0.37.0; extra == "doc"
33
- Requires-Dist: autoapi>=2.0.1; extra == "doc"
34
- Requires-Dist: sphinx_autodoc_typehints~=3.12; extra == "doc"
35
- Requires-Dist: pySVModel~=0.5.11; extra == "doc"
32
+ Requires-Dist: pyTooling.Sphinx[reports]~=1.0; extra == "doc"
36
33
  Requires-Dist: docutils_stubs~=0.0.22; extra == "doc"
37
- Requires-Dist: sphinx_reports~=0.11.0; extra == "doc"
38
- Requires-Dist: sphinxcontrib-mermaid~=2.0; extra == "doc"
39
- Requires-Dist: pySystemRDLModel~=0.3.10; extra == "doc"
40
- Requires-Dist: sphinx~=9.1; extra == "doc"
34
+ Requires-Dist: pyVHDLModel~=0.40.0; extra == "doc"
35
+ Requires-Dist: sphinx~=9.2; extra == "doc"
41
36
  Requires-Dist: sphinx_design~=0.7.0; extra == "doc"
42
- Requires-Dist: sphinx_rtd_theme~=3.1; extra == "doc"
37
+ Requires-Dist: pySVModel~=0.6.0; extra == "doc"
38
+ Requires-Dist: pySystemRDLModel~=0.4.0; extra == "doc"
43
39
  Requires-Dist: sphinx-copybutton>=0.5.2; extra == "doc"
44
- Requires-Dist: pyTooling~=8.15; extra == "doc"
40
+ Requires-Dist: sphinx_rtd_theme~=3.1; extra == "doc"
41
+ Requires-Dist: sphinxcontrib-mermaid~=2.1; extra == "doc"
42
+ Requires-Dist: autoapi>=2.0.1; extra == "doc"
43
+ Requires-Dist: sphinx_autodoc_typehints~=3.17; extra == "doc"
44
+ Requires-Dist: pyTooling<11.0,>=10.1.1; extra == "doc"
45
45
  Provides-Extra: test
46
- Requires-Dist: mypy[reports]~=2.1; extra == "test"
47
- Requires-Dist: pyVHDLModel~=0.37.0; extra == "test"
46
+ Requires-Dist: pyVHDLModel~=0.40.0; extra == "test"
48
47
  Requires-Dist: typing_extensions~=4.16; extra == "test"
49
- Requires-Dist: pytest-cov~=7.1; extra == "test"
50
- Requires-Dist: pySVModel~=0.5.11; extra == "test"
51
- Requires-Dist: Coverage~=7.15; extra == "test"
48
+ Requires-Dist: pySVModel~=0.6.0; extra == "test"
49
+ Requires-Dist: pySystemRDLModel~=0.4.0; extra == "test"
52
50
  Requires-Dist: pytest~=9.1; extra == "test"
53
- Requires-Dist: pySystemRDLModel~=0.3.10; extra == "test"
54
- Requires-Dist: lxml<7.0,>=6.1; extra == "test"
55
- Requires-Dist: pyTooling~=8.15; extra == "test"
51
+ Requires-Dist: mypy[reports]~=2.4; extra == "test"
52
+ Requires-Dist: pytest-cov~=7.1; extra == "test"
53
+ Requires-Dist: lxml<7.0,>=6.1.3; extra == "test"
54
+ Requires-Dist: Coverage~=7.17; extra == "test"
55
+ Requires-Dist: pytest-xdist~=3.8; extra == "test"
56
+ Requires-Dist: pyTooling<11.0,>=10.1.1; extra == "test"
56
57
  Provides-Extra: osvvm
57
58
  Requires-Dist: pyEDAA.OSVVM~=0.6; extra == "osvvm"
58
59
  Provides-Extra: all
59
- Requires-Dist: pyEDAA.OSVVM~=0.6; extra == "all"
60
- Requires-Dist: pyVHDLModel~=0.37.0; extra == "all"
61
- Requires-Dist: pytest-cov~=7.1; extra == "all"
62
- Requires-Dist: sphinx_rtd_theme~=3.1; extra == "all"
63
- Requires-Dist: sphinx_autodoc_typehints~=3.12; extra == "all"
64
- Requires-Dist: pySVModel~=0.5.11; extra == "all"
65
60
  Requires-Dist: docutils_stubs~=0.0.22; extra == "all"
66
- Requires-Dist: sphinx_reports~=0.11.0; extra == "all"
67
- Requires-Dist: lxml<7.0,>=6.1; extra == "all"
68
- Requires-Dist: mypy[reports]~=2.1; extra == "all"
61
+ Requires-Dist: pyVHDLModel~=0.40.0; extra == "all"
69
62
  Requires-Dist: typing_extensions~=4.16; extra == "all"
70
- Requires-Dist: Coverage~=7.15; extra == "all"
71
- Requires-Dist: sphinx~=9.1; extra == "all"
72
- Requires-Dist: sphinx_design~=0.7.0; extra == "all"
73
- Requires-Dist: sphinxcontrib-mermaid~=2.0; extra == "all"
74
- Requires-Dist: pyTooling~=8.15; extra == "all"
75
- Requires-Dist: autoapi>=2.0.1; extra == "all"
63
+ Requires-Dist: sphinx_rtd_theme~=3.1; extra == "all"
64
+ Requires-Dist: Coverage~=7.17; extra == "all"
65
+ Requires-Dist: pyTooling.Sphinx[reports]~=1.0; extra == "all"
66
+ Requires-Dist: sphinx~=9.2; extra == "all"
67
+ Requires-Dist: pySVModel~=0.6.0; extra == "all"
68
+ Requires-Dist: pySystemRDLModel~=0.4.0; extra == "all"
76
69
  Requires-Dist: pytest~=9.1; extra == "all"
77
- Requires-Dist: pySystemRDLModel~=0.3.10; extra == "all"
70
+ Requires-Dist: mypy[reports]~=2.4; extra == "all"
71
+ Requires-Dist: sphinxcontrib-mermaid~=2.1; extra == "all"
72
+ Requires-Dist: autoapi>=2.0.1; extra == "all"
73
+ Requires-Dist: pytest-xdist~=3.8; extra == "all"
74
+ Requires-Dist: pyEDAA.OSVVM~=0.6; extra == "all"
75
+ Requires-Dist: sphinx_autodoc_typehints~=3.17; extra == "all"
76
+ Requires-Dist: pyTooling<11.0,>=10.1.1; extra == "all"
77
+ Requires-Dist: sphinx_design~=0.7.0; extra == "all"
78
78
  Requires-Dist: sphinx-copybutton>=0.5.2; extra == "all"
79
+ Requires-Dist: pytest-cov~=7.1; extra == "all"
80
+ Requires-Dist: lxml<7.0,>=6.1.3; extra == "all"
79
81
  Dynamic: author
80
82
  Dynamic: author-email
81
83
  Dynamic: classifier
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -29,19 +30,17 @@
29
30
  # ==================================================================================================================== #
30
31
  #
31
32
  """Specific file types and attributes for Xilinx Vivado."""
32
- from pathlib import Path
33
- from typing import Iterable, Optional as Nullable
34
- from xml.dom import minidom, Node
33
+ from pathlib import Path
34
+ from typing import Iterable, Optional as Nullable
35
+ from xml.dom import minidom, Node
35
36
 
36
37
  from pyTooling.Decorators import export
37
38
  from pyTooling.MetaClasses import ExtendedType
38
39
  from pyVHDLModel import VHDLVersion
39
40
 
40
- from pyEDAA.ProjectModel import ProjectFile, XMLFile, XMLContent, SDCContent, Project, FileSet, Attribute, Design
41
- from pyEDAA.ProjectModel import File as Model_File
42
- from pyEDAA.ProjectModel import ConstraintFile as Model_ConstraintFile
43
- from pyEDAA.ProjectModel import VerilogSourceFile as Model_VerilogSourceFile
44
- from pyEDAA.ProjectModel import VHDLSourceFile as Model_VHDLSourceFile
41
+ from pyEDAA.ProjectModel import ProjectFile, XMLFile, XMLContent, SDCContent, Project, FileSet, Attribute, Design, \
42
+ File as Model_File, ConstraintFile as Model_ConstraintFile, \
43
+ VerilogSourceFile as Model_VerilogSourceFile, VHDLSourceFile as Model_VHDLSourceFile
45
44
 
46
45
 
47
46
  @export
@@ -11,7 +11,8 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
15
16
  # #
16
17
  # Licensed under the Apache License, Version 2.0 (the "License"); #
17
18
  # you may not use this file except in compliance with the License. #
@@ -11,8 +11,9 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
15
- # Copyright 2014-2016 Technische Universität Dresden - Germany, Chair of VLSI-Design, Diagnostics and Architecture #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
16
+ # Copyright 2014-2016 Technische Universitaet Dresden - Germany, Chair of VLSI-Design, Diagnostics and Architecture #
16
17
  # #
17
18
  # Licensed under the Apache License, Version 2.0 (the "License"); #
18
19
  # you may not use this file except in compliance with the License. #
@@ -32,18 +33,18 @@
32
33
  """An abstract model of EDA tool projects."""
33
34
  __author__ = "Patrick Lehmann"
34
35
  __email__ = "Paebbels@gmail.com"
35
- __copyright__ = "2014-2026, Patrick Lehmann, Unai Martinez-Corral"
36
+ __copyright__ = "2021-2026, Electronic Design Automation Abstraction (EDA²)"
36
37
  __license__ = "Apache License, Version 2.0"
37
- __version__ = "0.6.4"
38
+ __version__ = "0.7.0"
38
39
  __keywords__ = ["eda project", "model", "abstract", "xilinx", "vivado", "osvvm", "file set", "file group", "test bench", "test harness"]
39
40
  __project_url__ = "https://github.com/edaa-org/pyEDAA.ProjectModel"
40
41
  __documentation_url__ = "https://edaa-org.github.io/pyEDAA.ProjectModel"
41
42
  __issue_tracker_url__ = "https://GitHub.com/edaa-org/pyEDAA.ProjectModel/issues"
42
43
 
43
- from os.path import relpath as path_relpath
44
- from pathlib import Path as pathlib_Path
45
- from sys import version_info
46
- from typing import Dict, Union, Optional as Nullable, List, Iterable, Generator, Tuple, Any as typing_Any, Type, Set, Self
44
+ from os.path import relpath as path_relpath
45
+ from pathlib import Path as pathlib_Path
46
+ from typing import Dict, Union, Optional as Nullable, List, Iterable, Generator, Tuple, \
47
+ Any as typing_Any, Type, Set, Self
47
48
 
48
49
  from pyTooling.Common import getFullyQualifiedName
49
50
  from pyTooling.Decorators import export
@@ -434,16 +435,15 @@ class VHDLSourceFile(HDLSourceFile, HumanReadableContent):
434
435
  except KeyError as ex:
435
436
  raise Exception(f"VHDL library '{vhdlLibrary}' not found in default design '{project.DefaultDesign.Name}'.") from ex
436
437
  else:
437
- raise Exception(f"Can't lookup VHDL library because neither 'project' nor 'design' is given as a parameter.")
438
+ raise Exception("Can't lookup VHDL library because neither 'project' nor 'design' is given as a parameter.")
438
439
  elif isinstance(vhdlLibrary, VHDLLibrary):
439
440
  self._vhdlLibrary = vhdlLibrary
440
441
  vhdlLibrary.AddFile(self)
441
442
  elif vhdlLibrary is None:
442
443
  self._vhdlLibrary = None
443
444
  else:
444
- ex = TypeError(f"Parameter 'vhdlLibrary' is neither a 'str' nor 'VHDLibrary'.")
445
- if version_info >= (3, 11): # pragma: no cover
446
- ex.add_note(f"Got type '{getFullyQualifiedName(vhdlLibrary)}'.")
445
+ ex = TypeError("Parameter 'vhdlLibrary' is neither a 'str' nor 'VHDLibrary'.")
446
+ ex.add_note(f"Got type '{getFullyQualifiedName(vhdlLibrary)}'.")
447
447
  raise ex
448
448
 
449
449
  self._vhdlVersion = vhdlVersion
@@ -919,13 +919,11 @@ class FileSet(metaclass=ExtendedType, slots=True):
919
919
  raise TypeError("Parameter 'file' is not of type ProjectModel.File.")
920
920
  elif file._fileSet is not None:
921
921
  ex = ValueError(f"File '{file.Path!s}' is already part of fileset '{file.FileSet.Name}'.")
922
- if version_info >= (3, 11): # pragma: no cover
923
- ex.add_note(f"A file can't be assigned to another fileset.")
922
+ ex.add_note("A file can't be assigned to another fileset.")
924
923
  raise ex
925
924
  elif file in self._set:
926
925
  ex = ValueError(f"File '{file.Path!s}' is already part of this fileset.")
927
- if version_info >= (3, 11): # pragma: no cover
928
- ex.add_note(f"A file can't be added twice to a fileset.")
926
+ ex.add_note("A file can't be added twice to a fileset.")
929
927
  raise ex
930
928
 
931
929
  self._files.append(file)
@@ -1258,9 +1256,8 @@ class VHDLLibrary(metaclass=ExtendedType, slots=True):
1258
1256
 
1259
1257
  def AddFile(self, vhdlFile: VHDLSourceFile) -> None:
1260
1258
  if not isinstance(vhdlFile, VHDLSourceFile):
1261
- ex = TypeError(f"Parameter 'vhdlFile' is not a 'VHDLSourceFile'.")
1262
- if version_info >= (3, 11): # pragma: no cover
1263
- ex.add_note(f"Got type '{getFullyQualifiedName(vhdlFile)}'.")
1259
+ ex = TypeError("Parameter 'vhdlFile' is not a 'VHDLSourceFile'.")
1260
+ ex.add_note(f"Got type '{getFullyQualifiedName(vhdlFile)}'.")
1264
1261
  raise ex
1265
1262
 
1266
1263
  self._files.append(vhdlFile)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyEDAA.ProjectModel
3
- Version: 0.6.4
3
+ Version: 0.7.0
4
4
  Summary: An abstract model of EDA tool projects.
5
5
  Home-page: https://GitHub.com/edaa-org/pyEDAA.ProjectModel
6
6
  Author: Patrick Lehmann
@@ -14,68 +14,70 @@ Classifier: Operating System :: OS Independent
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: Topic :: Utilities
16
16
  Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
17
- Classifier: License :: OSI Approved :: Apache Software License
18
17
  Classifier: Programming Language :: Python :: 3 :: Only
19
18
  Classifier: Programming Language :: Python :: 3.11
20
19
  Classifier: Programming Language :: Python :: 3.12
21
20
  Classifier: Programming Language :: Python :: 3.13
22
21
  Classifier: Programming Language :: Python :: 3.14
22
+ Classifier: Programming Language :: Python :: 3.15
23
23
  Classifier: Development Status :: 4 - Beta
24
24
  Requires-Python: >=3.11
25
25
  Description-Content-Type: text/markdown
26
26
  License-File: LICENSE.md
27
- Requires-Dist: pySVModel~=0.5.11
28
- Requires-Dist: pyVHDLModel~=0.37.0
29
- Requires-Dist: pySystemRDLModel~=0.3.10
30
- Requires-Dist: pyTooling~=8.15
27
+ Requires-Dist: pySystemRDLModel~=0.4.0
28
+ Requires-Dist: pyVHDLModel~=0.40.0
29
+ Requires-Dist: pyTooling<11.0,>=10.1.1
30
+ Requires-Dist: pySVModel~=0.6.0
31
31
  Provides-Extra: doc
32
- Requires-Dist: pyVHDLModel~=0.37.0; extra == "doc"
33
- Requires-Dist: autoapi>=2.0.1; extra == "doc"
34
- Requires-Dist: sphinx_autodoc_typehints~=3.12; extra == "doc"
35
- Requires-Dist: pySVModel~=0.5.11; extra == "doc"
32
+ Requires-Dist: pyTooling.Sphinx[reports]~=1.0; extra == "doc"
36
33
  Requires-Dist: docutils_stubs~=0.0.22; extra == "doc"
37
- Requires-Dist: sphinx_reports~=0.11.0; extra == "doc"
38
- Requires-Dist: sphinxcontrib-mermaid~=2.0; extra == "doc"
39
- Requires-Dist: pySystemRDLModel~=0.3.10; extra == "doc"
40
- Requires-Dist: sphinx~=9.1; extra == "doc"
34
+ Requires-Dist: pyVHDLModel~=0.40.0; extra == "doc"
35
+ Requires-Dist: sphinx~=9.2; extra == "doc"
41
36
  Requires-Dist: sphinx_design~=0.7.0; extra == "doc"
42
- Requires-Dist: sphinx_rtd_theme~=3.1; extra == "doc"
37
+ Requires-Dist: pySVModel~=0.6.0; extra == "doc"
38
+ Requires-Dist: pySystemRDLModel~=0.4.0; extra == "doc"
43
39
  Requires-Dist: sphinx-copybutton>=0.5.2; extra == "doc"
44
- Requires-Dist: pyTooling~=8.15; extra == "doc"
40
+ Requires-Dist: sphinx_rtd_theme~=3.1; extra == "doc"
41
+ Requires-Dist: sphinxcontrib-mermaid~=2.1; extra == "doc"
42
+ Requires-Dist: autoapi>=2.0.1; extra == "doc"
43
+ Requires-Dist: sphinx_autodoc_typehints~=3.17; extra == "doc"
44
+ Requires-Dist: pyTooling<11.0,>=10.1.1; extra == "doc"
45
45
  Provides-Extra: test
46
- Requires-Dist: mypy[reports]~=2.1; extra == "test"
47
- Requires-Dist: pyVHDLModel~=0.37.0; extra == "test"
46
+ Requires-Dist: pyVHDLModel~=0.40.0; extra == "test"
48
47
  Requires-Dist: typing_extensions~=4.16; extra == "test"
49
- Requires-Dist: pytest-cov~=7.1; extra == "test"
50
- Requires-Dist: pySVModel~=0.5.11; extra == "test"
51
- Requires-Dist: Coverage~=7.15; extra == "test"
48
+ Requires-Dist: pySVModel~=0.6.0; extra == "test"
49
+ Requires-Dist: pySystemRDLModel~=0.4.0; extra == "test"
52
50
  Requires-Dist: pytest~=9.1; extra == "test"
53
- Requires-Dist: pySystemRDLModel~=0.3.10; extra == "test"
54
- Requires-Dist: lxml<7.0,>=6.1; extra == "test"
55
- Requires-Dist: pyTooling~=8.15; extra == "test"
51
+ Requires-Dist: mypy[reports]~=2.4; extra == "test"
52
+ Requires-Dist: pytest-cov~=7.1; extra == "test"
53
+ Requires-Dist: lxml<7.0,>=6.1.3; extra == "test"
54
+ Requires-Dist: Coverage~=7.17; extra == "test"
55
+ Requires-Dist: pytest-xdist~=3.8; extra == "test"
56
+ Requires-Dist: pyTooling<11.0,>=10.1.1; extra == "test"
56
57
  Provides-Extra: osvvm
57
58
  Requires-Dist: pyEDAA.OSVVM~=0.6; extra == "osvvm"
58
59
  Provides-Extra: all
59
- Requires-Dist: pyEDAA.OSVVM~=0.6; extra == "all"
60
- Requires-Dist: pyVHDLModel~=0.37.0; extra == "all"
61
- Requires-Dist: pytest-cov~=7.1; extra == "all"
62
- Requires-Dist: sphinx_rtd_theme~=3.1; extra == "all"
63
- Requires-Dist: sphinx_autodoc_typehints~=3.12; extra == "all"
64
- Requires-Dist: pySVModel~=0.5.11; extra == "all"
65
60
  Requires-Dist: docutils_stubs~=0.0.22; extra == "all"
66
- Requires-Dist: sphinx_reports~=0.11.0; extra == "all"
67
- Requires-Dist: lxml<7.0,>=6.1; extra == "all"
68
- Requires-Dist: mypy[reports]~=2.1; extra == "all"
61
+ Requires-Dist: pyVHDLModel~=0.40.0; extra == "all"
69
62
  Requires-Dist: typing_extensions~=4.16; extra == "all"
70
- Requires-Dist: Coverage~=7.15; extra == "all"
71
- Requires-Dist: sphinx~=9.1; extra == "all"
72
- Requires-Dist: sphinx_design~=0.7.0; extra == "all"
73
- Requires-Dist: sphinxcontrib-mermaid~=2.0; extra == "all"
74
- Requires-Dist: pyTooling~=8.15; extra == "all"
75
- Requires-Dist: autoapi>=2.0.1; extra == "all"
63
+ Requires-Dist: sphinx_rtd_theme~=3.1; extra == "all"
64
+ Requires-Dist: Coverage~=7.17; extra == "all"
65
+ Requires-Dist: pyTooling.Sphinx[reports]~=1.0; extra == "all"
66
+ Requires-Dist: sphinx~=9.2; extra == "all"
67
+ Requires-Dist: pySVModel~=0.6.0; extra == "all"
68
+ Requires-Dist: pySystemRDLModel~=0.4.0; extra == "all"
76
69
  Requires-Dist: pytest~=9.1; extra == "all"
77
- Requires-Dist: pySystemRDLModel~=0.3.10; extra == "all"
70
+ Requires-Dist: mypy[reports]~=2.4; extra == "all"
71
+ Requires-Dist: sphinxcontrib-mermaid~=2.1; extra == "all"
72
+ Requires-Dist: autoapi>=2.0.1; extra == "all"
73
+ Requires-Dist: pytest-xdist~=3.8; extra == "all"
74
+ Requires-Dist: pyEDAA.OSVVM~=0.6; extra == "all"
75
+ Requires-Dist: sphinx_autodoc_typehints~=3.17; extra == "all"
76
+ Requires-Dist: pyTooling<11.0,>=10.1.1; extra == "all"
77
+ Requires-Dist: sphinx_design~=0.7.0; extra == "all"
78
78
  Requires-Dist: sphinx-copybutton>=0.5.2; extra == "all"
79
+ Requires-Dist: pytest-cov~=7.1; extra == "all"
80
+ Requires-Dist: lxml<7.0,>=6.1.3; extra == "all"
79
81
  Dynamic: author
80
82
  Dynamic: author-email
81
83
  Dynamic: classifier
@@ -0,0 +1,58 @@
1
+ pySystemRDLModel~=0.4.0
2
+ pyVHDLModel~=0.40.0
3
+ pyTooling<11.0,>=10.1.1
4
+ pySVModel~=0.6.0
5
+
6
+ [all]
7
+ docutils_stubs~=0.0.22
8
+ pyVHDLModel~=0.40.0
9
+ typing_extensions~=4.16
10
+ sphinx_rtd_theme~=3.1
11
+ Coverage~=7.17
12
+ pyTooling.Sphinx[reports]~=1.0
13
+ sphinx~=9.2
14
+ pySVModel~=0.6.0
15
+ pySystemRDLModel~=0.4.0
16
+ pytest~=9.1
17
+ mypy[reports]~=2.4
18
+ sphinxcontrib-mermaid~=2.1
19
+ autoapi>=2.0.1
20
+ pytest-xdist~=3.8
21
+ pyEDAA.OSVVM~=0.6
22
+ sphinx_autodoc_typehints~=3.17
23
+ pyTooling<11.0,>=10.1.1
24
+ sphinx_design~=0.7.0
25
+ sphinx-copybutton>=0.5.2
26
+ pytest-cov~=7.1
27
+ lxml<7.0,>=6.1.3
28
+
29
+ [doc]
30
+ pyTooling.Sphinx[reports]~=1.0
31
+ docutils_stubs~=0.0.22
32
+ pyVHDLModel~=0.40.0
33
+ sphinx~=9.2
34
+ sphinx_design~=0.7.0
35
+ pySVModel~=0.6.0
36
+ pySystemRDLModel~=0.4.0
37
+ sphinx-copybutton>=0.5.2
38
+ sphinx_rtd_theme~=3.1
39
+ sphinxcontrib-mermaid~=2.1
40
+ autoapi>=2.0.1
41
+ sphinx_autodoc_typehints~=3.17
42
+ pyTooling<11.0,>=10.1.1
43
+
44
+ [osvvm]
45
+ pyEDAA.OSVVM~=0.6
46
+
47
+ [test]
48
+ pyVHDLModel~=0.40.0
49
+ typing_extensions~=4.16
50
+ pySVModel~=0.6.0
51
+ pySystemRDLModel~=0.4.0
52
+ pytest~=9.1
53
+ mypy[reports]~=2.4
54
+ pytest-cov~=7.1
55
+ lxml<7.0,>=6.1.3
56
+ Coverage~=7.17
57
+ pytest-xdist~=3.8
58
+ pyTooling<11.0,>=10.1.1
@@ -1,7 +1,7 @@
1
1
  [build-system]
2
2
  requires = [
3
- "setuptools >= 83.0",
4
- "pyTooling ~= 8.15"
3
+ "setuptools >= 84.2.1",
4
+ "pyTooling >= 10.1.1, < 11.0"
5
5
  ]
6
6
  build-backend = "setuptools.build_meta"
7
7
 
@@ -25,7 +25,7 @@ variable-naming-style = "camelCase"
25
25
 
26
26
  [tool.mypy]
27
27
  packages = ["pyEDAA.ProjectModel"]
28
- python_version = "3.14"
28
+ python_version = "3.15"
29
29
  #ignore_missing_imports = true
30
30
  strict = true
31
31
  pretty = true
@@ -66,6 +66,7 @@ ignore-setters = true
66
66
  [tool.coverage.run]
67
67
  branch = true
68
68
  relative_files = true
69
+ patch = ["subprocess"]
69
70
  omit = [
70
71
  "*site-packages*",
71
72
  "setup.py",
@@ -11,8 +11,9 @@
11
11
  # #
12
12
  # License: #
13
13
  # ==================================================================================================================== #
14
- # Copyright 2017-2026 Patrick Lehmann - Boetzingen, Germany #
15
- # Copyright 2014-2016 Technische Universität Dresden - Germany, Chair of VLSI-Design, Diagnostics and Architecture #
14
+ # Copyright 2021-2026 Electronic Design Automation Abstraction (EDA²) #
15
+ # Copyright 2017-2020 Patrick Lehmann - Boetzingen, Germany #
16
+ # Copyright 2014-2016 Technische Universitaet Dresden - Germany, Chair of VLSI-Design, Diagnostics and Architecture #
16
17
  # #
17
18
  # Licensed under the Apache License, Version 2.0 (the "License"); #
18
19
  # you may not use this file except in compliance with the License. #
@@ -53,7 +54,7 @@ setup(
53
54
  "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)"
54
55
  ],
55
56
  developmentStatus="beta",
56
- pythonVersions=("3.11", "3.12", "3.13", "3.14"),
57
+ pythonVersions=("3.11", "3.12", "3.13", "3.14", "3.15"),
57
58
  dataFiles={
58
59
  packageName: ["py.typed"]
59
60
  }
@@ -1,56 +0,0 @@
1
- pySVModel~=0.5.11
2
- pyVHDLModel~=0.37.0
3
- pySystemRDLModel~=0.3.10
4
- pyTooling~=8.15
5
-
6
- [all]
7
- pyEDAA.OSVVM~=0.6
8
- pyVHDLModel~=0.37.0
9
- pytest-cov~=7.1
10
- sphinx_rtd_theme~=3.1
11
- sphinx_autodoc_typehints~=3.12
12
- pySVModel~=0.5.11
13
- docutils_stubs~=0.0.22
14
- sphinx_reports~=0.11.0
15
- lxml<7.0,>=6.1
16
- mypy[reports]~=2.1
17
- typing_extensions~=4.16
18
- Coverage~=7.15
19
- sphinx~=9.1
20
- sphinx_design~=0.7.0
21
- sphinxcontrib-mermaid~=2.0
22
- pyTooling~=8.15
23
- autoapi>=2.0.1
24
- pytest~=9.1
25
- pySystemRDLModel~=0.3.10
26
- sphinx-copybutton>=0.5.2
27
-
28
- [doc]
29
- pyVHDLModel~=0.37.0
30
- autoapi>=2.0.1
31
- sphinx_autodoc_typehints~=3.12
32
- pySVModel~=0.5.11
33
- docutils_stubs~=0.0.22
34
- sphinx_reports~=0.11.0
35
- sphinxcontrib-mermaid~=2.0
36
- pySystemRDLModel~=0.3.10
37
- sphinx~=9.1
38
- sphinx_design~=0.7.0
39
- sphinx_rtd_theme~=3.1
40
- sphinx-copybutton>=0.5.2
41
- pyTooling~=8.15
42
-
43
- [osvvm]
44
- pyEDAA.OSVVM~=0.6
45
-
46
- [test]
47
- mypy[reports]~=2.1
48
- pyVHDLModel~=0.37.0
49
- typing_extensions~=4.16
50
- pytest-cov~=7.1
51
- pySVModel~=0.5.11
52
- Coverage~=7.15
53
- pytest~=9.1
54
- pySystemRDLModel~=0.3.10
55
- lxml<7.0,>=6.1
56
- pyTooling~=8.15