.. _wrappers: ****************** Available Wrappers ****************** CoolProp at its core is a C++ library, but it can be of interest to use this code base from other programming environments. For that reason, wrappers have been constructed for most of the programming languages of technical interest to allow users to seamlessly interface CoolProp and existing codebases. There are also installer packages available on the :ref:`page on installation packages `. Downloads and instructions for each wrapper are included in the page for the wrapper given in the table below. ======================================================= =========================== ===================================================== Target Operating Systems Notes ======================================================= =========================== ===================================================== :ref:`Static library ` linux, OSX, win :ref:`Shared library (DLL) ` linux, OSX, win Included in the Windows :ref:`installer ` :ref:`Python ` linux, OSX, win Wrapper is Cython based :ref:`Octave ` linux, OSX, win Wrapper is SWIG based :ref:`C# ` linux, OSX, win Wrapper is SWIG based :ref:`VB.net ` Windows only Wrapper is SWIG based :ref:`MATLAB ` linux, OSX, win Wrapper is SWIG based :ref:`Java ` linux, OSX, win Wrapper is SWIG based :ref:`R ` linux, OSX, win Wrapper is SWIG based :ref:`Scilab ` linux, OSX, win Wrapper is SWIG based (experimental) :ref:`Julia ` linux, OSX, win `Modelica `_ linux, OSX, win :ref:`PHP ` linux, OSX, win Mostly used on linux :ref:`Javascript ` cross-platform Works in all internet browsers :ref:`Labview ` Windows only :ref:`Maple ` linux, OSX, win CoolProp is included in Maple 2016 :ref:`Mathcad ` Windows only :ref:`SMath Studio ` linux, OSX, win :ref:`Mathematica ` :ref:`FORTRAN ` linux, OSX, win :ref:`EES ` Windows only Included in the Windows :ref:`installer ` :ref:`Microsoft Excel ` Windows only Included in the Windows :ref:`installer ` :ref:`LibreOffice ` Windows, linux :ref:`Delphi & Lazarus ` linux, OSX, win :ref:`iOS (iPhone) ` :ref:`Android ` ======================================================= =========================== ===================================================== .. _wrapper_common_prereqs: Common Wrapper Prerequisites ============================ On all platforms for which CoolProp is supported, the compilation of one of the wrappers requires a few common prerequisites, described here. They are: * git (to interface with the CoolProp repository at https://github.com/CoolProp/CoolProp) * python (to generate the header files and convert them to binary file) * CMake (platform-independent software to generate makefiles) * C++ compiler * 7-zip Windows ------- On Windows, download the newest binary installer for CMake from `CMake downloads `_. Run the installer. Check that at the command prompt you can do something like:: C:\Users\XXXX>cmake -version cmake version 2.8.12.2 For git, your best best is the installer from http://msysgit.github.io/. Check that at the command prompt you can do something like:: C:\Users\XXXX>git --version git version 1.9.4.msysgit.0 For 7-zip, download the installer from http://www.7-zip.org/ . Check that at the command prompt you can do something like:: C:\Users\XXXX>7z 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 Usage: 7z [...] [...] [<@listfiles...>] For python, you should be using `Anaconda/Miniconda `_ for your python installation. Or, you can just install `Miniconda `_, which is sufficient. You will also need to install the ``pip`` and ``six`` packages, which can be achieved by the following at a command prompt: ``conda install pip six``. For the C++ compiler, the options are a bit more complicated. There are multiple (binary incompatible) versions of Visual Studio, as well as G++ ports for windows (MinGW). Unless you are compiling the python wrappers, you can compile with MinGW, so you should obtain the `MinGW installer `_ and run it. You should install all the packages available, and you MUST(!!) install to a path without spaces. ``C:\MinGW`` is recommended as an installation path. Be sure to add the folder ``C:\MinGw`` to your PATH variable. If you want to build 64-bit extensions, you MUST install Professional or later Community versions of Visual Studio, which can be obtained for free if you have a student ID card from Microsoft Dreamspark or just download one of the later Community versions from Microsoft for personal and open-source use. Python/Cython was built with Visual Studio, so depending on your Python version, you will require **exactly** the Visual Studio versions listed in the table below. +---------------------+-------------+-------------------------+ | Visual Studio | Visual C++ | Python Versions | +=====================+=============+=========================+ | 2008 Professional | 9.0 | 2.6, 2.7, 3.0, 3.1, 3.2 | +---------------------+-------------+-------------------------+ | 2010 Professional | 10.0 | 3.3, 3.4 | +---------------------+-------------+-------------------------+ | 2015 Professional | 14.0 | 3.5, 3.6, 3.7, 3.8 | | or Community | | | +---------------------+-------------+-------------------------+ Otherwise, for wrappers other than Python, you can select a Visual Studio version freely. All four compilers should co-exist happily on the path, so you should be fine installing all four, but they are rather sizable installs. Be aware that downloads of VS2008 and 2010 are getting harder and harder to find, so this may influence your Python version of choice. See this `WindowsCompilers `_ page at wiki.python.org for more info on the Windows C++ compilers needed for the various Python/Cython versions and where to download them (most for free). Linux ----- On debian based linux distributions (ubuntu, etc.), you can simply do:: sudo apt-get install cmake git g++ p7zip libpython-dev although ``git`` is probably already packaged with your operating system; ``g++`` probably isn't. Python is (probably) included in your distribution, but the headers aren't. For python, you need the ``six`` package, a ``pip install six`` should do it. OSX --- OSX should come with a c++ compiler (clang), for git and cmake your best bet is `Homebrew `_. With Homebrew installed, you can just do:: brew install cmake git p7zip OSX includes a python version, but you should be using `Anaconda/Miniconda `_ for your python installation. Or, you can just install `Miniconda `_, which is sufficient. For python, you need the ``six`` package, a ``pip install six`` should do it. If you have never done any command-line compilation before on OSX, chances are that you do not have the utilities needed. Thus you need to first install Xcode: see the description on the page http://guide.macports.org/#installing.xcode . After installing, you need to accept the license by running the following command in the Terminal:: xcodebuild -license and explicitly typing "agree" before closing. Then you can use the compiler from the command line. .. toctree:: :hidden: Android/index.rst Octave/index.rst Csharp/index.rst MATLAB/index.rst MathCAD/index.rst FORTRAN/index.rst PHP/index.rst EES/index.rst iOS/index.rst Java/index.rst Javascript/index.rst Julia/index.rst Labview/index.rst Python/index.rst LibreOffice/index.rst Excel/index.rst Maple/index.rst Mathematica/index.rst Scilab/index.rst SMath/index.rst StaticLibrary/index.rst SharedLibrary/index.rst DelphiLazarus/index.rst VB.net/index.rst R/index.rst Installers/index.rst