Skip to content

Commit

Permalink
v0.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Paebbels authored Mar 10, 2022
2 parents 54e937d + 3fc04ea commit faad2d9
Show file tree
Hide file tree
Showing 34 changed files with 822 additions and 216 deletions.
38 changes: 26 additions & 12 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,29 @@
version: 2
updates:
- package-ecosystem: pip
directory: "/"
target-branch: dev
commit-message:
prefix: "[Dependabot]"
labels:
# Maintain Python packages
- package-ecosystem: "pip"
directory: "/"
target-branch: dev
commit-message:
prefix: "[Dependabot]"
labels:
- Dependencies
assignees:
- Paebbels
reviewers:
- Paebbels
schedule:
interval: daily
reviewers:
- Paebbels
- Umarcor
schedule:
interval: "daily" # Checks on Monday trough Friday.

# Maintain GitHub Action runners
- package-ecosystem: "github-actions"
directory: "/"
target-branch: dev
commit-message:
prefix: "[Dependabot]"
labels:
- Dependencies
reviewers:
- Paebbels
- Umarcor
schedule:
interval: "weekly"
8 changes: 8 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
# New Features

* tbd

# Changes

* tbd

# Bug Fixes

* tbd

----------
# Related PRs:

* tbd
9 changes: 8 additions & 1 deletion .github/workflows/Pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r0
with:
name: pyEDAA.ToolSetup
system_list: 'ubuntu windows macos'
system_list: 'ubuntu windows macos' # disabled: "msys2"

UnitTesting:
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r0
Expand All @@ -21,6 +21,13 @@ jobs:
with:
jobs: ${{ needs.Params.outputs.python_jobs }}
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}
pacboy: >-
python-pip:p
python-wheel:p
python-coverage:p
python-lxml:p
python-ruamel-yaml:p
python-ruamel.yaml.clib:p
Coverage:
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@r0
Expand Down
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"files.trimTrailingWhitespace": false,
}
53 changes: 35 additions & 18 deletions doc/Dependency.rst

Large diffs are not rendered by default.

108 changes: 108 additions & 0 deletions doc/_templates/autoapi/module.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
.. # Template modified by Patrick Lehmann
* removed automodule on top, because private members are activated for autodoc (no doubled documentation).
* Made sections like 'submodules' bold text, but no headlines to reduce number of ToC levels.
=={{ '=' * node.name|length }}==
``{{ node.name }}``
=={{ '=' * node.name|length }}==

