Installing OMERO.tables
=======================

OMERO.tables provide a way to efficiently store large, tabular
results within OMERO. If you would like to find out more about
the use of the OMERO.tables API, see
:doc:`OMERO.analysis </developers/analysis>`

Requirements
------------

If you would like to help test the Tables API, you will need the following installed:

-  `HDF5 <http://www.hdfgroup.org/HDF5/release/obtain5.html>`_
-  `NumPy <http://numpy.sourceforge.net/numdoc/HTML/numdoc.htm>`_ points to downloads at
   http://sourceforge.net/projects/numpy/
-  `PyTables <http://pytables.github.com/downloads.html>`_ (Some packages include HDF5)


Unix
----

PyTables is likely available from the package repository of
your Unix-flavor. This includes Mac OS X (homebrew), Debian
and Ubuntu (apt-get), CentOS (yum), and SuSE (yast). Here
we've shown manual instructions using virtualenv.


Manually
~~~~~~~~

::

    $ virtualenv $HOME/virtualenv
    $ uname -o -p
    unknown GNU/Linux
    $ gcc --version
    gcc-4.8.real (Debian 4.8.1-9) 4.8.1
    Copyright (C) 2013 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    $ wget "http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.11.tar.gz"
    $ tar xzf hdf5-1.8.11.tar.gz
    $ cd hdf5-1.8.11
    $ ./configure --prefix=$HOME/virtualenv
    $ make
    $ make install
    $ export LD_LIBRARY_PATH=$HOME/virtualenv/lib
    $ . $HOME/virtualenv/bin/activate
    $ easy_install tables


Checking that it works
~~~~~~~~~~~~~~~~~~~~~~

After that, the following should succeed:

::

    % python
    Python 2.7.5+ (default, Aug  4 2013, 10:07:17)
    [GCC 4.8.1] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import tables
    >>> tables.test()
    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    PyTables version:  2.4.0
    HDF5 version:      1.8.11
    NumPy version:     1.7.1
    Numexpr version:   2.0.1 (not using Intel's VML/MKL)
    Zlib version:      1.2.8 (in Python interpreter)
    LZO version:       2.06 (Aug 12 2011)
    BZIP2 version:     1.0.6 (6-Sept-2010)
    Blosc version:     1.1.3 (2010-11-16)
    Python version:    2.7.5+ (default, Aug  4 2013, 10:07:17)
    [GCC 4.8.1]
    Platform:          linux2-x86_64
    Byte-ordering:     little
    Detected cores:    8
    …

Once the required Python libraries are installed, starting OMERO will
automatically start up the OMERO.tables service; there should be no need
for further configuration or interaction.


Windows
-------

After installing all the Windows prerequisites OMERO.tables should start up
during the OMERO.server startup. It can be verified by looking at the output
of ``omero admin diagnostics``::

    (…)
    Server:     Tables-0                       active (pid = 3176, enabled)

.. seealso::
	:ref:`windows_additional_libraries`