Framework components and required software

Framework components

See Entire framework in one flowchart. The components are:

  • Model/computational libraries (Python, C++, etc)
  • Build systems, testing, and system documentation (Python, Sphinx, Matplotlib, LaTeX) (Not shown in the flowchart.)
  • Interfaces to data sources and systems (Python)
  • Framework to easily produce technical reports and automatize user’s workflow (Python, Sphinx, LaTeX)

Python is the unifying framework, but the model libraries can be written in any language as long as there is a way to programmatically send the requests and retrieve the results.

All libraries are invoked from Python scripts.

Interfaces to systems and data sources are written in Python. We can easily reformat the data to suit our purposes. SQL queries can be inserted in Python scripts, see Input/output examples: csv files and database. It is easy to convert XML files to Python data structures (dictionaries) and vice-versa.

We write our documentation in Sphinx, thus taking advantage of the power of Python as well as the LaTeX math rendering. Alternatively, we can produce LaTeX/PDF documents.

Our framework is, in principle, platform independent - as long as there is a g++ compiler and a Python distribution for that platform. We tested our framework on Linux, Mac OSX, and Windows. More details are given in Setup and compliance with IT policies. Some functionality is platform-specific, such as running Excel-addins from Python.

Required software and tools

No proprietary or commercial software other than what is required to talk to existing systems and data sources (outside our framework), such as Excel.

Our framework is built using well-tested, widely-used open source tools and software, see Setup and compliance with IT policies.

In particular we do not need any costly, poor quality technologies such as Microsoft Visual Studio.

Table Of Contents

Previous topic

Use cases: Excel/GUI vs scripting

Next topic

Case study: pricing and structuring

This Page