Dependencies

Libraries.io

Vulnerabilities Summary

Libraries.io status for latest release

Snyk Vulnerabilities for GitHub Repo

pyTooling Package (Mandatory)

Manually Installing Package Requirements

Use the requirements.txt file to install all dependencies via pip3 or install the package directly from PyPI (see Installation/Updates).

pip3 install -U -r requirements.txt
pip install -U -r requirements.txt

Dependency List

When installed as pyTooling:

Mandatory dependencies of the pyTooling package.
Package Version License Dependencies

No dependencies

When installed as pyTooling[packaging]:

Dependencies added by the packaging extra.
Package Version License Dependencies

setuptools

≥83.0

MIT License

none

When installed as pyTooling[terminal]:

Dependencies added by the terminal extra.
Package Version License Dependencies

colorama

≥0.4

BSD 3-Clause Revised License

none

When installed as pyTooling[yaml]:

Dependencies added by the yaml extra.
Package Version License Dependencies

ruamel.yaml

≥0.19

MIT License

none

When installed as pyTooling[diagram]:

Package

Version

License

Dependencies

matplotlib

≥3.10

PSF-2.0 (matplotlib license)

contourpy, cycler, fonttools, kiwisolver, numpy, packaging, pillow, pyparsing, python-dateutil

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.

Manually Installing Test Requirements

Use the tests/requirements.txt file to install all dependencies via pip3. The file will recursively install the mandatory dependencies too.

pip install -U -r tests/requirements.txt
pip3 install -U -r tests\requirements.txt

Dependency List - Unit Testing

Dependencies for unit testing, coverage and type checking.
Package Version License Dependencies

aiohttp

≥3.12

Apache License 2.0

colorama

≥0.4

BSD 3-Clause Revised License

none

Coverage

≥7.15

Apache License 2.0

none

matplotlib

≥3.10

