.. Algebraix® Technology Core Library documentation.
$Id: README.rst 23069 2015-09-29 16:28:32Z gfiedler $
Copyright Algebraix® Data Corporation 2015 - $Date: 2015-09-29 11:28:32 -0500 (Tue, 29 Sep 2015) $
This file is part of algebraixlib <http://github.com/AlgebraixData/algebraixlib>.
algebraixlib is free software: you can redistribute it and/or modify it under the terms of
version 3 of the GNU Lesser General Public License as published by the Free Software Foundation.
algebraixlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with algebraixlib.
If not, see <http://www.gnu.org/licenses/>.
This file is not included via toctree. Mark it as orphan to suppress the warning that it isn't
included in any toctree.
What Is It?
``algebraixlib`` is a library that provides constructs and facilities to harness the fundamentals
of Data Algebra™. Data Algebra consists of mathematical constructs that can represent all data, no
matter how it is structured, and the operations on that data. With this, all the advantages of a
mathematically rigorous modeling can be unleashed. See also
`A Beginner's Introduction to Data Algebra`_.
Download the Data Algebra™ tutorial books here:
Getting Started -- Data Algebra™ software
#. Make sure you have the required versions of Python and Jupyter Notebook installed (see
#. Install the ``algebraixlib`` library (see `How to Install`_ below).
#. Download the `examples`_ from our `GitHub`_ repository.
#. Try the Hello_World.ipynb example first.
(Alternatively, you can also look at a static version of the notebooks in `nbviewer`_; see the
README file in our `examples`_ directory for direct links. For this you don't need to install or
download anything. You can also start with the simpler hello_world.py. However, you'll lose out
on some math and need to read up on it in our documentation at `Read the Docs`_. )
Data Algebra™ Documentation and Support
* Find documentation at `Read the Docs`_.
* Find the ``pip`` installer on `PyPI`_.
* Find the source code, the bugtracker and contribute on `GitHub`_.
* Find tutorials and example code in the `examples`_ directory on GitHub.
* Post questions about algebraixlib on `Stack Overflow`_ using the tag `[algebraixlib]`_.
* Post questions about the mathematics of data algebra on `math.stackexchange`_ using the tag
* Contact us by `email`_.
See also our `GitHub project page`_. In addition, there is a book forthcoming about data algebra.
* `Python`_: Tested with 3.4.3. Likely to run with Python 3.4.x and later. It may run with earlier
Python 3 versions, but you may run into issues. Does not run with any version of Python before
* For installing and using multiple versions of Python on the same machine, see
`Official multiple python versions on the same machine? (Stack Overflow)`_,
`How to install both Python 2.x and Python 3.x in Windows 7 (Stack Overflow)`_ and
`A Python Launcher For Windows (Python Insider)`_.
* `Jupyter Notebook`_: Tested with Jupyter 4.0 (used in the Jupyter notebook tutorials and
* See `Jupyter Installation`_ for instructions how to install the Jupyter notebook
(``pip install jupyter``).
* If you don't want Jupyter in your system environment, you can install it into a virtual
environment (see `Creation of virtual environments`_).
How to Install
If you already have Python installed and are familiar with installing packages, you can install
``algebraixlib`` with ``pip``::
> pip install algebraixlib
Additional user permissions may be necessary to complete the installation. In such a situation,
other options include installing the package for a single user (in the user's home directory)::
> pip install algebraixlib --user <username>
or in a virtual environment (see `Creation of virtual environments`_).
You can also manually download ``algebraixlib`` from `GitHub`_ or `PyPI`_. To install from a
download, unpack it and run the following command from the top-level source directory (the
directory that contains the file setup.py)::
> python setup.py install
(The same considerations about permissions apply.)
The unit tests require the following libraries to be installed:
To execute the unit tests, download the file `runtests.py`_ and the directory `test`_ into any
location on your system, then run `runtests.py`_::
> mkdir algebraixlib-test
> cd algebraixlib-test
> svn export https://github.com/AlgebraixData/algebraixlib/trunk/runtests.py
> svn export https://github.com/AlgebraixData/algebraixlib/trunk/test
> python runtests.py
The documentation build requires the following libraries be installed:
* `Sphinx`_ (1.3 or later)
To run a documentation build, you need a local working copy of our complete `GitHub`_ repository.
Then run `build.py`_ in the directory `docs`_::
> mkdir algebraixlib
> cd algebraixlib
> svn export https://github.com/AlgebraixData/algebraixlib/trunk
> cd trunk/docs
> python build.py
Copyright(c) 2015 Algebraix® Data Corporation.
``algebraixlib`` is free software: you can redistribute it and/or modify it under the terms of
`version 3 of the GNU Lesser General Public License`_ as published by the
`Free Software Foundation`_. A copy of the GNU Lesser General Public License is published along
with ``algebraixlib`` on `GitHub`_. Otherwise, see `GNU licenses`_.
``algebraixlib`` is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
.. _A Beginner's Introduction to Data Algebra:
.. _A Python Launcher For Windows (Python Insider):
.. _Creation of virtual environments:
.. _Free Software Foundation:
.. _How to install both Python 2.x and Python 3.x in Windows 7 (Stack Overflow):
.. _GitHub project page:
.. _GNU Licenses:
.. _Jupyter Installation:
.. _Jupyter Notebook:
.. _Official multiple python versions on the same machine? (Stack Overflow):
.. _Read the Docs:
.. _Stack Overflow:
.. _Version 3 of the GNU Lesser General Public License:
.. |logo| image:: https://raw.githubusercontent.com/AlgebraixData/algebraixlib/gh-pages/ALGBX-Logo-Color-150DPI.png
.. _logo: http://www.algebraixdata.com/technology/#algebraix-library
TODO: Brief introduction on what you do with files - including link to relevant help section.