{##}
{%- block modules -%}
{%- if subnodes %}

**Submodules**


.. toctree::
{% for item in subnodes %}
{{ item.name }}
{%- endfor %}
{##}
{%- endif -%}
{%- endblock -%}
{##}
.. currentmodule:: {{ node.name }}
{##}
{%- block functions -%}
{%- if node.functions %}

**Functions**

{% for item, obj in node.functions.items() -%}
- :py:func:`{{ item }}`:
{{ obj|summary }}

{% endfor -%}

{% for item in node.functions %}
.. autofunction:: {{ item }}
{##}
{%- endfor -%}
{%- endif -%}
{%- endblock -%}

{%- block classes -%}
{%- if node.classes %}

**Classes**

{% for item, obj in node.classes.items() -%}
- :py:class:`{{ item }}`:
{{ obj|summary }}

{% endfor -%}

{% for item in node.classes %}
.. autoclass:: {{ item }}
:members:

.. rubric:: Inheritance
.. inheritance-diagram:: {{ item }}
:parts: 1
{##}
{%- endfor -%}
{%- endif -%}
{%- endblock -%}

{%- block exceptions -%}
{%- if node.exceptions %}

**Exceptions**

{% for item, obj in node.exceptions.items() -%}
- :py:exc:`{{ item }}`:
{{ obj|summary }}

{% endfor -%}

{% for item in node.exceptions %}
.. autoexception:: {{ item }}

.. rubric:: Inheritance
.. inheritance-diagram:: {{ item }}
:parts: 1
{##}
{%- endfor -%}
{%- endif -%}
{%- endblock -%}

{%- block variables -%}
{%- if node.variables %}

**Variables**

{% for item, obj in node.variables.items() -%}
- :py:data:`{{ item }}`
{% endfor -%}

{% for item, obj in node.variables.items() %}
.. autodata:: {{ item }}
:annotation:

.. code-block:: text
{{ obj|pprint|indent(6) }}
{##}
{%- endfor -%}
{%- endif -%}
{%- endblock -%}
67 changes: 59 additions & 8 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
sys_path.insert(0, abspath('.'))
sys_path.insert(0, abspath('..'))
sys_path.insert(0, abspath('../pyEDAA/ToolSetup'))
#sys_path.insert(0, abspath('_extensions'))


# ==============================================================================
Expand Down Expand Up @@ -65,7 +64,7 @@
with open(prologPath, "r") as prologFile:
rst_prolog = prologFile.read()
except Exception as ex:
print("[ERROR:] While reading '{0!s}'.".format(prologPath))
print(f"[ERROR:] While reading '{prologPath}'.")
print(ex)
rst_prolog = ""

Expand Down Expand Up @@ -99,7 +98,7 @@
html_favicon = str(Path(html_static_path[0]) / "favicon.svg")

# Output file base name for HTML help builder.
htmlhelp_basename = 'pyEDAACLIToolDoc'
htmlhelp_basename = 'pyEDAAToolSetupDoc'

# If not None, a 'Last updated on:' timestamp is inserted at every page
# bottom, using the given strftime format.
Expand Down Expand Up @@ -146,8 +145,8 @@
# author, documentclass [howto, manual, or own class]).
latex_documents = [
( master_doc,
'pyEDAA.CLITool.tex',
'The pyEDAA.CLITool Documentation',
'pyEDAA.ToolSetup.tex',
'The pyEDAA.ToolSetup Documentation',
'Patrick Lehmann',
'manual'
),
Expand All @@ -158,8 +157,22 @@
# Extensions
# ==============================================================================
extensions = [
# Standard Sphinx extensions
"sphinx.ext.autodoc",
'sphinx.ext.extlinks',
'sphinx.ext.intersphinx',
'sphinx.ext.inheritance_diagram',
'sphinx.ext.todo',
'sphinx.ext.graphviz',
'sphinx.ext.mathjax',
'sphinx.ext.ifconfig',
'sphinx.ext.viewcode',
# SphinxContrib extensions
'sphinxcontrib.mermaid',
# Other extensions
'sphinx_fontawesome',
'sphinx_autodoc_typehints',
'autoapi.sphinx',
]


Expand All @@ -171,11 +184,49 @@
}


# ==============================================================================
# Sphinx.Ext.AutoDoc
# ==============================================================================
# see: https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#configuration
autodoc_default_options = {
"private-members": True,
"special-members": True,
"inherited-members": True,
"exclude-members": "__weakref__"
}
#autodoc_class_signature = "separated"
autodoc_member_order = "bysource" # alphabetical, groupwise, bysource
autodoc_typehints = "both"
#autoclass_content = "both"


# ==============================================================================
# Sphinx.Ext.ExtLinks
# ==============================================================================
extlinks = {
'ghissue': ('https://GitHub.com/edaa-org/pyEDAA.CLITool/issues/%s', 'issue #'),
'ghpull': ('https://GitHub.com/edaa-org/pyEDAA.CLITool/pull/%s', 'pull request #'),
'ghsrc': ('https://GitHub.com/edaa-org/pyEDAA.CLITool/blob/main/%s', ''),
"ghissue": ("https://GitHub.com/edaa-org/pyEDAA.ToolSetup/issues/%s", "issue #"),
"ghpull": ("https://GitHub.com/edaa-org/pyEDAA.ToolSetup/pull/%s", "pull request #"),
"ghsrc": ("https://GitHub.com/edaa-org/pyEDAA.ToolSetup/blob/main/%s", ""),
}


# ==============================================================================
# Sphinx.Ext.Graphviz
# ==============================================================================
graphviz_output_format = "svg"


# ==============================================================================
# Sphinx.Ext.ToDo
# ==============================================================================
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = True
todo_link_only = True


# ==============================================================================
# AutoAPI.Sphinx
# ==============================================================================
autoapi_modules = {
'pyEDAA.ToolSetup': {'output': "pyEDAA.ToolSetup", "override": True}
}
4 changes: 4 additions & 0 deletions doc/coverage/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Coverage Report
###############

*Placeholder for the Coverage report generated with* ``pytest`` *and* ``coverage``.
12 changes: 8 additions & 4 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,19 @@ Features
********

* Find tool installations:

* at default installation locations (based on operating system).

* in ``PATH``.

* via environment variables.

* Support multiple versions of the same tool.
E.g. Vivado 2018.3, 2021.2

* Support multiple variants of the same tool.
E.g. ModelSim Altera Edition vs. ModelSim SE vs. QuestaSim

* Configuring a default version/variant per tool.


Expand Down Expand Up @@ -110,7 +116,6 @@ License
Installation
Dependency


.. raw:: latex

\part{Main Documentation}
Expand All @@ -122,7 +127,6 @@ License
DataModel
YAML


.. raw:: latex

\part{References}
Expand All @@ -141,8 +145,8 @@ License
:caption: Appendix
:hidden:

Coverage Report ➚ <https://edaa-org.GitHub.io/pyEDAA.ToolSetup/coverage/>
Static Type Check Report ➚ <https://edaa-org.GitHub.io/pyEDAA.ToolSetup/typing/>
Coverage Report ➚ <coverage/index>
Static Type Check Report ➚ <typing/index>
License
Doc-License
Glossary
Expand Down
8 changes: 8 additions & 0 deletions doc/pyEDAA.ToolSetup/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Python Class Reference
######################

Reference of all packages and modules:

.. toctree::

pyEDAA.ToolSetup
6 changes: 3 additions & 3 deletions doc/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
-r ../requirements.txt

pyTooling>=1.9.2
pyTooling>=1.9.5

# Enforce latest version on ReadTheDocs
sphinx>=4.3.0
sphinx>=4.4.0

# Sphinx Extenstions
sphinxcontrib-mermaid>=0.7.1
autoapi>=2.0.1
sphinx_fontawesome>=0.0.6
sphinx_autodoc_typehints>=1.14.1
sphinx_autodoc_typehints>=1.17.0
4 changes: 4 additions & 0 deletions doc/typing/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Static Type Checking Report
###########################

*Placeholder for the Static Type Checking report generated with* ``mypy``.
Loading

0 comments on commit faad2d9

Please sign in to comment.