Skip to content

Building Tellurium Spyder

Kiri Choi edited this page Dec 18, 2020 · 24 revisions

Binary installers for Tellurium Spyder are only available for Windows. For all other OSs, it is encouraged to install Tellurium Notebook or install through pip on Anaconda.

Windows version of Tellurium Spyder utilizes WinPython. If you are starting to configure Tellurium Spyder or wish to update WinPython, check Setting Up. If you are simply updating few packages, check Maintenance.

Setting Up

WinPython comes with either full version or bare-bone Dot version for various Python distributions. Dot version is preferred because it is small and clean. We currently support Python 3.7 and 3.8 64-bit. Install corresponding WinPython installations. Copy settings folder to somewhere else and start installing packages listed under Required Packages using pip. Once this is done, follow the instruction below for both Python 3.7 and 3.8 versions of WinPython.

Manual Customizations

After adding specified packages, the following steps must be taken in either Windows or Mac version of Tellurium to ensure compatibility.

Spyder manual customization:

  • Contents of spyder_mod should be placed accordingly. Splash image from spyder/images must be placed in site-packages/spyder/images. These modifications to the Spyder source allow us to put customized splash images, default IPython console imports, and default code in the editor.
  • For import plugins, check out the following page.
  • For opensbml plugins, check out the following page.
  • For rate law plugins, check out the following page.

Required Packages

Following lists the packages we currently bundle with Tellurium Spyder.

  • antimony
  • biopython
  • bioservices
  • bokeh
  • cobra
  • control
  • ipywidgets
  • jupyter
  • jupyterlab
  • libroadrunner
  • lmfit
  • matplotlib
  • matplotlib2tikz
  • netplotlib
  • numpy
  • pandas
  • phrasedml
  • plotly
  • pySBOL
  • python-libcombine
  • python-libnuml
  • python-libsbml
  • python-libsedml
  • rrplugins
  • sbml2matlab
  • scikit-fuzzy
  • scikit-image
  • scikit-learn
  • scikit-optimize
  • scipy
  • seaborn
  • simplesbml
  • spyder
  • spyder-opensbml
  • spyder-ratelaw
  • spyder-teimport
  • statsmodels
  • sympy
  • tellurium

Quick and Dirty Setup

Pretty much what is inside the Tellurium installation folder can be reused for releases. Simply copy the contents except the uninstaller executable to obtain a carbon copy of what was used to build the installer.

Building Binary Installers

Once packages are installed and customized, build binary installers using Inno Setup with ISSI. The .iss script is located here. The script looks for the following folders and files:

  • /settings: Spyder settings folder
  • /tellurium-examples: Folder containing tellurium example files (https://github.com/sys-bio/tellurium/tree/master/examples)
  • /TW-<Python Version>-win64-<Tellurium Version>: Folder containing WinPython
  • favicon.ico: Installer icon
  • installer_small_updated.bmp: Image used in installer
  • Tellurium_splash_installer_updated.bmp: Image used in installer

Make sure to bump the version by modifying this line:

  • #define TelluriumVersion "2.3.3"

Maintenance

In many cases, updating WinPython version is not necessary. If you already set up WinPython, simply update packages you wish to update using pip, re-build the installer and release.

Uploading to SourceForge

Check this page to upload installers to SourceForge website.