See Entire framework in one flowchart. The components are:
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.
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.