Skip to main content

EDA tool detection, configuration and selection layer.

Project description

Sourcecode on GitHub Sourcecode License Documentation Documentation License Gitter
PyPI PyPI - Status PyPI - Python Version
GitHub Workflow - Build and Test Status Libraries.io status for latest release Codacy - Quality Codacy - Coverage Codecov - Branch Coverage

Main Goals

  • Provide abstract information of where a tool is installed and configured on the local machine.
  • Find local EDA tool installations and gather all necessary information in a configuration file.
  • Support multiple versions and variants of the same tool.
  • In case of multiple tool versions/variants select one default installation.
  • Allow switching the default version/variant.
  • Allow reading and writing such a configuration file via API.
  • Allow reading and writing such a configuration file via CLI.

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.

Condensed View on ToolInformation Class

from pathlib import Path
from pyTooling.Decorators import export

@export
class ToolInformation:
  def __init__(self, installationDirectory: Path, binaryDirectory: Path, version: str = None, edition: str = None): ...

  @property
  def InstallationDirectory(self) -> Path:
    return self._installationDirectory

  @property
  def BinaryDirectory(self) -> Path:
    return self._binaryDirectory

  @property
  def Version(self) -> str:
    return self._version

  @property
  def Edition(self) -> str:
    return self._edition

Examples

from pathlib import Path
from pyEDAA.ToolSetup import Installations

yamlFile = Path("configuration.yml")

installation = Installations(yamlFile)
activeHDL = installation.Aldec.ActiveHDL
activeHDLVersion = activeHDL["10.3"]
print(activeHDLVersion.BinaryDirectory)

Consumers

This layer is used by:

  • 🚧 pyEDAA.Workflow

References

Contributors

License

This Python package (source code) is licensed under Apache License 2.0.
The accompanying documentation is licensed under Creative Commons - Attribution 4.0 (CC-BY 4.0).


SPDX-License-Identifier: Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyEDAA.ToolSetup-0.2.0.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

pyEDAA.ToolSetup-0.2.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file pyEDAA.ToolSetup-0.2.0.tar.gz.

File metadata

  • Download URL: pyEDAA.ToolSetup-0.2.0.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for pyEDAA.ToolSetup-0.2.0.tar.gz
Algorithm Hash digest
SHA256 229728feee49f973e70008e145be65ea01784a9e06fc691e930bc513b02448d0
MD5 1aaab2e97e96fe25e2d22f21fe287564
BLAKE2b-256 8f4fc8faa7535a06a3ec815d56de79f4b9d5856cc0f9ac1463a15ac9a4ddc1a2

See more details on using hashes here.

File details

Details for the file pyEDAA.ToolSetup-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pyEDAA.ToolSetup-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for pyEDAA.ToolSetup-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 99b1903bafe1ec8ef74a803d012c7a698b66b015b4ca4b3d8ed0b750eae32d05
MD5 eb8acd447a92cd769195064807e3f4fc
BLAKE2b-256 97ac45b991ee899cb756e8debfd47626891b26e64ffcb98675dfa47a46ea63da

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page