Python Software Foundation License 2.0

  • contourpy ≥1.0 (BSD 3-Clause Revised License)

  • cycler ≥0.10 (Copyright (c) 2015, matplotlib project All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the matplotlib project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.)

  • fonttools ≥4.28 (MIT License)

  • kiwisolver ≥1.3 (========================= The Kiwi licensing terms ========================= Kiwi is licensed under the terms of the Modified BSD License (also known as New or Revised BSD), as follows: Copyright (c) 2013-2026, Nucleic Development Team All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the Nucleic Development Team nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. About Kiwi ———- Chris Colbert began the Kiwi project in December 2013 in an effort to create a blisteringly fast UI constraint solver. Chris is still the project lead. The Nucleic Development Team is the set of all contributors to the Nucleic project and its subprojects. The core team that coordinates development on GitHub can be found here: http://github.com/nucleic. The current team consists of: * Chris Colbert Our Copyright Policy ——————– Nucleic uses a shared copyright model. Each contributor maintains copyright over their contributions to Nucleic. But, it is important to note that these contributions are typically only changes to the repositories. Thus, the Nucleic source code, in its entirety is not the copyright of any single person or institution. Instead, it is the collective copyright of the entire Nucleic Development Team. If individual contributors want to maintain a record of what changes/contributions they have specific copyright on, they should indicate their copyright in the commit message of the change, when they commit the change to one of the Nucleic repositories. With this in mind, the following banner should be used in any source code file to indicate the copyright and license terms: #—————————————————————————— # Copyright (c) 2013-2026, Nucleic Development Team. # # Distributed under the terms of the Modified BSD License. # # The full license is in the file LICENSE, distributed with this software. #——————————————————————————)

  • numpy ≥1.25 (BSD 3-Clause Revised License, BSD Zero Clause License, MIT License, zlib License, Creative Commons Zero v1.0 Universal)

  • packaging ≥20.0 (Apache License 2.0, BSD 2-Clause Simplified License)

  • pillow ≥9 (MIT-CMU)

  • pyparsing ≥3 (MIT License)

  • python-dateutil ≥2.7 (Apache License 2.0)

pytest

≥9.1

MIT License

pytest-cov

≥7.1

MIT License

requests

≥2.32

Apache License 2.0

ruamel.yaml

≥0.19

MIT License

none

setuptools

≥83.0

MIT License

none

sphinx

≥9.1

BSD 2-Clause Simplified License

trove-classifiers

≥2025.1

unknown

not evaluated

xmlschema

≥4.3

MIT License

Unit Testing with Benchmarking (Optional)

Further Python packages are needed for benchmarking. These packages are only needed for developers or on a CI server,

Manually Installing Benchmarking Requirements

Use the tests/benchmark/requirements.txt file to install all dependencies via pip3. The file will recursively install the mandatory dependencies too.

pip install -U -r tests/benchmark/requirements.txt
pip3 install -U -r tests\benchmark\requirements.txt

Dependency List - With Benchmark Testing

Dependencies for benchmark testing.
Package Version License Dependencies

Coverage

≥7.15

Apache License 2.0

none

pytest

≥9.1

MIT License

pytest-benchmark

≥4.0

BSD 2-Clause Simplified License

pytest-cov

≥7.1

MIT License

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,

Manually Installing Benchmarking Requirements

Use the tests/performance/requirements.txt file to install all dependencies via pip3. The file will recursively install the mandatory dependencies too.

pip install -U -r tests/performance/requirements.txt
pip3 install -U -r tests\performance\requirements.txt

Dependency List - With Performance Testing

Dependencies for performance testing.
Package Version License Dependencies

anytree

≥2.13

Apache License 2.0

none

Coverage

≥7.15

Apache License 2.0

none

doubly-py-linked-list

≥1.1

BSD 3-Clause Revised License

none

igraph

≥0.11

GNU General Public License v2.0 or later

itertree

≥1.1

MIT License

none

networkx

≥3.4

BSD 3-Clause Revised License

none

pytest

≥9.1

MIT License

pytest-cov

≥7.1

MIT License

treelib

≥1.7

Apache License 2.0

Sphinx Documentation (Optional)

Additional Python packages needed for documentation generation. These packages are only needed for developers or on a CI server,

Manually Installing Documentation Requirements

Use the doc/requirements.txt file to install all dependencies via pip3. The file will recursively install the mandatory dependencies too.

pip install -U -r doc/requirements.txt
pip3 install -U -r doc\requirements.txt

Dependency List

Dependencies for building this documentation.
Package Version License Dependencies

aiohttp

≥3.14

Apache License 2.0

autoapi

≥2.0

Apache License 2.0

none

colorama

≥0.4

BSD 3-Clause Revised License

none

docutils_stubs

≥0.0

The Unlicense

packaging

≥25.0

Apache License 2.0, BSD 2-Clause Simplified License

none

requests

≥2.32

Apache License 2.0

ruamel.yaml

≥0.19

MIT License

none

setuptools

≥83.0

MIT License

none

sphinx

≥9.1

BSD 2-Clause Simplified License

sphinx_autodoc_typehints

≥3.12

MIT License

sphinx-copybutton

≥0.5

MIT License

sphinx_design

≥0.7

MIT License

sphinx_reports

≥0.11

Apache License 2.0

sphinx_rtd_theme

≥3.1

MIT License

sphinxcontrib-mermaid

≥2.1

BSD 2-Clause Simplified License

xmlschema

≥4.3

MIT License

Packaging (Optional)

Additional Python packages needed for installation package generation. These packages are only needed for developers or on a CI server,

Manually Installing Packaging Requirements

Install the packaging extra with pip3, which installs the mandatory dependencies too.

pip install -U pyTooling[packaging]
pip3 install -U pyTooling[packaging]

Dependency List

Dependencies for generating an installation package.
Package Version License Dependencies

setuptools

≥83.0

MIT License

none

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.

Manually Installing Publishing Requirements

Use the dist/requirements.txt file to install all dependencies via pip3. The file will recursively install the mandatory dependencies too.

pip install -U -r dist/requirements.txt
pip3 install -U -r dist\requirements.txt

Dependency List

Dependencies for publishing the package.
Package Version License Dependencies

twine

≥6.2

Apache License 2.0

wheel

≥0.47

MIT License