diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml index 0b8c9b8e..ea442d7a 100644 --- a/.github/workflows/Pipeline.yml +++ b/.github/workflows/Pipeline.yml @@ -111,19 +111,27 @@ jobs: needs: - Params - UnitTesting - - PublishTestResults - Coverage - StaticTypeCheck - BuildTheDocs - PublishToGitHubPages + - PublishTestResults with: package: ${{ fromJson(needs.Params.outputs.params).artifacts.package }} remaining: | - ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-3.6 - ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-3.7 - ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-3.8 - ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-3.9 - ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-3.10 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-ubuntu-3.7 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-ubuntu-3.8 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-ubuntu-3.9 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-ubuntu-3.10 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-windows-3.7 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-windows-3.8 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-windows-3.9 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-windows-3.10 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-msys2-3.9 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-macos-3.7 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-macos-3.8 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-macos-3.9 + ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-macos-3.10 ${{ fromJson(needs.Params.outputs.params).artifacts.coverage }} ${{ fromJson(needs.Params.outputs.params).artifacts.typing }} ${{ fromJson(needs.Params.outputs.params).artifacts.doc }} diff --git a/.idea/pySVModel.iml b/.idea/pySVModel.iml index aaa72d73..54123544 100644 --- a/.idea/pySVModel.iml +++ b/.idea/pySVModel.iml @@ -2,8 +2,10 @@ - + + + diff --git a/doc/ChangeLog/index.rst b/doc/ChangeLog/index.rst index 9ab3b32b..95517e26 100644 --- a/doc/ChangeLog/index.rst +++ b/doc/ChangeLog/index.rst @@ -9,4 +9,4 @@ Upcoming Release 23.09.2021 ========== -Classes :cls:`VerilogModel` and :cls:`SystemVerilogVersion` were moved from pyEDAA.ProjectModel to this package. +Classes :class:`VerilogModel` and :class:`SystemVerilogVersion` were moved from pyEDAA.ProjectModel to this package. diff --git a/doc/Dependency.rst b/doc/Dependency.rst index fa744045..f52ffa67 100644 --- a/doc/Dependency.rst +++ b/doc/Dependency.rst @@ -29,7 +29,7 @@ pySVModel Package +--------------------------------------------------------+-------------+------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +========================================================+=============+==========================================================================================+=================================================================================================================================+ -| `pyTooling `__ | ≥1.7.0 | `Apache License, 2.0 `__ | *None* | +| `pyTooling `__ | ≥1.9.2 | `Apache License, 2.0 `__ | *None* | +--------------------------------------------------------+-------------+------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ @@ -63,7 +63,7 @@ the mandatory dependencies too. +-----------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `Coverage `__ | ≥6.2 | `Apache License, 2.0 `__ | *Not yet evaluated.* | +-----------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ -| `mypy `__ | ≥0.910 | `MIT `__ | *Not yet evaluated.* | +| `mypy `__ | ≥0.931 | `MIT `__ | *Not yet evaluated.* | +-----------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `lxml `__ | ≥4.6.4 | `BSD 3-Clause `__ | *Not yet evaluated.* | +-----------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ @@ -93,7 +93,7 @@ the mandatory dependencies too. +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=================================================================================================+==============+==========================================================================================================+======================================================================================================================================================+ -| `pyTooling.Packaging `__ | ≥1.7.0 | `Apache License, 2.0 `__ | *None* | +| `pyTooling `__ | ≥1.9.2 | `Apache License, 2.0 `__ | *None* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `Sphinx `__ | ≥4.3.0 | `BSD 3-Clause `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -101,7 +101,7 @@ the mandatory dependencies too. +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | !! `sphinx_fontawesome `__ | ≥0.0.6 | `GPL 2.0 `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ -| `sphinx_autodoc_typehints `__ | ≥1.12.0 | `MIT `__ | *Not yet evaluated.* | +| `sphinx_autodoc_typehints `__ | ≥1.14.1 | `MIT `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -129,7 +129,7 @@ install the mandatory dependencies too. +----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +============================================================================+==============+==========================================================================================================+======================================================================================================================================================+ -| `pyTooling.Packaging `__ | ≥1.7.0 | `Apache License, 2.0 `__ | *None* | +| `pyTooling `__ | ≥1.9.2 | `Apache License, 2.0 `__ | *None* | +----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `wheel `__ | any | `MIT `__ | *Not yet evaluated.* | +----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/doc/coverage/index.rst b/doc/coverage/index.rst new file mode 100644 index 00000000..80bbad2e --- /dev/null +++ b/doc/coverage/index.rst @@ -0,0 +1,4 @@ +Coverage Report +############### + +*Placeholder for the Coverage report generated with* ``pytest`` *and* ``coverage``. diff --git a/doc/index.rst b/doc/index.rst index 8b65e341..1001984f 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -147,7 +147,8 @@ License :caption: Appendix :hidden: - ChangeLog/index + Coverage Report ➚ + Static Type Check Report ➚ License Doc-License Glossary diff --git a/doc/requirements.txt b/doc/requirements.txt index 58166dc3..48fdad5f 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,6 +1,6 @@ -r ../requirements.txt -pyTooling>=1.7.0 +pyTooling>=1.9.2 # Enforce latest version on ReadTheDocs sphinx>=4.3.0 @@ -9,4 +9,4 @@ sphinx>=4.3.0 sphinxcontrib-mermaid>=0.7.1 autoapi>=2.0.1 sphinx_fontawesome>=0.0.6 -sphinx_autodoc_typehints>=1.12.0 +sphinx_autodoc_typehints>=1.14.1 diff --git a/doc/typing/index.rst b/doc/typing/index.rst new file mode 100644 index 00000000..97d4ae2a --- /dev/null +++ b/doc/typing/index.rst @@ -0,0 +1,4 @@ +Static Type Checking Report +########################### + +*Placeholder for the Static Type Checking report generated with* ``mypy``. diff --git a/pySVModel/__init__.py b/pySVModel/__init__.py index cae1ae27..1b445412 100644 --- a/pySVModel/__init__.py +++ b/pySVModel/__init__.py @@ -1,38 +1,37 @@ -# ============================================================================= -# ____ _ __ __ _ _ __ __ _ _ -# _ __ _ _/ ___| _ _ ___| |_ ___ _ __ __\ \ / /__ _ __(_) | ___ __ _| \/ | ___ __| | ___| | -# | '_ \| | | \___ \| | | / __| __/ _ \ '_ ` _ \ \ / / _ \ '__| | |/ _ \ / _` | |\/| |/ _ \ / _` |/ _ \ | -# | |_) | |_| |___) | |_| \__ \ || __/ | | | | \ V / __/ | | | | (_) | (_| | | | | (_) | (_| | __/ | -# | .__/ \__, |____/ \__, |___/\__\___|_| |_| |_|\_/ \___|_| |_|_|\___/ \__, |_| |_|\___/ \__,_|\___|_| -# |_| |___/ |___/ |___/ -# ============================================================================== -# Authors: Patrick Lehmann -# -# Python package: An abstract SystemVerilog language model. -# -# License: -# ============================================================================== -# Copyright 2021-2021 Patrick Lehmann - Boetzingen, Germany -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# ============================================================================== +# ==================================================================================================================== # +# ______ ____ __ _ _ # +# _ __ _ _/ ___\ \ / / \/ | ___ __| | ___| | # +# | '_ \| | | \___ \\ \ / /| |\/| |/ _ \ / _` |/ _ \ | # +# | |_) | |_| |___) |\ V / | | | | (_) | (_| | __/ | # +# | .__/ \__, |____/ \_/ |_| |_|\___/ \__,_|\___|_| # +# |_| |___/ # +# ==================================================================================================================== # +# Authors: # +# Patrick Lehmann # +# # +# License: # +# ==================================================================================================================== # +# Copyright 2021-2022 Patrick Lehmann - Boetzingen, Germany # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +# # +# SPDX-License-Identifier: Apache-2.0 # +# ==================================================================================================================== # # """ An abstract SystemVerilog language model. -:copyright: Copyright 2021-2021 Patrick Lehmann - Bötzingen, Germany +:copyright: Copyright 2021-2022 Patrick Lehmann - Bötzingen, Germany :license: Apache License, Version 2.0 """ from enum import unique, Enum @@ -43,9 +42,9 @@ __author__ = "Patrick Lehmann" __email__ = "Paebbels@gmail.com" -__copyright__ = "2021-2021, Patrick Lehmann" +__copyright__ = "2021-2022, Patrick Lehmann" __license__ = "Apache License, Version 2.0" -__version__ = "0.3.4" +__version__ = "0.3.5" @export diff --git a/pyproject.toml b/pyproject.toml index 0566add4..4fbec4ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] requires = [ - "pyTooling >= 1.7.0", + "pyTooling >= 1.9.2", "setuptools >= 35.0.2", "wheel >= 0.29.0" ] diff --git a/requirements.txt b/requirements.txt index 2d48f6b4..af16e2f0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -pyTooling>=1.7.0 +pyTooling>=1.9.2 diff --git a/setup.py b/setup.py index ce4a3880..a6122da8 100644 --- a/setup.py +++ b/setup.py @@ -1,34 +1,34 @@ -# ============================================================================= -# ______ ____ __ _ _ -# _ __ _ _/ ___\ \ / / \/ | ___ __| | ___| | -# | '_ \| | | \___ \\ \ / /| |\/| |/ _ \ / _` |/ _ \ | -# | |_) | |_| |___) |\ V / | | | | (_) | (_| | __/ | -# | .__/ \__, |____/ \_/ |_| |_|\___/ \__,_|\___|_| -# |_| |___/ -# ============================================================================== -# Authors: Patrick Lehmann -# -# Package installer: An abstract System Verilog language model. -# -# License: -# ============================================================================ -# Copyright 2021-2021 Patrick Lehmann - Boetzingen, Germany -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# ============================================================================ +# ==================================================================================================================== # +# ______ ____ __ _ _ # +# _ __ _ _/ ___\ \ / / \/ | ___ __| | ___| | # +# | '_ \| | | \___ \\ \ / /| |\/| |/ _ \ / _` |/ _ \ | # +# | |_) | |_| |___) |\ V / | | | | (_) | (_| | __/ | # +# | .__/ \__, |____/ \_/ |_| |_|\___/ \__,_|\___|_| # +# |_| |___/ # +# ==================================================================================================================== # +# Authors: # +# Patrick Lehmann # +# # +# License: # +# ==================================================================================================================== # +# Copyright 2021-2022 Patrick Lehmann - Boetzingen, Germany # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +# # +# SPDX-License-Identifier: Apache-2.0 # +# ==================================================================================================================== # # +"""Package installer for 'An abstract System Verilog language model'.""" from pathlib import Path from pyTooling.Packaging import DescribePythonPackageHostedOnGitHub, DEFAULT_CLASSIFIERS diff --git a/tests/requirements.txt b/tests/requirements.txt index 85964cb0..e71c276a 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -8,5 +8,5 @@ pytest>=6.2.5 pytest-cov>=3.0.0 # Static Type Checking -mypy>=0.910 -lxml>=4.6.4 +mypy>=0.931 +lxml>=4.6 diff --git a/tests/unit/Instantiate.py b/tests/unit/Instantiate.py index ce2fd2fd..40c06d9f 100644 --- a/tests/unit/Instantiate.py +++ b/tests/unit/Instantiate.py @@ -1,34 +1,34 @@ -# ============================================================================= -# ____ _ __ __ _ _ __ __ _ _ -# _ __ _ _/ ___| _ _ ___| |_ ___ _ __ __\ \ / /__ _ __(_) | ___ __ _| \/ | ___ __| | ___| | -# | '_ \| | | \___ \| | | / __| __/ _ \ '_ ` _ \ \ / / _ \ '__| | |/ _ \ / _` | |\/| |/ _ \ / _` |/ _ \ | -# | |_) | |_| |___) | |_| \__ \ || __/ | | | | \ V / __/ | | | | (_) | (_| | | | | (_) | (_| | __/ | -# | .__/ \__, |____/ \__, |___/\__\___|_| |_| |_|\_/ \___|_| |_|_|\___/ \__, |_| |_|\___/ \__,_|\___|_| -# |_| |___/ |___/ |___/ -# ============================================================================== -# Authors: Patrick Lehmann -# -# Python unittest: Instantiation tests for the language model. -# -# License: -# ============================================================================== -# Copyright 2021-2021 Patrick Lehmann - Boetzingen, Germany -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# ============================================================================== +# ==================================================================================================================== # +# ______ ____ __ _ _ # +# _ __ _ _/ ___\ \ / / \/ | ___ __| | ___| | # +# | '_ \| | | \___ \\ \ / /| |\/| |/ _ \ / _` |/ _ \ | # +# | |_) | |_| |___) |\ V / | | | | (_) | (_| | __/ | # +# | .__/ \__, |____/ \_/ |_| |_|\___/ \__,_|\___|_| # +# |_| |___/ # +# ==================================================================================================================== # +# Authors: # +# Patrick Lehmann # +# # +# License: # +# ==================================================================================================================== # +# Copyright 2021-2022 Patrick Lehmann - Boetzingen, Germany # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +# # +# SPDX-License-Identifier: Apache-2.0 # +# ==================================================================================================================== # # +"""Instantiation tests for the language model.""" from unittest import TestCase from pySVModel import VerilogVersion, SystemVerilogVersion diff --git a/tests/unit/__init__.py b/tests/unit/__init__.py index e69de29b..cb1597e6 100644 --- a/tests/unit/__init__.py +++ b/tests/unit/__init__.py @@ -0,0 +1,30 @@ +# ==================================================================================================================== # +# ______ ____ __ _ _ # +# _ __ _ _/ ___\ \ / / \/ | ___ __| | ___| | # +# | '_ \| | | \___ \\ \ / /| |\/| |/ _ \ / _` |/ _ \ | # +# | |_) | |_| |___) |\ V / | | | | (_) | (_| | __/ | # +# | .__/ \__, |____/ \_/ |_| |_|\___/ \__,_|\___|_| # +# |_| |___/ # +# ==================================================================================================================== # +# Authors: # +# Patrick Lehmann # +# # +# License: # +# ==================================================================================================================== # +# Copyright 2021-2022 Patrick Lehmann - Boetzingen, Germany # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +# # +# SPDX-License-Identifier: Apache-2.0 # +# ==================================================================================================================== # +#