.. _DEP: Dependencies ############ .. |img-pyTooling-lib-status| image:: https://img.shields.io/librariesio/release/pypi/pyTooling :alt: Libraries.io status for latest release :height: 22 :target: https://libraries.io/github/pyTooling/pyTooling .. |img-pyTooling-vul-status| image:: https://img.shields.io/snyk/vulnerabilities/github/pyTooling/pyTooling :alt: Snyk Vulnerabilities for GitHub Repo :height: 22 :target: https://img.shields.io/snyk/vulnerabilities/github/pyTooling/pyTooling +------------------------------------------+------------------------------------------+ | `Libraries.io `_ | Vulnerabilities Summary | +==========================================+==========================================+ | |img-pyTooling-lib-status| | |img-pyTooling-vul-status| | +------------------------------------------+------------------------------------------+ .. _DEP/package: pyTooling Package (Mandatory) ***************************** .. rubric:: Manually Installing Package Requirements Use the :file:`requirements.txt` file to install all dependencies via ``pip3`` or install the package directly from PyPI (see :ref:`INSTALL`). .. tab-set:: .. tab-item:: Linux/MacOS :sync: Linux .. code-block:: bash pip3 install -U -r requirements.txt .. tab-item:: Windows :sync: Windows .. code-block:: powershell pip install -U -r requirements.txt .. rubric:: Dependency List When installed as ``pyTooling``: +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=================================================================+=============+===========================================================================================+========================================================================================================================================================+ | *No dependencies* | — — — — | — — — — | — — — — | +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ When installed as ``pyTooling[packaging]``: +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=================================================================+=============+===========================================================================================+========================================================================================================================================================+ | `setuptools `__ | ≥69.0.0 | `BSD-3-Clause `__ | None | +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ .. todo:: investigate dependencies and licenses of setuptools. When installed as ``pyTooling[terminal]``: +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=================================================================+=============+===========================================================================================+========================================================================================================================================================+ | `colorama `__ | ≥0.4.6 | `BSD-3-Clause `__ | None | +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ When installed as ``pyTooling[yaml]``: +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=================================================================+=============+===========================================================================================+========================================================================================================================================================+ | `ruamel.yaml `__ | ≥0.18 | `MIT `__ | *Not yet evaluated.* | +-----------------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ .. todo:: investigate dependencies and licenses of ruamel.yaml. .. _DEP/testing: Unit Testing (Optional) *********************** Unit Testing / Coverage / Type Checking (Optional) ================================================== Additional Python packages needed for testing, code coverage collection and static type checking. These packages are only needed for developers or on a CI server, thus sub-dependencies are not evaluated further. .. rubric:: Manually Installing Test Requirements Use the :file:`tests/requirements.txt` file to install all dependencies via ``pip3``. The file will recursively install the mandatory dependencies too. .. tab-set:: .. tab-item:: Linux/MacOS :sync: Linux .. code-block:: bash pip install -U -r tests/requirements.txt .. tab-item:: Windows :sync: Windows .. code-block:: powershell pip3 install -U -r tests\requirements.txt .. rubric:: Dependency List - Unit Testing +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=====================================================================+=============+========================================================================================+======================+ | `pytest `__ | ≥7.4.0 | `MIT `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `pytest-cov `__ | ≥4.1.0 | `MIT `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `Coverage `__ | ≥7.4 | `Apache License, 2.0 `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `mypy `__ | ≥1.8.0 | `MIT `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `typing-extensions `__ | ≥4.9.0 | `PSF-2.0 `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `lxml `__ | ≥5.0 | `BSD 3-Clause `__ | *Not yet evaluated.* | +---------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ Unit Testing with Benchmarking (Optional) ========================================= Further Python packages are needed for benchmarking. These packages are only needed for developers or on a CI server, thus sub-dependencies are not evaluated further. .. rubric:: Manually Installing Benchmarking Requirements Use the :file:`tests/benchmark/requirements.txt` file to install all dependencies via ``pip3``. The file will recursively install the mandatory dependencies too. .. tab-set:: .. tab-item:: Linux/MacOS :sync: Linux .. code-block:: bash pip install -U -r tests/benchmark/requirements.txt .. tab-item:: Windows :sync: Windows .. code-block:: powershell pip3 install -U -r tests\benchmark\requirements.txt .. rubric:: Dependency List - With Benchmark Testing +--------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | **Package** | **Version** | **License** | **Dependencies** | +====================================================================+=============+========================================================================================+======================+ | `pytest-benchmark `__ | ≥4.0.0 | `BSD 2-Clause `__ | *Not yet evaluated.* | +--------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ Unit Testing with Performance Testing (Optional) ================================================ Further Python packages are needed for performance testing (comparison). These packages are only needed for developers or on a CI server, thus sub-dependencies are not evaluated further. .. rubric:: Manually Installing Benchmarking Requirements Use the :file:`tests/performance/requirements.txt` file to install all dependencies via ``pip3``. The file will recursively install the mandatory dependencies too. .. tab-set:: .. tab-item:: Linux/MacOS :sync: Linux .. code-block:: bash pip install -U -r tests/performance/requirements.txt .. tab-item:: Windows :sync: Windows .. code-block:: powershell pip3 install -U -r tests\performance\requirements.txt .. rubric:: Dependency List - With Performance Testing +--------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | **Package** | **Version** | **License** | **Dependencies** | +====================================================================+=============+========================================================================================+======================+ | `anytree `__ | ≥2.9.0 | `Apache 2 `__ | *Not yet evaluated.* | +--------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `itertree `__ | ≥1.0.5 | `MIT `__ | *Not yet evaluated.* | +--------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `treelib `__ | ≥1.6.4 | `Apache 2 `__ | *Not yet evaluated.* | +--------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `networkx `__ | ≥3.1 | `BSD 3-Clause `__ | *Not yet evaluated.* | +--------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ | `igraph `__ | ≥0.10.6 | `GPL-2.0 `__ | *Not yet evaluated.* | +--------------------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+ .. _DEP/documentation: Sphinx Documentation (Optional) ******************************* Additional Python packages needed for documentation generation. These packages are only needed for developers or on a CI server, thus sub-dependencies are not evaluated further. .. rubric:: Manually Installing Documentation Requirements Use the :file:`doc/requirements.txt` file to install all dependencies via ``pip3``. The file will recursively install the mandatory dependencies too. .. tab-set:: .. tab-item:: Linux/MacOS :sync: Linux .. code-block:: bash pip install -U -r doc/requirements.txt .. tab-item:: Windows :sync: Windows .. code-block:: powershell pip3 install -U -r doc\requirements.txt .. rubric:: Dependency List +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +=================================================================================================+==============+==========================================================================================================+======================================================================================================================================================+ | `pyTooling `__ | ≥5.0.0 | `Apache License, 2.0 `__ | *None* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `Sphinx `__ | ≥5.3.0 | `BSD 3-Clause `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `sphinxcontrib-mermaid `__ | ≥0.9.2 | `BSD `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `autoapi `__ | ≥2.0.1 | `Apache License, 2.0 `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `sphinx_btd_theme `__ | ≥0.5.2 | `MIT `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `sphinx_design `__ | ≥0.5.0 | `MIT `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `sphinx-copybutton `__ | ≥0.5.2 | `MIT `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `sphinx_autodoc_typehints `__ | ≥1.25.2 | `MIT `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `ruamel.yaml `__ | ≥0.18 | `MIT `__ | *Not yet evaluated.* | +-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _DEP/packaging: Packaging (Optional) ******************** Additional Python packages needed for installation package generation. These packages are only needed for developers or on a CI server, thus sub-dependencies are not evaluated further. .. rubric:: Manually Installing Packaging Requirements Use the :file:`build/requirements.txt` file to install all dependencies via ``pip3``. The file will recursively install the mandatory dependencies too. .. tab-set:: .. tab-item:: Linux/MacOS :sync: Linux .. code-block:: bash pip install -U -r build/requirements.txt .. tab-item:: Windows :sync: Windows .. code-block:: powershell pip3 install -U -r build\requirements.txt .. rubric:: Dependency List +----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Package** | **Version** | **License** | **Dependencies** | +============================================================================+==============+==========================================================================================================+======================================================================================================================================================+ | `pyTooling `__ | ≥5.0.0 | `Apache License, 2.0 `__ | *None* | +----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ | `wheel `__ | ≥0.40.0 | `MIT `__ | *Not yet evaluated.* | +----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ .. _DEP/publishing: Publishing (CI-Server only) *************************** Additional Python packages needed for publishing the generated installation package to e.g, PyPI or any equivalent services. These packages are only needed for maintainers or on a CI server, thus sub-dependencies are not evaluated further. .. rubric:: Manually Installing Publishing Requirements Use the :file:`dist/requirements.txt` file to install all dependencies via ``pip3``. The file will recursively install the mandatory dependencies too. .. tab-set:: .. tab-item:: Linux/MacOS :sync: Linux .. code-block:: bash pip install -U -r dist/requirements.txt .. tab-item:: Windows :sync: Windows .. code-block:: powershell pip3 install -U -r dist\requirements.txt .. rubric:: Dependency List +----------------------------------------------------------+--------------+-------------------------------------------------------------------------------------------+----------------------+ | **Package** | **Version** | **License** | **Dependencies** | +==========================================================+==============+===========================================================================================+======================+ | `wheel `__ | ≥0.40.0 | `MIT `__ | *Not yet evaluated.* | +----------------------------------------------------------+--------------+-------------------------------------------------------------------------------------------+----------------------+ | `Twine `__ | ≥4.0.2 | `Apache License, 2.0 `__ | *Not yet evaluated.* | +----------------------------------------------------------+--------------+-------------------------------------------------------------------------------------------+----------------------+