11<p align =" center " >
2- <a title =" edaa-org.github.io/pyEDAA.Configuration " href =" https://edaa-org.github.io/pyEDAA.Configuration " ><img height =" 80px " src =" doc/_static/logo.svg " /></a >
2+ <a title =" edaa-org.github.io/pyEDAA.ToolSetup " href =" https://edaa-org.github.io/pyEDAA.ToolSetup " ><img height =" 80px " src =" doc/_static/logo.svg " /></a >
33</p >
44
5- [ ![ Sourcecode on GitHub] ( https://img.shields.io/badge/pyEDAA-Configuration-ffca28.svg?longCache=true&style=flat-square&logo=GitHub&labelColor=ff8f00 )] ( https://GitHub.com/edaa-org/pyEDAA.Configuration )
6- [ ![ Documentation] ( https://img.shields.io/website?longCache=true&style=flat-square&label=edaa-org.github.io%2FpyEDAA.Configuration&logo=GitHub&logoColor=fff&up_color=blueviolet&up_message=Read%20now%20%E2%9E%9A&url=https%3A%2F%2Fedaa-org.github.io%2FpyEDAA.Configuration%2Findex.html )] ( https://edaa-org.github.io/pyEDAA.Configuration/ )
5+ [ ![ Sourcecode on GitHub] ( https://img.shields.io/badge/pyEDAA-ToolSetup-ffca28.svg?longCache=true&style=flat-square&logo=github&longCache=true&logo=GitHub&labelColor=ff8f00 )] ( https://GitHub.com/edaa-org/pyEDAA.ToolSetup )
6+ [ ![ Sourcecode License] ( https://img.shields.io/pypi/l/pyEDAA.ToolSetup?longCache=true&style=flat-square&logo=Apache&label=code )] ( LICENSE.md )
7+ [ ![ Documentation] ( https://img.shields.io/website?longCache=true&style=flat-square&label=edaa-org.github.io%2FpyEDAA.ToolSetup&logo=GitHub&logoColor=fff&up_color=blueviolet&up_message=Read%20now%20%E2%9E%9A&url=https%3A%2F%2Fedaa-org.github.io%2FpyEDAA.ToolSetup%2Findex.html )] ( https://edaa-org.github.io/pyEDAA.ToolSetup/ )
8+ [ ![ Documentation License] ( https://img.shields.io/badge/doc-CC--BY%204.0-green?longCache=true&style=flat-square&logo=CreativeCommons&logoColor=fff )] ( LICENSE.md )
79[ ![ Gitter] ( https://img.shields.io/badge/chat-on%20gitter-4db797.svg?longCache=true&style=flat-square&logo=gitter&logoColor=e8ecef )] ( https://gitter.im/hdl/community )
8- [ ![ GitHub Workflow - Build and Test Status] ( https://img.shields.io/github/workflow/status/edaa-org/pyEDAA.Configuration/Pipeline/main?longCache=true&style=flat-square&label=Build%20and%20Test&logo=GitHub%20Actions&logoColor=FFFFFF )] ( https://GitHub.com/edaa-org/pyEDAA.Configuration/actions/workflows/Pipeline.yml )
10+ [ ![ PyPI] ( https://img.shields.io/pypi/v/pyEDAA.ToolSetup?longCache=true&style=flat-square&logo=PyPI&logoColor=FBE072 )] ( https://pypi.org/project/pyEDAA.ToolSetup/ )
11+ ![ PyPI - Status] ( https://img.shields.io/pypi/status/pyEDAA.ToolSetup?longCache=true&style=flat-square&logo=PyPI&logoColor=FBE072 )
12+ ![ PyPI - Python Version] ( https://img.shields.io/pypi/pyversions/pyEDAA.ToolSetup?longCache=true&style=flat-square&logo=PyPI&logoColor=FBE072 )
13+ [ ![ GitHub Workflow - Build and Test Status] ( https://img.shields.io/github/workflow/status/edaa-org/pyEDAA.ToolSetup/Pipeline/main?longCache=true&style=flat-square&label=Build%20and%20test&logo=GitHub%20Actions&logoColor=FFFFFF )] ( https://GitHub.com/edaa-org/pyEDAA.ToolSetup/actions/workflows/Pipeline.yml )
14+ [ ![ Libraries.io status for latest release] ( https://img.shields.io/librariesio/release/pypi/pyEDAA.ToolSetup?longCache=true&style=flat-square&logo=Libraries.io&logoColor=fff )] ( https://libraries.io/github/edaa-org/pyEDAA.ToolSetup )
15+ [ ![ Codacy - Quality] ( https://img.shields.io/codacy/grade/2245747238a94667b25f75970b86a333?longCache=true&style=flat-square&logo=Codacy )] ( https://www.codacy.com/gh/edaa-org/pyEDAA.ToolSetup )
16+ [ ![ Codacy - Coverage] ( https://img.shields.io/codacy/coverage/2245747238a94667b25f75970b86a333?longCache=true&style=flat-square&logo=Codacy )] ( https://www.codacy.com/gh/edaa-org/pyEDAA.ToolSetup )
17+ [ ![ Codecov - Branch Coverage] ( https://img.shields.io/codecov/c/github/edaa-org/pyEDAA.ToolSetup?longCache=true&style=flat-square&logo=Codecov )] ( https://codecov.io/gh/edaa-org/pyEDAA.ToolSetup )
918
1019<!--
11- [](LICENSE.md)
12- [](LICENSE.md)
13-
14- [](https://pypi.org/project/pyEDAA.Configuration/)
15- 
16- 
17-
18- [](https://libraries.io/github/edaa-org/pyEDAA.Configuration)
19- [](https://app.codacy.com/gh/edaa-org/pyEDAA.Configuration)
20- [](https://app.codacy.com/gh/edaa-org/pyEDAA.Configuration)
21- [](https://codecov.io/gh/edaa-org/pyEDAA.Configuration)
22-
23- [](https://GitHub.com/edaa-org/pyEDAA.Configuration/network/dependents)
24- [](https://requires.io/github/EDAA-ORG/pyEDAA.Configuration/requirements/?branch=main)
25- [](https://libraries.io/github/edaa-org/pyEDAA.Configuration/sourcerank)
20+ [](https://github.com/edaa-org/pyEDAA.ToolSetup/network/dependents)
21+ [](https://requires.io/github/edaa-org/pyEDAA.ToolSetup/requirements/?branch=main)
22+ [](https://libraries.io/github/edaa-org/pyEDAA.ToolSetup/sourcerank)
2623-->
2724
25+
2826<p align =" center " >
29- <a title =" edaa-org.github.io/pyEDAA.Configuration " href =" https://edaa-org.github.io/pyEDAA.Configuration " ><img height =" 275px " src =" doc/_static/work-in-progress.png " /></a >
27+ <a title =" edaa-org.github.io/pyEDAA.ToolSetup " href =" https://edaa-org.github.io/pyEDAA.ToolSetup " ><img height =" 275px " src =" doc/_static/work-in-progress.png " /></a >
3028</p >
3129
3230
3331# Main Goals
3432
35- * * tbd*
33+ * Provide abstract information of where a tool is installed and configured on the local machine.
34+ * Find local EDA tool installations and gather all necessary information in a configuration file.
35+ * Support multiple versions and variants of the same tool.
36+ * In case of multiple tool versions/variants select one default installation.
37+ * Allow switching the default version/variant.
38+ * Allow reading and writing such a configuration file via API.
39+ * Allow reading and writing such a configuration file via CLI.
3640
3741
38- # Use Cases
42+ # Features
43+
44+ * Find tool installations:
45+ * at default installation locations (based on operating system).
46+ * in ` PATH ` .
47+ * via environment variables.
48+ * Support multiple versions of the same tool.
49+ E.g. Vivado 2018.3, 2021.2
50+ * Support multiple variants of the same tool.
51+ E.g. ModelSim Altera Edition vs. ModelSim SE vs. QuestaSim
52+ * Configuring a default version/variant per tool.
53+
54+
55+ # Condensed View on ` ToolInformation ` Class
56+
57+ ``` python
58+ from pathlib import Path
59+ from pyTooling.Decorators import export
3960
40- * * tbd*
61+ @export
62+ class ToolInformation :
63+ def __init__ (self , installationDirectory : Path, binaryDirectory : Path, version : str = None , edition : str = None ): ...
64+
65+ @ property
66+ def InstallationDirectory (self ) -> Path:
67+ return self ._installationDirectory
68+
69+ @ property
70+ def BinaryDirectory (self ) -> Path:
71+ return self ._binaryDirectory
72+
73+ @ property
74+ def Version (self ) -> str :
75+ return self ._version
76+
77+ @ property
78+ def Edition (self ) -> str :
79+ return self ._edition
80+ ```
4181
4282
4383# Examples
4484
4585``` python
46- print (some.python.code.here())
86+ from pathlib import Path
87+ from pyEDAA.ToolSetup import Installations
88+
89+ yamlFile = Path(" configuration.yml" )
90+
91+ installation = Installations(yamlFile)
92+ activeHDL = installation.Aldec.ActiveHDL
93+ activeHDLVersion = activeHDL[" 10.3" ]
94+ print (activeHDLVersion.BinaryDirectory)
4795```
4896
97+ # Consumers
98+
99+ This layer is used by:
100+
101+ * 🚧 pyEDAA.Workflow
102+
49103
50104# References
51105
@@ -56,7 +110,7 @@ print(some.python.code.here())
56110* [ Patrick Lehmann] ( https://github.com/Paebbels ) (Maintainer)
57111* [ Martin Zabel] ( https://github.com/mzabeltud )
58112* [ Unai Martinez-Corral] ( https://github.com/umarcor )
59- * [ and more...] ( https://github.com/edaa-org/pyEDAA.Configuration /graphs/contributors )
113+ * [ and more...] ( https://github.com/edaa-org/pyEDAA.ToolSetup /graphs/contributors )
60114
61115
62116# License
0 commit comments