OpenCOR and its Python bindings use various third-party libraries, all of which are listed below, together with the type of license(s) under which they are released, if any.
CellML API: an interface to manipulate and process CellML documents.
Location: [OpenCOR]/src/plugins/thirdParty/CellMLAPI/
.
Licensing: MPL v1.1, GPL v2.0 (or later) and LGPL v2.1 (or later).
diff-match-patch: a set of libraries that offer robust algorithms to perform the operations required for synchronising plain text.
Location: [OpenCOR]/src/3rdparty/diff_match_patch/
.
Licensing: Apache v2.0.
Note: we use an STL version of that library.
ICU 56.1: a library that provides Unicode and Globalization support for software applications.
Location: [OpenCOR]/src/3rdparty/linux/icu/
.
Licensing: Unicode.
libBioSignalML: a library for reading and writing BioSignalML documents.
Licensing: none.
libgit2 1.5.0: a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API.
Location: [OpenCOR]/src/plugins/thirdParty/libgit2/
.
Licensing: GPL v2.0 with linking exception.
libNuML 1.1.6: a library for reading and writing NuML models.
Location: [OpenCOR]/src/plugins/thirdParty/libNuML/
.
Licensing: LGPL v2.1 (or later).
libSBML 5.19.0: a programming library to help you read, write, manipulate, translate and validate SBML files and data streams.
Location: [OpenCOR]/src/plugins/thirdParty/libSBML/
.
Licensing: LGPL v2.1 (or later).
libSEDML 2.0.32: a library for reading and writing SED-ML files.
Location: [OpenCOR]/src/plugins/thirdParty/libSEDML/
.
Licensing: BSD 2-Clause.
LibXDiff 0.23: a library that implements basic and yet complete functionalities to create file differences/patches to both binary and text files.
Location: [OpenCOR]/src/plugins/thirdParty/LibXDiff/
.
Licensing: LGPL v2.1.
LLVM+Clang 14.0.6: a collection of modular and reusable compiler and toolchain technologies.
Location: [OpenCOR]/src/plugins/thirdParty/LLVMClang/
.
Licensing: Apache v2.0 with LLVM Exceptions.
Mesa 22.2.2: a system for rendering interactive 3D graphics.
Location: [OpenCOR]/src/3rdparty/linux/mesa/
.
Licensing: MIT.
OAuth 2.0 for Qt 1.0.2: a library that encapsulates the OAuth 1.0 and 2.0 client authentication flows, and the sending of authenticated HTTP requests.
Location: [OpenCOR]/src/plugins/thirdParty/OAuth/
.
Licensing: BSD 2-Clause.
OpenSSL 1.1.1s: a toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS) protocols, as well as a full-strength general purpose cryptography library.
Location: [OpenCOR]/src/plugins/thirdParty/OpenSSL/
.
Licensing: OpenSSL and SSLeay, which are both BSD-style licenses.
Oxygen 5.98.0: icons used in various parts of OpenCOR.
Location: [OpenCOR]/res/oxygen/
.
Licensing: LGPL v3.0.
Printable world flags: flag icons used in our Language menu.
Location: [OpenCOR]/res/flags/
.
Licensing: none.
QScintilla 2.13.3: a Qt port of the Scintilla editing component.
Location: [OpenCOR]/src/plugins/thirdParty/QScintilla/
.
Licensing: GPL v3.0.
QtSingleApplication: a class that ensures that only one instance of the GUI version of OpenCOR can be run at any given time.
Location: [OpenCOR]/src/3rdparty/QtSingleApplication/
.
Licensing: LGPL v2.1 (or later).
QtWebKit 5.212.0 Alpha 3: a Qt port of WebKit, a web browser engine.
Location: [OpenCOR]/src/3rdparty/QtWebKit/
.
Licensing: LGPL v2.1.
Qwt 6.2.0: a set of widgets and utility classes primarily aimed at programs with a technical background.
Location: [OpenCOR]/src/plugins/thirdParty/Qwt/
.
Licensing: Qwt License v1.0 (a slightly less restricive version of LGPL v2.1) and LGPL v2.1 for the MathML text engine, which is based on the QtMmlWidget code.
Note: we have contributed some code to the MathML renderer, but it has yet to be fully incorporated in the Qwt project. So, in the meantime, we use our version of the MathML renderer.
SUNDIALS 6.4.1: a SUite of Non-linear and DIfferential/ALgebraic equation Solvers.
Location: [OpenCOR]/src/plugins/thirdParty/SUNDIALS/
.
Licensing: BSD 3-Clause.
web-xslt: XSLT and JavaScript code intended mostly for manipulating MathML and OpenMath.
Location: [OpenCOR]/src/plugins/miscellaneous/Core/res/web-xslt/
.
Licensing: W3C, Apache v2.0, MIT, MPL v1.1 or MPL v2.0.
Note: we only use (a slightly improved version of) ctopff.xsl
to convert Content MathML to Presentation MathML.
Zinc 3.1.2: a library for creating software to interact with and visualise complex finite element models and image-based fields.
Location: [OpenCOR]/src/plugins/thirdParty/Zinc/
.
Licensing: MPL v2.0.
zlib 1.2.13: a massively spiffy yet delicately unobtrusive compression library.
Location: [OpenCOR]/src/plugins/thirdParty/zlib/
.
Licensing: Zlib.
IPython Kernel 6.29.2: the IPython kernel for Jupyter.
Licensing: BSD 2-Clause.
ipympl 0.9.3: enables using the interactive features of Matplotlib in Jupyter Notebooks, Jupyter Lab, Google Colab, VSCode notebooks.
Licensing: BSD 2-Clause.
IPython 8.21.0: a command shell that provides a rich architecture for interactive computing.
Licensing: BSD 2-Clause.
ipywidgets 8.1.1: interactive HTML widgets for Jupyter notebooks and the IPython kernel.
Licensing: BSD 2-Clause.
Jupyter Client 6.6.3: a package that provides the Python API for starting, managing and communicating with Jupyter kernels.
Licensing: BSD 2-Clause.
Jupyter Console 6.6.3: an IPython-like terminal frontend for Jupyter kernels in any language.
Licensing: BSD 2-Clause.
JupyterLab 4.0.12: an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook and Architecture.
Licensing: BSD 2-Clause.
lxml 5.1.0: a Pythonic binding for the C libraries libxml2 and libxslt.
Licensing: BSD 2-Clause.
Matplotlib 3.8.2: a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms.
Licensing: Matplotlib License.
nbconvert 7.14.2: a tool that converts notebooks to various other formats via Jinja templates.
Licensing: BSD 2-Clause.
Jupyter Notebook 7.0.7: a web application that allows you to create and share documents that contain live code, equations, visualizations, and explanatory text.
Licensing: BSD 2-Clause.
NumPy 1.126.4: the fundamental package for scientific computing with Python.
Licensing: BSD 2-Clause.
Python 3.12.2: a programming language that lets you work quickly and integrate systems more effectively.
Location: [OpenCOR]/src/plugins/thirdParty/Python/
.
Licensing: PSF v2.0.
PythonQt 3.4.2: a dynamic Python binding for the Qt framework.
Location: [OpenCOR]/src/plugins/thirdParty/PythonQt/
.
Licensing: LGPL v2.1.
qimage2ndarray 1.10.0: a small Python extension for quickly converting between QImage and numpy.ndarray (in both directions).
Licensing: BSD 2-Clause.
QtConsole 5.5.1: a rich Qt-based console for working with Jupyter kernels, supporting rich media output, session export, and more.
Licensing: BSD 2-Clause.
QtPy 2.4.1: a a small abstraction layer that lets you write applications using a single API call to either PyQt or PySide.
Licensing: BSD 2-Clause.
SciPy 1.12.0: a Python-based ecosystem of open-source software for mathematics, science and engineering.
Licensing: BSD 3-Clause.
Sphinx 7.2.6: a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText sources).
Licensing: BSD 2-Clause.
traitlets 5.14.1: a configuration system for Python applications.
Licensing: BSD 2-Clause.