Initializing help system before first use

Python Developer Prerequisites

The paragraph details the conditions you must fulfill to be able to use the Insight Python module.

Users creating a Python application for Insight should have experience developing Python applications. For developing optimization models, you should have experience with an optimization package like the Xpress Optimizer Python API. The Xpress Solver Python API is documented separately here and is available through PyPI (pip) and Conda.

This guide assumes you have FICO® Xpress Insight and FICO® Xpress Workbench installed locally.
You should also:
  • Be familiar with Python (at least able to read simple models.)
  • Be familiar with HTML and XML. View Definition Language (VDL) is largely composed of a set of HTML extensions.
  • Have some experience of programming and the usual edit-compile-run development cycles.

More advanced use of Xpress Insight will benefit from a good knowledge of JavaScript, and further experience with Python.

Overview

The interaction between Xpress Insight and Python and how the data model is presented to the end user, can be customized using the FICO® Xpress Insight View Definition Language (VDL). The FICO® Xpress Workbench development environment comes with the View Designer, a code-free, pure drag and drop capable, wizard configuration-based experience to deploy any analytic or optimization model into a fully functional Xpress Insight application. An example of how to create and edit these VDL files in Xpress Workbench is described later in this guide.

If you are developing locally on your machine, you should have a working installation of Python 3. The supported Python versions are 3.7.x and above.

You need to install FICO® Xpress v8.11 (including Xpress Workbench) and Xpress Insight. Both can make use of the same Python installation.

If you plan to deploy your models to a separate server running Xpress Insight, make sure that the same Python version is installed on the machine running the Xpress Insight Execution Workers.

Software

The Insight Python module requires you have the following software installed:
  • FICO® Xpress v8.11 (which includes Xpress Workbench)
  • Xpress Insight v4.54
The module requires the conversion between Xpress Insight data types and pandas and NumPy types. Dependencies are checked during installation and may be updated in the future.
  • Pandas versions supported in Xpress Insight 4.53 are 1.0.x to 1.1.x
  • NumPy versions supported in Xpress Insight 4.53 are 1.8.x to 1.17.x

They will typically be hosted on your own on-premises infrastructure.

Xpress Insight does not include Python binaries. The supported Python versions are 3.7.x and above.
  • Windows users should get the binaries from www.python.org.
    • Advanced users who want to use multiple Python versions on a single machine, should download and install the Anaconda Python distribution from www.anaconda.com. Advanced users can also install the binaries from the Python or Anaconda website, or via homebrew.
  • Recent versions of Mac OS should have Python 3 pre-installed.
Windows users who are new to Python should install a Python version from www.python.org to make sure there is only a single version on their system. The Python installer will ask whether Python should be added to the system environment. Add Python as a system environment variable to ensure that both Xpress Workbench and the Xpress Insight Execution Worker can find the Python installation. Xpress Insight executes scenarios by sending jobs to an execution service running on an execution worker.
Note It is sufficient to add Python to the user environment variables (either in PATH or under PYTHON_EXE) to run Python from within Xpress Workbench, but Xpress Insight requires it is added to the system environment.

Useful Links

The following download links will be useful when following this guide.

Software