Dependencies

Spine Toolbox requires Python 3.6 or Python 3.7. Python 3.8 is not supported yet.

Spine Toolbox uses code from packages and/or projects listed in the table below. Required packages must be installed for the application to start. Users can choose the SQL dialect API (pymysql, pyodbc psycopg2, and cx_Oracle) they want to use. These can be installed in Spine Toolbox when needed. If you want to deploy the application by using the provided setup.py file, you need to install cx_Freeze package (6.0b1 version or newer is recommended). All version numbers are minimum versions except for pyside2, where the version should be 5.14. Version 5.15 is not supported (yet).

Required packages

The following packages are installed when spinetoolbox package is installed via setup.py or requirements.txt

Package name Version License
pyside2 >=5.14, <5.15 LGPL
datapackage 1.2.3 MIT
jupyter-client <5.3.2 BSD
qtconsole 4.3.1 BSD
sqlalchemy 1.2.6 MIT
spinedb_api 0.1.15 LGPL
spine_engine 0.4.0 LGPL
openpyxl 2.5.0 MIT/Expat
numpy 1.15.1 BSD
matplotlib 3.0 BSD
scipy 1.1.0 BSD
networkx 2.2 BSD
pymysql 0.9.2 MIT
pyodbc 4.0.23 MIT
psycopg2 2.7.4 LGPL
cx_Oracle 6.3.1 BSD
python-dateutil 2.8.0 PSF
pandas 0.24.0 BSD
jsonschema 2.6 MIT
gdx2py 2.0.4 MIT

Developer packages

The developer packages are available from dev-requirements.txt. Sphinx and sphinx_rtd_theme packages are needed for building the user guide. Black is used for code formatting while pylint does linting. Pre-commit hook enables automatic code formatting at git commit.

Package name Version License
black 19.3b0 MIT
pre-commit 1.16.1 MIT
pylint 2.3.0 GPL
sphinx 1.7.5 BSD
sphinx_rtd_theme 0.4.0 MIT
recommonmark 0.5.0 MIT
sphinx-autoapi 1.1.0 MIT